

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 khusus tindakan. MLflow 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 Anda melalui setelan Aktivitas **Pengguna dan Aktivitas ML**.

**Untuk mengonfigurasi izin IAM untuk digunakan 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 Aktivitas **Pengguna dan ML, pilih dari aktivitas** ML berikut untuk MLflow: **Gunakan MLflow**, **Kelola MLflow Pelacakan Server**, dan **Akses yang diperlukan ke AWS Layanan untuk MLflow**. Untuk informasi lebih lanjut tentang kegiatan ini, lihat penjelasan yang mengikuti prosedur ini.

1. Selesaikan pengaturan dan pembuatan domain baru Anda.

Aktivitas MLflow ML berikut tersedia di Amazon SageMaker Role Manager:
+ **Penggunaan MLflow**: Aktivitas ML ini memberikan izin peran layanan domain untuk memanggil MLflow REST APIs guna mengelola eksperimen, proses, dan model. MLflow
+ **Kelola MLflow Pelacakan Server**: 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 Manajer Peran, 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 MLflow Pelacakan:
+ Peran layanan IAM server pelacakan yang dapat digunakan server pelacak 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 pelacak untuk mengakses sumber daya yang dibutuhkan seperti Amazon S3 dan SageMaker Registry Model.

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>

Peran layanan SageMaker AI digunakan oleh klien yang mengakses Server MLflow Pelacakan dan membutuhkan izin untuk memanggil MLflow REST. APIs Peran layanan SageMaker 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. Peran layanan SageMaker AI membutuhkan 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 menyiapkan kontrol otorisasi untuk`sagemaker-mlflow`, dan secara opsional dapat mengonfigurasi kontrol otorisasi khusus tindakan untuk mengatur MLflow izin yang lebih terperinci yang dimiliki pengguna Anda di Server Pelacakan. MLflow 

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

Perintah berikut membuat file bernama `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 file. 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>

 MLflow Tindakan SageMaker AI berikut didukung untuk kontrol akses otorisasi:
+ Sagemaker-mlflow:Accessui
+ 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: GetDownload URIFor ModelVersionArtifacts
+ 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