View a markdown version of this page

Menyiapkan izin IAM untuk 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 MLFlow

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.

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.

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.

  2. 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.

  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 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, 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 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

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

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

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 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 atauBuat server pelacakan menggunakan AWS CLI.

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, lihatTindakan IAM didukung untuk MLFlow.

# 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

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