View a markdown version of this page

Menyiapkan izin IAM untuk Aplikasi MLFlow - Amazon SageMaker AI

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

Menyiapkan izin IAM untuk Aplikasi MLFlow

Anda harus mengonfigurasi peran layanan IAM yang diperlukan untuk memulai dengan Aplikasi 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.

Untuk mengatur izin menggunakan konsol IAM, lihatBuat peran layanan IAM yang diperlukan di konsol IAM.

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.

Siapkan izin MLFlow IAM saat membuat domain baru

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.

  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.

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

  3. 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 Aplikasi MLFlow: Aktivitas ML ini memberikan izin peran layanan domain untuk membuat, memperbarui, dan menghapus Aplikasi MLFlow.

  • Akses diperlukan Layanan AWS untuk Aplikasi MLFlow: Aktivitas ML ini menyediakan izin peran layanan domain yang diperlukan untuk mengakses Amazon S3 dan SageMaker AI Model Registry. Ini memungkinkan Anda untuk menggunakan peran layanan domain sebagai peran layanan server pelacakan.

Untuk informasi selengkapnya tentang aktivitas ML di Role Manager, lihatReferensi aktivitas ML.

Buat peran layanan IAM yang diperlukan di konsol IAM

Jika Anda tidak membuat atau memperbarui peran layanan domain, Anda harus membuat peran layanan berikut di konsol IAM untuk membuat dan menggunakan Aplikasi MLFlow:

  • Peran layanan IAM Aplikasi MLFlow yang dapat digunakan Aplikasi untuk mengakses SageMaker sumber daya AI

  • Peran layanan SageMaker AI IAM yang dapat digunakan SageMaker AI untuk membuat dan mengelola sumber daya MLFlow

Kebijakan IAM untuk peran layanan IAM Aplikasi MLFlow

Peran layanan IAM Aplikasi MLFlow digunakan oleh aplikasi untuk mengakses sumber daya yang dibutuhkannya seperti Amazon S3 dan SageMaker Model Registry.

Saat membuat peran layanan IAM aplikasi, 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 aplikasi 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

Per SageMaker an layanan AI digunakan oleh klien yang mengakses Aplikasi MLFlow dan memerlukan izin untuk memanggil MLFlow REST API. Per SageMaker an layanan AI juga memerlukan izin SageMaker API untuk membuat, melihat pembaruan, dan menghapus aplikasi.

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

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

catatan

Langkah-langkah berikut mengasumsikan bahwa Anda memiliki ARN untuk Aplikasi MLFlow yang sudah tersedia.

Tindakan Data Plane IAM didukung untuk Aplikasi MLFlow

Tind SageMaker akan AI MLFlow berikut didukung untuk kontrol akses otorisasi:

  • pembuat bijak: CallMlflowAppApi

Izin IAM untuk sinkronisasi Model Registry dan manajemen siklus hidup

Saat Anda mendaftarkan model MLFlow dengan SageMaker AI Model Registry, peran layanan IAM Aplikasi MLFlow memerlukan izin berikut untuk melakukan pendaftaran model, manajemen siklus hidup, dan pelacakan garis keturunan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateModelPackageGroup", "sagemaker:DescribeModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:AddTags" ], "Resource": "*" }, { "Sid": "S3ArtifactAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": "*" }, { "Sid": "LineageTracking", "Effect": "Allow", "Action": [ "sagemaker:CreateAction", "sagemaker:AddAssociation" ], "Resource": "*" } ] }

Tabel berikut menjelaskan apa yang diaktifkan setiap izin:

Tindakan Tujuan
sagemaker:CreateModelPackageGroup Membuat Grup Paket Model saat Anda mendaftarkan nama model baru.
sagemaker:DescribeModelPackageGroup Memeriksa apakah Grup Paket Model sudah ada sebelum membuatnya.
sagemaker:CreateModelPackage Membuat Paket Model (versi) saat Anda mendaftarkan versi model.
sagemaker:UpdateModelPackage Memperbarui tahap siklus hidup Paket Model dan status saat Anda menetapkan alias siklus hidup.
sagemaker:AddTags Menandai Paket Model dengan metadata yang menghubungkannya kembali ke model MLFlow.
s3:GetObject Membaca spesifikasi inferensi dan artefak evaluasi dari Amazon S3 selama pendaftaran.
sagemaker:CreateAction, sagemaker:AddAssociation Membuat asosiasi garis keturunan antara model MLFlow dan Paket Model SageMaker AI. Jika hilang, garis keturunan diam-diam dilewati.

Batasi transisi siklus hidup dengan kunci kondisi IAM

Anda dapat menggunakan kunci kondisi IAM untuk mengontrol transisi siklus hidup mana yang diperbolehkan dilakukan peran. Kunci kondisi berikut tersedia untuk sagemaker:UpdateModelPackage tindakan:

  • sagemaker:ModelLifeCycle/stage— Tahap siklus hidup sedang diatur. Nilai:staging,production.

  • sagemaker:ModelLifeCycle/stageStatus— Status siklus hidup sedang diatur. Nilai:pending,active.

Contoh: Menolak promosi produksi

Kebijakan berikut mencegah peran mempromosikan model ke pang production gung:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "sagemaker:UpdateModelPackage", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ModelLifeCycle/stage": "production" } } } ] }

Contoh: Izinkan hanya staging/pending transisi

Kebijakan berikut membatasi peran untuk hanya menyetel model ke pang staging gung dengan pending status:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:UpdateModelPackage", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ModelLifeCycle/stage": "staging", "sagemaker:ModelLifeCycle/stageStatus": "pending" } } } ] }