

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# MLflow 應用程式設定必要條件
<a name="mlflow-app-setup-prerequisites"></a>

# 設定 MLflow 應用程式的 IAM 許可
<a name="mlflow-app-setup-prerequisites-iam"></a>

您必須設定必要的 IAM 服務角色，才能開始使用 Amazon SageMaker AI 中的 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>

為您的組織設定新的 Amazon SageMaker AI 網域時，您可以透過**使用者和 ML 活動**設定來設定網域服務角色的 IAM 許可。

1. 使用 SageMaker AI 主控台設定新網域。在**設定 SageMaker AI 網域**頁面上，選擇**設定組織**。如需詳細資訊，請參閱[使用主控台進行自訂設定](onboard-custom.md#onboard-custom-instructions-console)。

1. 設定**使用者和 ML 活動**時，請選擇下列 MLflow 的 ML 活動：**使用 MLflow**、**管理 MLflow 應用程式**，以及 ** AWS Services for MLflow 所需的存取**。如需這些活動的詳細資訊，請參閱此程序後面的說明。

1. 完成新網域的設定和建立。

Amazon SageMaker 角色管理器提供下列 MLflow ML 活動：
+ **使用 MLflow**：此 ML 活動會授予網域服務角色許可來呼叫 MLflow REST API，以在 MLflow 中管理實驗、執行和模型。
+ **管理 MLflow 應用程式**：此 ML 活動會授予網域服務角色建立、更新和刪除 MLflow 應用程式的許可。
+ ** AWS 服務 MLflow 應用程式所需的存取**：此 ML 活動提供存取 Amazon S3 和 SageMaker AI Model Registry 所需的網域服務角色許可。這可讓您使用網域服務角色做為追蹤伺服器服務角色。

如需角色管理員中 ML 活動的更多相關資訊，請參閱[機器學習 (ML) 活動參考](role-manager-ml-activities.md)。

## 在 IAM 主控台中建立必要的 IAM 服務角色
<a name="mlflow-create-app-iam-service-roles"></a>

如果您未建立或更新網域服務角色，則必須改為在 IAM 主控台中建立下列服務角色，才能建立和使用 MLflow 應用程式：
+ MLflow App IAM 服務角色，應用程式可用來存取 SageMaker AI 資源
+ SageMaker AI 可用來建立和管理 MLflow 資源的 SageMaker AI IAM 服務角色

### MLflow App IAM 服務角色的 IAM 政策
<a name="mlflow-create-app-iam-service-roles-ts"></a>

應用程式會使用 MLflow App IAM 服務角色來存取其所需的資源，例如 Amazon S3 和 SageMaker Model Registry。

建立應用程式 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": "*"
        }
    ]
}
```

------

### SageMaker AI IAM 服務角色的 IAM 政策
<a name="mlflow-create-app-iam-service-roles-sm"></a>

存取 MLflow 應用程式的用戶端會使用 SageMaker AI 服務角色，且需要呼叫 MLflow REST APIs許可。SageMaker AI 服務角色還需要 SageMaker API 許可，才能建立、檢視更新和刪除應用程式。

您可建立新的執行，或更新現有的角色。SageMaker AI 服務角色需要下列政策：

------
#### [ 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