Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyiapkan izin
Peran yang diperlukan untuk Add-on dan dependensinya
Peran IAM Diperlukan untuk SageMaker Spasi di SageMaker HyperPod
Saat mengaktifkan fitur SageMaker Spaces (alias SageMaker IDE/Notebooks) pada klaster SageMaker HyperPod (EKS), beberapa peran IAM harus dibuat dan ditetapkan. Peran ini mendukung akses aman, perutean, sesi IDE jarak jauh, dan penyediaan penyimpanan EBS. Tabel berikut merangkum empat peran dan kapan diperlukan.
Tabel Ringkasan Peran
| IAM Role | Diperlukan? | Tujuan | Siapa yang Menggunakannya? | Kustomisasi diizinkan oleh SageMaker Konsol? |
|---|---|---|---|---|
|
Peran Eksekusi Add-on Space |
Selalu dibutuhkan |
Memungkinkan pengontrol Spaces untuk mengelola Spaces, menghasilkan presigned URLs, mengelola sesi SSM |
Pod pengontrol add-on (istimewa) |
✔ Ya |
|
Peran Router Dalam Cluster |
Diperlukan untuk akses WebUI |
Memungkinkan pod router untuk melakukan operasi KMS untuk penandatanganan JWT (otentikasi WebUI) |
Pod router dalam cluster (istimewa) |
✔ Ya |
|
Peran Instans Terkelola SSM |
Diperlukan untuk akses IDE Jarak Jauh |
Digunakan oleh sespan agen SSM untuk SSH-over-SSM sesi IDE jarak jauh |
Agen SSM di Pod IDE Luar Angkasa (bukan pod add-on) |
✔ Ya |
|
Peran IAM untuk Pengaya Driver EBS CSI |
Selalu dibutuhkan |
Memungkinkan Driver EBS CSI untuk create/attach/modify volume untuk beban kerja Spaces |
Pengaya Driver EBS CSI |
Dibuat secara otomatis |
|
Peran IAM untuk Add-on DNS Eksternal |
Diperlukan untuk akses WebUI |
Ini memastikan bahwa titik akhir Space dan komponen dalam cluster dapat secara otomatis diberi nama DNS di zona yang dihosting Route 53 pelanggan. |
Add-on DNS Eksternal |
Dibuat secara otomatis |
1. Peran Eksekusi Add-on Space (Wajib)
Peran Eksekusi Add-on Spaces selalu diperlukan karena digunakan oleh pod pengontrol addon-on SageMaker Spaces, komponen administratif yang diinstal melalui add-on EKS. Peran ini memungkinkan pengontrol untuk mengelola Spaces, menyediakan sumber daya, berinteraksi dengan SSM, dan menghasilkan presigned URLs untuk Remote IDE dan akses WebUI. Ini juga mendukung akses KMS yang digunakan untuk penandatanganan permintaan untuk mengautentikasi permintaan https WebUI. Peran ini dapat dibuat secara otomatis saat add-on SageMaker Spaces diinstal melalui SageMaker Konsol. Untuk pembuatan manual, AWS berikan kebijakan AmazonSageMakerSpacesControllerPolicy terkelola.
Kebijakan Kepercayaan Referensi
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceAccount": "{{accountId}}", "aws:SourceArn": "arn:aws:eks:{{region}}:{{accountId}}:cluster/{{eksClusterName}}" } } } ] }
2. Peran Router Dalam Cluster (Diperlukan untuk Otentikasi WebUI)
Peran Router In-Cluster digunakan oleh pod router, komponen istimewa yang mengautentikasi sesi Spaces WebUI. Router menggunakan kunci KMS untuk membuat dan menandatangani token JWT yang mengotorisasi akses pengguna ke Spaces tertentu. Peran ini memungkinkan pod router untuk menghasilkan kunci data, dan mendekripsi mereka. Mirip dengan peran pengontrol, ini memberlakukan keamanan menggunakan pembatasan cakupan berbasis tag dan cluster. Peran ini dapat dibuat secara otomatis ketika add-on Spaces diinstal melalui AWS SageMaker Konsol, tetapi pelanggan dapat membuatnya secara manual.
Kebijakan Kepercayaan Referensi
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceAccount": "{{accountId}}", "aws:SourceArn": "arn:aws:eks:{{region}}:{{accountId}}:cluster/{{eksClusterName}}" } } } ] }
Kebijakan Izin Referensi
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KMSDescribeKey", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:aws:kms:{{region}}:{{accountId}}:key/{{kmsKeyId}}" }, { "Sid": "KMSKeyOperations", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:{{region}}:{{accountId}}:key/{{kmsKeyId}}", "Condition": { "StringEquals": { "kms:EncryptionContext:sagemaker:component": "amazon-sagemaker-spaces", "kms:EncryptionContext:sagemaker:eks-cluster-arn": "${aws:PrincipalTag/eks-cluster-arn}" } } } ] }
3. Peran Instans Terkelola SSM (Diperlukan untuk Akses IDE Jarak Jauh)
Peran Instans Terkelola SSM diteruskan saat mendaftarkan instans terkelola SSM untuk mengaktifkan akses IDE jarak jauh. Peran ini memungkinkan agen SSM untuk mendaftarkan pod sebagai Instans Terkelola SSM dan menggunakan saluran SSM Session Manager untuk konektivitas Remote IDE (SSH-over-SSM). Itu dapat dibuat secara otomatis saat menggunakan AWS
SageMaker Konsol. Untuk penerapan manual, pelanggan harus membuat peran ini dan menyediakannya ke add-on Spaces. Pod pengontrol itu sendiri tidak mengambil peran ini; ia hanya menyediakannya saat memanggilssm:CreateActivation.
Kebijakan Kepercayaan Referensi
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "{{account}}" }, "ArnEquals": { "aws:SourceArn": "arn:aws:ssm:{{region}}:{{account}}:*" } } } ] }
Kebijakan Izin Referensi
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:DescribeAssociation" ], "Resource": [ "arn:aws:ssm:{{region}}:{{account}}:association/*", "arn:aws:ssm:{{region}}:{{account}}:document/*", "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetDocument", "ssm:DescribeDocument" ], "Resource": "arn:aws:ssm:{{region}}:{{account}}:document/*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameter", "ssm:GetParameters" ], "Resource": "arn:aws:ssm:{{region}}:{{account}}:parameter/*" }, { "Effect": "Allow", "Action": [ "ssm:ListInstanceAssociations" ], "Resource": [ "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:PutComplianceItems" ], "Resource": [ "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:UpdateAssociationStatus" ], "Resource": [ "arn:aws:ssm:{{region}}:{{account}}:document/*", "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceAssociationStatus" ], "Resource": [ "arn:aws:ssm:{{region}}:{{account}}:association/*", "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceInformation" ], "Resource": [ "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetDeployablePatchSnapshotForInstance", "ssm:GetManifest", "ssm:ListAssociations", "ssm:PutInventory", "ssm:PutConfigurePackageResult" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2messages:AcknowledgeMessage", "ec2messages:DeleteMessage", "ec2messages:FailMessage", "ec2messages:GetEndpoint" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2messages:GetMessages", "ec2messages:SendReply" ], "Resource": "*", "Condition": { "ArnLike": { "ssm:SourceInstanceARN": "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" } } } ] }
4. Peran IAM untuk Pengaya Driver EBS CSI
Peran IAM untuk EBS CSI Driver diperlukan karena EBS CSI Driver menyediakan volume persisten untuk beban kerja Spaces. Meskipun EBSCSIDriverKebijakan Amazon yang AWS dikelola menyediakan izin dasar, SageMaker HyperPod klaster memerlukan kemampuan tambahan seperti membuat pemulihan snapshot cepat, menandai volume milik cluster, dan volume untuk node yang dikelola. attaching/detaching HyperPod Izin ini juga termasuk SageMaker -specific APIs seperti. sagemaker:AttachClusterNodeVolume Jika Driver EBS CSI tidak diinstal, peran ini sekarang akan dibuat secara otomatis oleh SageMaker Konsol selama instalasi add-on Spaces, tidak memerlukan tindakan pelanggan.
5. Peran IAM untuk Add-on DNS Eksternal
Add-on DNS Eksternal mengelola catatan DNS untuk Layanan dan sumber daya Ingress di cluster. HyperPod Ini memastikan bahwa titik akhir Space dan komponen dalam cluster dapat secara otomatis diberi nama DNS di zona yang dihosting Route 53 pelanggan. Saat ini, pelanggan sering menginstal DNS Eksternal secara manual melalui opsi 1-klik di konsol EKS. Sebagai bagian dari peningkatan pengalaman SageMaker Spaces, peran ini sekarang akan dibuat secara otomatis oleh SageMaker Konsol selama instalasi add-on Spaces, tidak memerlukan tindakan pelanggan.
Pengaturan izin untuk AWS Toolkit untuk Mengakses Ruang SageMaker
Untuk memungkinkan panel samping penjelajah sumber daya AWS VS Code Toolkit menemukan dan terhubung ke SageMaker Spaces, izin IAM berikut diperlukan. Izin ini memungkinkan Toolkit untuk mencantumkan SageMaker HyperPod kluster yang tersedia, mengambil detail klaster, dan mendapatkan token koneksi untuk klaster Amazon EKS terkait.
Kebijakan IAM yang Diperlukan
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SageMakerListClusters", "Effect": "Allow", "Action": "sagemaker:ListClusters", "Resource": "*" }, { "Sid": "SageMakerDescribeCluster", "Effect": "Allow", "Action": "sagemaker:DescribeCluster", "Resource": "arn:aws:sagemaker:{{region}}:{{account}}:cluster/cluster-name" }, { "Sid": "EksDescribeCluster", "Effect": "Allow", "Action": "eks:DescribeCluster", "Resource": "arn:aws:eks:{{region}}:{{account}}:cluster/cluster-name" }, { "Sid": "EksGetToken", "Effect": "Allow", "Action": "eks:GetToken", "Resource": "*" } ] }
Rekomendasi Pelingkupan
-
Ganti nama cluster dengan SageMaker HyperPod cluster tertentu yang perlu diakses pengguna Anda.
-
GetToken Tindakan eks: saat ini tidak mendukung pembatasan tingkat sumber daya dan harus menggunakan Resource: “*”. Ini adalah batasan AWS layanan. Otentikasi sisi klien dilakukan melalui entri akses EKS.