AWS Identity and Access Management untuk SageMaker HyperPod - Amazon SageMaker

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

AWS Identity and Access Management untuk SageMaker HyperPod

AWS Identity and Access Management (IAM) adalah AWS layanan yang membantu administrator mengontrol akses ke AWS sumber daya. IAMadministrator mengontrol siapa yang dapat diautentikasi (masuk) dan diberi wewenang (memiliki izin) untuk menggunakan sumber daya Amazon. EKS IAMadalah sebuah AWS Layanan yang dapat Anda gunakan tanpa biaya tambahan.

penting

IAMKebijakan khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika IAM kebijakan mengizinkan Studio dan Studio Classic membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai sumber daya SageMaker.

AWS Kebijakan Terkelola untuk Amazon SageMakeryang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.

Mari kita asumsikan bahwa ada dua lapisan utama SageMaker HyperPod pengguna: pengguna admin cluster dan pengguna ilmuwan data.

  • Pengguna admin cluster — Bertanggung jawab untuk membuat dan mengelola SageMaker HyperPod cluster. Ini termasuk mengkonfigurasi HyperPod cluster dan mengelola akses pengguna ke mereka.

    • Buat dan konfigurasikan SageMaker HyperPod cluster dengan Slurm atau Amazon. EKS

    • Buat dan konfigurasikan IAM peran untuk pengguna ilmuwan data dan sumber daya HyperPod cluster.

    • Untuk SageMaker HyperPod orkestrasi dengan AmazonEKS, buat dan konfigurasikan entri EKS akses, kontrol akses berbasis peran (RBAC), dan Pod Identity untuk memenuhi kasus penggunaan ilmu data.

  • Pengguna ilmuwan data — Fokus pada pelatihan model ML. Mereka menggunakan orkestra sumber terbuka atau SageMaker HyperPod CLI untuk mengirimkan dan mengelola pekerjaan pelatihan.

    • Asumsikan dan gunakan IAM Peran yang disediakan oleh pengguna admin klaster.

    • Berinteraksi dengan orkestrator open-source yang CLIs didukung oleh SageMaker HyperPod (Slurm atau Kubernetes) atau SageMaker HyperPod CLI untuk memeriksa kapasitas cluster, terhubung ke klaster, dan mengirimkan beban kerja.

Siapkan IAM peran untuk admin klaster dengan melampirkan izin atau kebijakan yang tepat untuk mengoperasikan klaster. SageMaker HyperPod Admin klaster juga harus membuat IAM peran untuk menyediakan SageMaker HyperPod sumber daya untuk diasumsikan untuk dijalankan dan berkomunikasi dengan yang diperlukan AWS sumber daya, seperti Amazon S3, Amazon CloudWatch, dan AWS Systems Manager (SSM). Akhirnya, AWS admin akun atau admin klaster harus memberikan izin kepada ilmuwan untuk mengakses SageMaker HyperPod kluster dan menjalankan beban kerja ML.

Bergantung pada orkestrator mana yang Anda pilih, izin yang diperlukan untuk admin klaster dan ilmuwan dapat bervariasi. Anda juga dapat mengontrol cakupan izin untuk berbagai tindakan dalam peran menggunakan kunci kondisi per layanan. Gunakan Referensi Otorisasi Layanan berikut untuk menambahkan cakupan terperinci untuk layanan yang terkait SageMaker HyperPod dengan.

IAMpengguna untuk admin cluster

Administrator cluster (admin) mengoperasikan dan mengkonfigurasi SageMaker HyperPod cluster, melakukan tugas-tugas di. SageMaker HyperPod operasi Contoh kebijakan berikut mencakup kumpulan izin minimum bagi administrator klaster untuk menjalankan SageMaker HyperPod inti APIs dan mengelola SageMaker HyperPod klaster dalam AWS akun.

Slurm
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeClusterNode", "sagemaker:ListClusterNodes", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware" ], "Resource": "arn:aws:sagemaker:region:account-id:cluster/*" } ] }
Amazon EKS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": <execution-role-arn> }, { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeCluterNode", "sagemaker:ListClusterNodes", "sagemaker:ListClusters", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware", "sagemaker:DeleteClusterNodes", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry", "eks:AssociateAccessPolicy", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

Untuk memberikan izin untuk mengakses SageMaker konsol, gunakan kebijakan sampel yang disediakan di Izin yang diperlukan untuk menggunakan konsol Amazon SageMaker .

Untuk memberikan izin untuk mengakses konsol Amazon EC2 Systems Manager, gunakan kebijakan sampel yang disediakan di Menggunakan AWS Systems Manager konsol di AWS Systems Manager Panduan Pengguna.

Anda juga dapat mempertimbangkan untuk melampirkan AmazonSageMakerFullAccesskebijakan ke peran; namun, perhatikan bahwa AmazonSageMakerFullAccess kebijakan tersebut memberikan izin ke seluruh SageMaker API panggilan, fitur, dan sumber daya.

Untuk panduan tentang IAM pengguna secara umum, lihat IAMpengguna di AWS Identity and Access Management Panduan Pengguna.

IAMpengguna untuk ilmuwan

Ilmuwan masuk dan menjalankan beban kerja ML pada node SageMaker HyperPod kluster yang disediakan oleh admin klaster. Untuk para ilmuwan di AWS akun, Anda harus memberikan izin "ssm:StartSession" untuk menjalankan SSM start-session perintah. Berikut ini adalah contoh kebijakan untuk IAM pengguna.

