Menginstal kebijakan dan izin untuk lingkungan Jupyter lokal - Amazon SageMaker

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

Menginstal kebijakan dan izin untuk lingkungan Jupyter lokal

Anda perlu menyiapkan izin dan kebijakan yang diperlukan untuk menjadwalkan pekerjaan buku catatan di lingkungan Jupyter lokal. IAMPengguna memerlukan izin untuk mengirimkan pekerjaan SageMaker dan IAM peran yang diasumsikan oleh pekerjaan notebook itu sendiri memerlukan izin untuk mengakses sumber daya, tergantung pada tugas pekerjaan. Berikut ini akan memberikan petunjuk tentang cara mengatur izin dan kebijakan yang diperlukan.

Anda harus menginstal dua set izin. Diagram berikut menunjukkan struktur izin bagi Anda untuk menjadwalkan pekerjaan notebook di lingkungan Jupyter lokal. IAMPengguna perlu mengatur IAM izin untuk mengirimkan pekerjaan ke SageMaker. Setelah pengguna mengirimkan pekerjaan notebook, pekerjaan itu sendiri mengasumsikan IAM peran yang memiliki izin untuk mengakses sumber daya tergantung pada tugas pekerjaan.

IAMIzin yang diperlukan oleh pengguna, dan IAM peran yang diasumsikan oleh pekerjaan dalam buku catatan dijalankan.

Bagian berikut membantu Anda menginstal kebijakan dan izin yang diperlukan untuk IAM pengguna dan peran eksekusi pekerjaan.

IAMizin pengguna

Izin untuk mengirimkan pekerjaan SageMaker

Untuk menambahkan izin untuk mengirimkan pekerjaan, selesaikan langkah-langkah berikut:

  1. Buka IAMkonsol.

  2. Pilih Pengguna di panel kiri.

  3. Temukan IAM pengguna untuk pekerjaan notebook Anda dan pilih nama pengguna.

  4. Pilih Tambahkan Izin, dan pilih Buat kebijakan sebaris dari menu tarik-turun.

  5. Pilih JSONtab.

  6. Salin dan tempel kebijakan berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "EventBridgeSchedule", "Effect": "Allow", "Action": [ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:EnableRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "IAMPassrole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Sid": "IAMListRoles", "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "*" }, { "Sid": "S3ArtifactsAccess", "Effect": "Allow", "Action": [ "s3:PutEncryptionConfiguration", "s3:CreateBucket", "s3:PutBucketVersioning", "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemaker-automated-execution-*" ] }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:DescribePipeline", "sagemaker:CreateTrainingJob", "sagemaker:DeletePipeline", "sagemaker:CreatePipeline" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "AllowSearch", "Effect": "Allow", "Action": "sagemaker:Search", "Resource": "*" }, { "Sid": "SagemakerTags", "Effect": "Allow", "Action": [ "sagemaker:ListTags", "sagemaker:AddTags" ], "Resource": [ "arn:aws:sagemaker:*:*:pipeline/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage" ], "Resource": "*" } ] }

AWS KMS kebijakan izin (opsional)

Secara default, bucket input dan output Amazon S3 dienkripsi menggunakan enkripsi sisi server, tetapi Anda dapat menentukan KMS kunci khusus untuk mengenkripsi data Anda di bucket Amazon S3 keluaran dan volume penyimpanan yang dilampirkan ke pekerjaan notebook.

Jika Anda ingin menggunakan KMS kunci khusus, ulangi instruksi sebelumnya, lampirkan kebijakan berikut, dan berikan KMS kunci ARN Anda sendiri.

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant" ], "Resource":"your_KMS_key_ARN" } ] }

Izin peran eksekusi Job

Hubungan kepercayaan

Untuk mengubah hubungan kepercayaan peran eksekusi pekerjaan, selesaikan langkah-langkah berikut:

  1. Buka IAMkonsol.

  2. Pilih Peran di panel kiri.

  3. Temukan peran eksekusi pekerjaan untuk pekerjaan notebook Anda dan pilih nama peran.

  4. Pilih tab Trust relationship.

  5. Pilih Edit kebijakan kepercayaan.

  6. Salin dan tempel kebijakan berikut:

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

Izin tambahan

Setelah dikirimkan, pekerjaan notebook membutuhkan izin untuk mengakses sumber daya. Petunjuk berikut menunjukkan cara menambahkan seperangkat izin minimal. Jika perlu, tambahkan lebih banyak izin berdasarkan kebutuhan pekerjaan notebook Anda. Untuk menambahkan izin ke peran eksekusi pekerjaan Anda, selesaikan langkah-langkah berikut:

  1. Buka IAMkonsol.

  2. Pilih Peran di panel kiri.

  3. Temukan peran eksekusi pekerjaan untuk pekerjaan notebook Anda dan pilih nama peran.

  4. Pilih Tambahkan Izin, dan pilih Buat kebijakan sebaris dari menu tarik-turun.

  5. Pilih JSONtab.

  6. Salin dan tempel kebijakan berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassroleForJobCreation", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Sid": "S3ForStoringArtifacts", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:StartPipelineExecution", "sagemaker:CreateTrainingJob" ], "Resource": "*" }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }
  7. Tambahkan izin ke sumber daya lain yang diakses pekerjaan buku catatan Anda.

  8. Pilih Tinjau kebijakan.

  9. Masukkan nama untuk kebijakan Anda.

  10. Pilih Buat kebijakan.