

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

# 为 mlFlow 应用程序设置 IAM 权限
<a name="mlflow-app-setup-prerequisites-iam"></a>

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

如果您创建了一个新的 Amazon SageMaker AI 域来访问您在 Studio 中的实验，则可以在域名设置期间配置必要的 IAM 权限。有关更多信息，请参阅 [创建新域时设置 MLflow IAM 权限](mlflow-create-tracking-server-iam.md#mlflow-create-tracking-server-iam-role-manager)。

要使用 IAM 管理控制台设置权限，请参阅 [在 IAM 管理控制台中创建必要的 IAM 服务角色](mlflow-create-tracking-server-iam.md#mlflow-create-tracking-server-iam-service-roles)。

您必须为 `sagemaker-mlflow` 操作配置授权控制。您可以选择定义更精细的授权控制，以管理特定于 MLflow 操作的权限。有关更多信息，请参阅 [创建针对特定操作的授权控制](#mlflow-create-app-update-iam-actions)。

## 创建新域时设置 MLflow IAM 权限
<a name="mlflow-create-app-iam-role-manager"></a>

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

1. 使用 SageMaker AI 控制台设置新域。在**设置 SageMaker AI 域**页面上，选择**为组织设置**。有关更多信息，请参阅 [使用管理控制台进行自定义设置](onboard-custom.md#onboard-custom-instructions-console)。

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

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

亚马逊 SageMaker 角色管理器中提供了以下 mlFlow 机器学习活动：
+ **使用 MLflow**：此 ML 活动授予领域服务角色调用 MLflow REST API 的权限，以便在 MLflow 中管理实验、运行和模型。
+ **管理 mlFlow 应用程序**：此机器学习活动向域服务角色授予创建、更新和删除 mlFlow 应用程序的权限。
+ **mlFlow 应用程序所需的访问**权限：此机器学习活动提供访问 Amazon S3 和 A SageMaker I 模型注册表所需的域服务角色权限。 AWS 服务 这样就可以将域服务角色用作跟踪服务器服务角色。

有关角色管理器中 ML 活动的更多信息，请参阅 [机器学习活动参考](role-manager-ml-activities.md)。

## 在 IAM 管理控制台中创建必要的 IAM 服务角色
<a name="mlflow-create-app-iam-service-roles"></a>

如果您没有创建或更新您的域名服务角色，则必须在 IAM 控制台中创建以下服务角色才能创建和使用 mlFlow 应用程序：
+ 一个 mlFlow 应用程序 IAM 服务角色，应用程序可以使用它来访问 SageMaker AI 资源
+  SageMaker 人工智能 IAM 服务角色， SageMaker 人工智能可以使用它来创建和管理 mlFlow 资源

### 适用于 mlFlow 应用程序 IAM 服务角色的 IAM 策略
<a name="mlflow-create-app-iam-service-roles-ts"></a>

该应用程序使用 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 name="mlflow-create-app-iam-service-roles-sm"></a>

 SageMaker AI 服务角色由访问 mlFlow 应用程序的客户端使用，需要调用 mlFlow REST API 的权限。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": "*"        
        }        
    ]
}
```

------

## 创建针对特定操作的授权控制
<a name="mlflow-create-app-update-iam-actions"></a>

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

**注意**  
以下步骤假设您的 MLFlow 应用程序的 ARN 已经可用。

### mlFlow 应用程序支持的数据平面 IAM 操作
<a name="mlflow-app-setup-iam-actions"></a>

授权访问控制支持以下 SageMaker AI mlFlow 操作：
+ sagemaker：CallMlflowAppApi