View a markdown version of this page

为 MLflow 应用程序设置 IAM 权限 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 MLflow 应用程序设置 IAM 权限

您必须配置必要的 IAM 服务角色才能开始使用 Amazon A SageMaker I 中的 MLflow 应用程序。

如果您创建了一个新的 Amazon SageMaker AI 域来访问您在 Studio 中的实验,则可以在域名设置期间配置必要的 IAM 权限。有关更多信息,请参阅 在创建新域时设置 MLflow IAM 权限

要使用 IAM 管理控制台设置权限,请参阅 在 IAM 管理控制台中创建必要的 IAM 服务角色

您必须为 sagemaker-mlflow 操作配置授权控制。您可以选择定义更精细的授权控制来管理特定于操作 MLflow的权限。有关更多信息,请参阅 创建针对特定操作的授权控制

在创建新域时设置 MLflow IAM 权限

在为您的组织设置新的 SageMaker Amazon AI 域时,您可以通过用户和机器学习活动设置为您的域服务角色配置 IAM 权限。

  1. 使用 SageMaker AI 控制台设置新域。在设置 SageMaker AI 域页面上,选择为组织设置。有关更多信息,请参阅 使用管理控制台进行自定义设置

  2. 设置用户和机器学习活动时,请从以下机器学习活动中进行选择 MLflow:使用 MLflow管理 MLflow 应用程序 AWS 服务所需的访问权限 MLflow。有关这些活动的更多信息,请参阅本步骤后面的说明。

  3. 完成新域的设置和创建。

Amazon SageMaker 角色管理器中提供了以下 MLflow 机器学习活动:

  • 使用 MLflow:此 ML 活动授予域服务角色调用 MLflow REST 以管理 APIs 中的实验、运行和模型的权限 MLflow。

  • 管理 MLflow 应用程序:此机器学习活动向域服务角色授予创建、更新和删除 MLflow 应用程序的权限。

  • MLflow 应用程序 AWS 服务 所需的访问权限:此机器学习活动提供访问 Amazon S3 和 A SageMaker I 模型注册表所需的域服务角色权限。这样就可以将域服务角色用作跟踪服务器服务角色。

有关角色管理器中 ML 活动的更多信息,请参阅 机器学习活动参考

在 IAM 管理控制台中创建必要的 IAM 服务角色

如果您没有创建或更新您的域名服务角色,则必须在 IAM 控制台中创建以下服务角色才能创建和使用 MLflow 应用程序:

  • MLflow 应用程序可用来访问 A SageMaker I 资源的应用程序 IAM 服务角色

  • A SageMaker I IAM 服务角色, SageMaker AI 可用来创建和管理 MLflow 资源

MLflow 应用程序 IAM 服务角色的 IAM 策略

MLflow 应用程序 IAM 服务角色用于访问其所需的资源,例如 Amazon S3 和 SageMaker 模型注册表。

创建应用程序 IAM 服务角色时,请使用以下 IAM 信任策略:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

在 IAM 控制台中,将以下权限策略添加到您的应用程序服务角色:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "s3:List*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackageGroup" ], "Resource": "*" } ] }

A SageMaker I IAM 服务角色的 IAM 策略

A SageMaker I 服务角色由访问 MLflow 应用程序的客户端使用,需要调用 MLflow REST 的权限 APIs。A SageMaker I 服务角色还需要 SageMaker API 权限才能创建、查看、更新和删除应用程序。

您可以创建新角色或更新现有角色。A SageMaker I 服务角色需要以下策略:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker-mlflow:*", "sagemaker:CreateMlflowTrackingServer", "sagemaker:ListMlflowTrackingServers", "sagemaker:UpdateMlflowTrackingServer", "sagemaker:DeleteMlflowTrackingServer", "sagemaker:StartMlflowTrackingServer", "sagemaker:StopMlflowTrackingServer", "sagemaker:CreatePresignedMlflowTrackingServerUrl" ], "Resource": "*" } ] }

创建针对特定操作的授权控制

您必须为应用程序设置授权控制sagemaker-mlflow,并且可以选择配置特定于操作的授权控制,以管理用户在应用程序上拥有的更精细的 MLflow MLflow 权限。

注意

以下步骤假设您已有可用的 MLflow 应用程序的 ARN。

MLflow 应用程序支持的数据平面 IAM 操作

授权访问控制支持以下 SageMaker AI MLflow 操作:

  • sagemaker:CallMlflowAppApi