

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MLflow アプリの IAM アクセス許可を設定する
<a name="mlflow-app-setup-prerequisites-iam"></a>

Amazon SageMaker AI で MLflow Apps の使用を開始するには、必要な IAM サービスロールを設定する必要があります。

Studio で実験にアクセスするための新しい Amazon SageMaker AI ドメインを作成する場合は、ドメインの設定中に必要な 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 Domain をセットアップ]** ページで、**[組織向けの設定]** を選択します。詳細については、「[コンソールを使用したカスタムセットアップ](onboard-custom.md#onboard-custom-instructions-console)」を参照してください。

1. **ユーザーと ML アクティビティ**を設定するときは、MLflow の次の ML アクティビティから選択します。**MLflow の使用**、**MLflow アプリの管理**、**MLflow AWS のサービスに必要なアクセス**。これらのアクティビティの詳細については、この手順の後の説明を参照してください。

1. 新しいドメインの設定と作成を完了します。

Amazon SageMaker Role Manager では、次の MLflow ML アクティビティを使用できます。
+ **MLflow を使用**: この ML アクティビティは、MLflow で実験、実行、モデルを管理するために、MLflow REST API を呼び出すアクセス許可をドメインサービスロールに付与します。
+ **MLflow アプリの管理**: この ML アクティビティは、MLflow アプリを作成、更新、削除するアクセス許可をドメインサービスロールに付与します。
+ **MLflow Apps AWS のサービス の に必要なアクセス**: この ML アクティビティは、Amazon S3 と SageMaker AI Model Registry にアクセスするために必要なドメインサービスロールのアクセス許可を提供します。これにより、ドメインサービスロールを追跡サーバーサービスロールとして使用できるようになります。

Role Manager の ML アクティビティの詳細については、「[ML アクティビティリファレンス](role-manager-ml-activities.md)」を参照してください。

## IAM コンソールで必要な IAM サービスロールを作成する
<a name="mlflow-create-app-iam-service-roles"></a>

ドメインサービスロールを作成または更新しなかった場合は、MLflow アプリを作成して使用するには、代わりに IAM コンソールで次のサービスロールを作成する必要があります。
+ アプリが SageMaker AI リソースにアクセスするために使用できる MLflow アプリ IAM サービスロール
+ SageMaker AI が MLflow リソースの作成と管理に使用できる、SageMaker AI の IAM サービスロール

### MLflow アプリ IAM サービスロールの IAM ポリシー
<a name="mlflow-create-app-iam-service-roles-ts"></a>

MLflow アプリの 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>

SageMaker AI サービスロールは、MLflow アプリにアクセスするクライアントによって使用され、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