Slurm

Tambahkan kebijakan berikut untuk memberikan izin SSM sesi agar terhubung ke SSM target untuk semua sumber daya. Ini memungkinkan Anda untuk mengakses HyperPod cluster.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Amazon EKS

Berikan izin IAM peran berikut untuk dijalankan oleh ilmuwan data hyperpod list-clusters dan hyperpod connect-cluster perintah di antara HyperPod CLI perintah. Untuk mempelajari lebih lanjut tentang HyperPod CLI, lihatMenjalankan pekerjaan di SageMaker HyperPod cluster yang diatur oleh Amazon EKS. Ini juga mencakup izin SSM sesi untuk terhubung ke SSM target untuk semua sumber daya. Ini memungkinkan Anda untuk mengakses HyperPod cluster.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeHyerpodClusterPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeCluster" ], "Resource": "<hyperpod-cluster-arn>" }, { "Sid": "UseEksClusterPermissions", "Effect": "Allow", "Action": [ "eks:DescribeCluster", ], "Resource": "<eks-cluster-arn>" }, { "Sid": "ListClustersPermission", "Effect": "Allow", "Action": [ "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }

Untuk memberikan akses kepada IAM pengguna atau peran data scientist ke Kubernetes APIs di klaster, lihat juga Memberikan akses kepada IAM pengguna dan peran ke Kubernetes APIs di Panduan Pengguna Amazon. EKS

IAMperan untuk SageMaker HyperPod

Agar SageMaker HyperPod cluster dapat berjalan dan berkomunikasi dengan yang diperlukan AWS sumber daya, Anda perlu buat IAM peran untuk diasumsikan oleh HyperPod cluster.

Mulailah dengan melampirkan peran AWS kebijakan terkelola: AmazonSageMakerHyperPodServiceRolePolicy yang dikelola. Mengingat ini AWS kebijakan terkelola, grup instans SageMaker HyperPod cluster mengambil peran untuk berkomunikasi dengan Amazon CloudWatch, Amazon S3, dan AWS Systems Manager Agen (SSMAgen). Kebijakan terkelola ini adalah persyaratan minimum agar SageMaker HyperPod sumber daya dapat berjalan dengan benar, jadi Anda harus memberikan IAM peran dengan kebijakan ini ke semua grup instans.

Tip

Bergantung pada preferensi Anda dalam mendesain tingkat izin untuk beberapa grup instans, Anda juga dapat mengatur beberapa IAM peran dan melampirkannya ke grup instans yang berbeda. Saat Anda mengatur akses pengguna klaster ke node SageMaker HyperPod cluster tertentu, node mengambil peran dengan izin selektif yang Anda lampirkan secara manual.

Saat Anda mengatur akses bagi para ilmuwan ke node cluster tertentu melalui AWS Systems Manager(lihat jugaMenyiapkan AWS Systems Manager dan Menjalankan Sebagai untuk kontrol akses pengguna cluster), node cluster mengambil peran dengan izin selektif yang Anda lampirkan secara manual.

Setelah Anda selesai membuat IAM peran, buat catatan nama mereka danARNs. Anda menggunakan peran saat membuat SageMaker HyperPod klaster, memberikan izin yang benar yang diperlukan untuk setiap grup instans untuk berkomunikasi dengan yang diperlukan AWS sumber daya.

Slurm

Untuk HyperPod diatur dengan Slurm, Anda harus melampirkan kebijakan terkelola berikut ke peran tersebut. SageMaker HyperPod IAM

(Opsional) Izin tambahan untuk digunakan SageMaker HyperPod dengan Amazon Virtual Private Cloud

Jika Anda ingin menggunakan Amazon Virtual Private Cloud (VPC) Anda sendiri alih-alih default SageMakerVPC, Anda harus menambahkan izin tambahan berikut ke IAM peran untuk SageMaker HyperPod.

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface" ], "Resource": "*" } { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }

Daftar berikut menguraikan izin mana yang diperlukan untuk mengaktifkan fungsionalitas SageMaker HyperPod klaster saat Anda mengonfigurasi klaster dengan Amazon Anda sendiri. VPC

  • ec2Izin berikut diperlukan untuk mengaktifkan konfigurasi SageMaker HyperPod cluster dengan Anda. VPC

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • ec2Izin berikut diperlukan untuk mengaktifkan fungsi SageMaker HyperPod auto-resume.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • ec2Izin berikut memungkinkan SageMaker HyperPod untuk membuat tag pada antarmuka jaringan dalam akun Anda.

    { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }
Amazon EKS

Untuk HyperPod diatur dengan AmazonEKS, Anda harus melampirkan kebijakan terkelola berikut ke peran tersebut. SageMaker HyperPod IAM

Selain kebijakan yang dikelola, lampirkan kebijakan izin berikut ke peran tersebut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignPrivateIpAddresses", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:UnassignPrivateIpAddresses", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
catatan

"eks-auth:AssumeRoleForPodIdentity"Izin adalah opsional. Ini diperlukan jika Anda berencana untuk menggunakan identitas EKS Pod.

SageMaker HyperPod peran terkait layanan

Untuk EKS dukungan Amazon di SageMaker HyperPod, HyperPod buat peran terkait layanan AWS kebijakan terkelola: AmazonSageMakerHyperPodServiceRolePolicy untuk memantau dan mendukung ketahanan pada EKS klaster Anda seperti mengganti node dan memulai ulang pekerjaan.

IAMkebijakan untuk Amazon EKS