

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

# MLflow 应用程序安装前提条件
<a name="mlflow-app-setup-prerequisites"></a>

# 为 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. 设置**用户和机器学习活动**时，请从以下机器学习活动中进行选择 MLflow：**使用 MLflow**、**管理 MLflow 应用程序**和** AWS 服务所需的访问权限 MLflow**。有关这些活动的更多信息，请参阅本步骤后面的说明。

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

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

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

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

如果您没有创建或更新您的域名服务角色，则必须在 IAM 控制台中创建以下服务角色才能创建和使用 MLflow 应用程序：
+  MLflow 应用程序可用来访问 A SageMaker I 资源的应用程序 IAM 服务角色
+ A SageMaker I IAM 服务角色， SageMaker AI 可用来创建和管理 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>

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": "*"        
        }        
    ]
}
```

------

## 创建针对特定操作的授权控制
<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