

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menyiapkan izin IAM untuk MLFlow
<a name="mlflow-create-tracking-server-iam"></a>

Anda harus mengonfigurasi peran layanan IAM yang diperlukan untuk memulai MLFlow di Amazon SageMaker AI. 

Jika Anda membuat domain Amazon SageMaker AI baru untuk mengakses eksperimen di Studio, Anda dapat mengonfigurasi izin IAM yang diperlukan selama penyiapan domain. Untuk informasi selengkapnya, lihat [Siapkan izin MLFlow IAM saat membuat domain baru](#mlflow-create-tracking-server-iam-role-manager).

Untuk mengatur izin menggunakan konsol IAM, lihat[Buat peran layanan IAM yang diperlukan di konsol IAM](#mlflow-create-tracking-server-iam-service-roles).

Anda harus mengonfigurasi kontrol otorisasi untuk `sagemaker-mlflow` tindakan. Anda dapat secara opsional menentukan kontrol otorisasi yang lebih terperinci untuk mengatur izin MLFlow khusus tindakan. Untuk informasi selengkapnya, lihat [Buat kontrol otorisasi khusus tindakan](#mlflow-create-tracking-server-update-iam-actions).

## Siapkan izin MLFlow IAM saat membuat domain baru
<a name="mlflow-create-tracking-server-iam-role-manager"></a>

Saat menyiapkan domain Amazon SageMaker AI baru untuk organisasi Anda, Anda dapat mengonfigurasi izin IAM untuk peran layanan domain melalui ** pengaturan ** Pengguna dan Aktivitas ML.

**Untuk mengonfigurasi izin IAM untuk menggunakan MLFlow dengan SageMaker AI saat menyiapkan domain baru**

1. Siapkan domain baru menggunakan konsol SageMaker AI. Pada ** halaman ** Siapkan domain SageMaker AI, pilih ** Siapkan untuk organisasi**. Untuk informasi selengkapnya, lihat [Penyiapan khusus menggunakan konsol](onboard-custom.md#onboard-custom-instructions-console).

1. Saat menyiapkan ** Pengguna dan Aktivitas ML**, pilih dari aktivitas ML berikut untuk MLFlow: ** Gunakan MLFlow, Kel ** ola Server Pelacakan MLFlow ****, dan ** Akses yang diperlukan ke AWS Layanan untuk MLFlow. ** Untuk informasi lebih lanjut tentang kegiatan ini, lihat penjelasan yang mengikuti prosedur ini.

1. Selesaikan penyiapan dan pembuatan domain baru Anda.

Aktivitas MLFlow ML berikut tersedia di Amazon SageMaker Role Manager:
+ **Gunakan MLFlow**: Aktivitas ML ini memberikan izin peran layanan domain untuk memanggil MLFlow REST API untuk mengelola eksperimen, menjalankan, dan model di MLFlow.
+ **Kelola Server Pelacakan MLFlow**: Aktivitas ML ini memberikan izin peran layanan domain untuk membuat, memperbarui, memulai, menghentikan, dan menghapus server pelacakan.
+ **Akses yang diperlukan ke AWS Layanan untuk MLFlow**: Aktivitas ML ini menyediakan izin peran layanan domain yang diperlukan untuk mengakses Amazon S3 dan Registri Model SageMaker AI. Ini memungkinkan Anda untuk menggunakan peran layanan domain sebagai peran layanan server pelacakan.

Untuk informasi selengkapnya tentang aktivitas ML di Role Manager, lihat[Referensi aktivitas ML](role-manager-ml-activities.md).

## Buat peran layanan IAM yang diperlukan di konsol IAM
<a name="mlflow-create-tracking-server-iam-service-roles"></a>

Jika Anda tidak membuat atau memperbarui peran layanan domain, Anda harus membuat peran layanan berikut di konsol IAM untuk membuat dan menggunakan Server Pelacakan MLFlow:
+ Peran layanan IAM server pelacakan yang dapat digunakan server pelacakan untuk mengakses sumber daya SageMaker AI
+ Peran layanan SageMaker AI IAM yang dapat digunakan SageMaker AI untuk membuat dan mengelola sumber daya MLFlow

### Kebijakan IAM untuk peran layanan IAM server pelacakan
<a name="mlflow-create-tracking-server-iam-service-roles-ts"></a>

Peran layanan IAM server pelacakan digunakan oleh server pelacakan untuk mengakses sumber daya yang dibutuhkannya seperti Amazon S3 dan SageMaker Model Registry.

Saat membuat peran layanan IAM server pelacakan, gunakan kebijakan kepercayaan IAM berikut:

------
#### [ JSON ]

****  

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

------

Di konsol IAM, tambahkan kebijakan izin berikut ke peran layanan server pelacakan Anda:

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

------

### Kebijakan IAM untuk peran layanan SageMaker AI IAM
<a name="mlflow-create-tracking-server-iam-service-roles-sm"></a>

Per SageMaker an layanan AI digunakan oleh klien yang mengakses Server Pelacakan MLFlow dan memerlukan izin untuk memanggil MLFlow REST API. Per SageMaker an layanan AI juga memerlukan izin SageMaker API untuk membuat, melihat pembaruan, memulai, menghentikan, dan menghapus server pelacakan. 

Anda dapat membuat peran baru atau memperbarui peran yang sudah ada. Per SageMaker an layanan AI memerlukan kebijakan berikut: 

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

------

## Buat kontrol otorisasi khusus tindakan
<a name="mlflow-create-tracking-server-update-iam-actions"></a>

Anda harus mengatur kontrol otorisasi untuk`sagemaker-mlflow`, dan dapat secara opsional mengonfigurasi kontrol otorisasi khusus tindakan untuk mengatur izin MLFlow yang lebih terperinci yang dimiliki pengguna Anda di Server Pelacakan MLFlow.

**catatan**  
Langkah-langkah berikut mengasumsikan bahwa Anda memiliki ARN untuk Server Pelacakan MLFlow yang sudah tersedia. Untuk mempelajari cara membuat server pelacakan, lihat [Buat server pelacakan menggunakan Studio](mlflow-create-tracking-server-studio.md) atau[Buat server pelacakan menggunakan AWS CLI](mlflow-create-tracking-server-cli.md).

Perintah berikut membuat file yang disebut `mlflow-policy.json` yang menyediakan server pelacakan Anda dengan izin IAM untuk semua tindakan SageMaker AI MLFlow yang tersedia. Anda dapat secara opsional membatasi izin yang dimiliki pengguna dengan memilih tindakan spesifik yang ingin dilakukan pengguna tersebut. Untuk daftar tindakan yang tersedia, lihat[Tindakan IAM didukung untuk MLFlow](#mlflow-create-tracking-server-iam-actions).

```
# Replace "Resource":"*" with "Resource":"TrackingServerArn" 
# Replace "sagemaker-mlflow:*" with specific actions

printf '{
    "Version": "2012-10-17",		 	 	     
    "Statement": [        
        {            
            "Effect": "Allow",            
            "Action": "{{sagemaker-mlflow:*}}",            
            "Resource": "{{*}}"        
        }        
    ]
}' > mlflow-policy.json
```

Gunakan `mlflow-policy.json` file untuk membuat kebijakan IAM menggunakan. AWS CLI

```
aws iam create-policy \
  --policy-name {{MLflowPolicy}} \
  --policy-document {{file://mlflow-policy.json}}
```

Ambil ID akun Anda dan lampirkan kebijakan ke peran IAM Anda.

```
# Get your account ID
aws sts get-caller-identity

# Attach the IAM policy using your exported role and account ID
aws iam attach-role-policy \
  --role-name {{$role_name}} \
  --policy-arn arn:aws:iam::{{123456789012}}:policy/{{MLflowPolicy}}
```

### Tindakan IAM didukung untuk MLFlow
<a name="mlflow-create-tracking-server-iam-actions"></a>

Tind SageMaker akan AI MLFlow berikut didukung untuk kontrol akses otorisasi:
+ SageMaker-MLFLOW:Akses
+ sagemaker-mlflow: CreateExperiment
+ sagemaker-mlflow: SearchExperiments
+ sagemaker-mlflow: GetExperiment
+ sagemaker-mlflow: GetExperimentByName
+ sagemaker-mlflow: DeleteExperiment
+ sagemaker-mlflow: RestoreExperiment
+ sagemaker-mlflow: UpdateExperiment
+ sagemaker-mlflow: CreateRun
+ sagemaker-mlflow: DeleteRun
+ sagemaker-mlflow: RestoreRun
+ sagemaker-mlflow: GetRun
+ sagemaker-mlflow: LogMetric
+ sagemaker-mlflow: LogBatch
+ sagemaker-mlflow: LogModel
+ sagemaker-mlflow: LogInputs
+ sagemaker-mlflow: SetExperimentTag
+ sagemaker-mlflow: SetTag
+ sagemaker-mlflow: DeleteTag
+ sagemaker-mlflow: LogParam
+ sagemaker-mlflow: GetMetricHistory
+ sagemaker-mlflow: SearchRuns
+ sagemaker-mlflow: ListArtifacts
+ sagemaker-mlflow: UpdateRun
+ sagemaker-mlflow: CreateRegisteredModel
+ sagemaker-mlflow: GetRegisteredModel
+ sagemaker-mlflow: RenameRegisteredModel
+ sagemaker-mlflow: UpdateRegisteredModel
+ sagemaker-mlflow: DeleteRegisteredModel
+ sagemaker-mlflow: GetLatestModelVersions
+ sagemaker-mlflow: CreateModelVersion
+ sagemaker-mlflow: GetModelVersion
+ sagemaker-mlflow: UpdateModelVersion
+ sagemaker-mlflow: DeleteModelVersion
+ sagemaker-mlflow: SearchModelVersions
+ sagemaker-mlflow: GetDownloadURIForModelVersionArtifacts
+ sagemaker-mlflow: TransitionModelVersionStage
+ sagemaker-mlflow: SearchRegisteredModels
+ sagemaker-mlflow: SetRegisteredModelTag
+ sagemaker-mlflow: DeleteRegisteredModelTag
+ sagemaker-mlflow: DeleteModelVersionTag
+ sagemaker-mlflow: DeleteRegisteredModelAlias
+ sagemaker-mlflow: SetRegisteredModelAlias
+ sagemaker-mlflow: GetModelVersionByAlias
+ sagemaker-mlflow: FinalizeLoggedModel
+ sagemaker-mlflow: GetLoggedModel
+ sagemaker-mlflow: DeleteLoggedModel
+ sagemaker-mlflow: SearchLoggedModels
+ sagemaker-mlflow: SetLoggedModelTags
+ sagemaker-mlflow: DeleteLoggedModelTag
+ sagemaker-mlflow: ListLoggedModelArtifacts
+ sagemaker-mlflow: LogLoggedModelParams
+ sagemaker-mlflow: LogOutputs