Menyiapkan IAM izin untuk MLflow - Amazon SageMaker

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

Menyiapkan IAM izin untuk MLflow

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

Jika Anda membuat SageMaker domain Amazon baru untuk mengakses eksperimen di Studio, Anda dapat mengonfigurasi IAM izin yang diperlukan selama penyiapan domain. Untuk informasi selengkapnya, lihat Siapkan MLflow IAM izin saat membuat domain baru.

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

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.

Siapkan MLflow IAM izin saat membuat domain baru

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

Untuk mengonfigurasi IAM izin untuk digunakan MLflow SageMaker saat menyiapkan domain baru
  1. Siapkan domain baru menggunakan SageMaker konsol. Pada halaman Siapkan SageMaker domain, pilih Siapkan untuk organisasi. Untuk informasi selengkapnya, lihat Penyiapan khusus menggunakan konsol.

  2. Saat menyiapkan Aktivitas Pengguna dan ML, pilih dari aktivitas ML berikut untukMLflow: 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.

  3. 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 dipanggil 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 SageMaker Registri Model. Ini memungkinkan Anda untuk menggunakan peran layanan domain sebagai peran layanan server pelacakan.

Untuk informasi selengkapnya tentang aktivitas ML di Manajer Peran, lihatReferensi aktivitas ML.

Buat peran IAM layanan yang diperlukan di IAM konsol

Jika Anda tidak membuat atau memperbarui peran layanan domain, Anda harus membuat peran layanan berikut di IAM konsol untuk membuat dan menggunakan Server MLflow Pelacakan:

  • Peran IAM layanan server pelacakan yang dapat digunakan oleh server pelacak untuk mengakses SageMaker sumber daya

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

IAMkebijakan untuk peran IAM layanan server pelacakan

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

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

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

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

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

IAMkebijakan untuk peran SageMaker IAM layanan

Peran SageMaker layanan digunakan oleh klien yang mengakses Server MLflow Pelacakan dan membutuhkan izin untuk menelepon. MLflow REST APIs Peran SageMaker layanan juga memerlukan SageMaker API izin untuk membuat, memperbarui, memulai, menghentikan, dan menghapus server pelacakan.

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker-mlflow:*", "sagemaker:CreateMlflowTrackingServer", "sagemaker:UpdateMlflowTrackingServer", "sagemaker:DeleteMlflowTrackingServer", "sagemaker:StartMlflowTrackingServer", "sagemaker:StopMlflowTrackingServer", "sagemaker:CreatePresignedMlflowTrackingServerUrl" ], "Resource": "*" } ] }

Buat kontrol otorisasi khusus tindakan

Anda harus menyiapkan kontrol otorisasi untuksagemaker-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 atauBuat server pelacak menggunakan AWS CLI.

Perintah berikut membuat file bernama mlflow-policy.json yang menyediakan server pelacakan Anda dengan IAM izin untuk semua SageMaker MLflow tindakan 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, lihatIAMtindakan yang 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 IAM kebijakan 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 IAM peran 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

IAMtindakan yang didukung untuk MLflow

SageMaker MLflowTindakan 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 URIForModelVersionArtifacts

  • sagemaker-mlflow: TransitionModelVersionStage

  • sagemaker-mlflow: SearchRegisteredModels

  • sagemaker-mlflow: SetRegisteredModelTag

  • sagemaker-mlflow: DeleteRegisteredModelTag

  • sagemaker-mlflow: DeleteModelVersionTag

  • sagemaker-mlflow: DeleteRegisteredModelAlias

  • sagemaker-mlflow: SetRegisteredModelAlias

  • sagemaker-mlflow: GetModelVersionByAlias