AWS Identity and Access Management per SageMaker HyperPod - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Identity and Access Management per SageMaker HyperPod

AWS Identity and Access Management (IAM) è un AWS servizio che aiuta un amministratore a controllare in modo sicuro l'accesso a AWS risorse. IAMgli amministratori controllano chi può essere autenticato (effettuato l'accesso) e autorizzato (disporre delle autorizzazioni) a utilizzare le risorse Amazon. EKS IAMè un AWS servizio che puoi utilizzare senza costi aggiuntivi.

Importante

IAMLe politiche personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L'autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic taggano automaticamente tutte le risorse che creano. Se una IAM politica consente a Studio e Studio Classic di creare risorse ma non consente l'aggiunta di tag, si possono verificare errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta Fornisci le autorizzazioni per etichettare le risorse SageMaker.

AWS Policy gestite per Amazon SageMakerche concedono le autorizzazioni per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Supponiamo che vi siano due livelli principali di SageMaker HyperPod utenti: utenti amministratori del cluster e utenti di data scientist.

  • Utenti amministratori del cluster: sono responsabili della creazione e della gestione dei SageMaker HyperPod cluster. Ciò include la configurazione dei HyperPod cluster e la gestione dell'accesso degli utenti ad essi.

    • Crea e configura SageMaker HyperPod cluster con Slurm o Amazon. EKS

    • Crea e configura IAM ruoli per gli utenti dei data scientist e HyperPod le risorse del cluster.

    • Per l' SageMaker HyperPod orchestrazione con AmazonEKS, crea e configura voci di EKS accesso, controllo degli accessi basato sui ruoli (RBAC) e Pod Identity per soddisfare i casi d'uso della scienza dei dati.

  • Utenti di data scientist: concentrati sulla formazione su modelli di machine learning. Utilizzano l'orchestrator open source o il SageMaker HyperPod CLI per inviare e gestire lavori di formazione.

    • Assumi e utilizza il IAM ruolo fornito dagli utenti amministratori del cluster.

    • Interagisci con l'orchestrator open source CLIs supportato da SageMaker HyperPod (Slurm o Kubernetes) o SageMaker HyperPod CLI per verificare la capacità dei cluster, connetterti al cluster e inviare carichi di lavoro.

Configura IAM i ruoli per gli amministratori dei cluster allegando le autorizzazioni o le politiche corrette per gestire i cluster. SageMaker HyperPod Gli amministratori dei cluster devono inoltre creare i IAM ruoli da assegnare alle risorse da assumere per funzionare e comunicare con SageMaker HyperPod le risorse necessarie AWS risorse, come Amazon S3, Amazon CloudWatch e AWS Systems Manager (SSM). Infine, AWS L'amministratore dell'account o gli amministratori del cluster devono concedere agli scienziati le autorizzazioni per accedere ai SageMaker HyperPod cluster ed eseguire carichi di lavoro ML.

A seconda dell'orchestratore scelto, le autorizzazioni necessarie per l'amministratore e gli scienziati del cluster possono variare. Puoi anche controllare l'ambito delle autorizzazioni per varie azioni nei ruoli utilizzando le chiavi di condizione per servizio. Utilizza i seguenti riferimenti di autorizzazione del servizio per aggiungere un ambito dettagliato per i servizi correlati a SageMaker HyperPod.

IAMutenti per l'amministratore del cluster

Gli amministratori dei cluster (amministratori) gestiscono e configurano i SageMaker HyperPod cluster, eseguendo le attività in. SageMaker HyperPod operazione Il seguente esempio di policy include il set minimo di autorizzazioni per gli amministratori dei cluster per eseguire il core e gestire i cluster all'interno del SageMaker HyperPod APIs SageMaker HyperPod AWS account.

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

Per concedere le autorizzazioni di accesso alla SageMaker console, utilizza la politica di esempio fornita in Autorizzazioni richieste per utilizzare la console Amazon SageMaker .

Per concedere le autorizzazioni di accesso alla console Amazon EC2 Systems Manager, utilizza la policy di esempio fornita in Using the AWS Systems Manager console in AWS Systems Manager Guida per l'utente.

Potresti anche considerare di associare la AmazonSageMakerFullAccesspolicy al ruolo; tuttavia, tieni presente che la AmazonSageMakerFullAccess policy concede le autorizzazioni per tutte le SageMaker API chiamate, le funzionalità e le risorse.

Per indicazioni sugli IAM utenti in generale, consulta IAM users in AWS Identity and Access Management Guida per l'utente.

IAMutenti per scienziati

Gli scienziati accedono ed eseguono carichi di lavoro ML su nodi SageMaker HyperPod del cluster forniti dagli amministratori del cluster. Per gli scienziati della tua regione AWS account, dovresti concedere il permesso "ssm:StartSession" di eseguire il SSM start-session comando. Di seguito è riportato un esempio di policy per IAM gli utenti.

Slurm

Aggiungi la seguente politica per concedere le autorizzazioni di SSM sessione per la connessione a una SSM destinazione per tutte le risorse. Ciò consente di accedere ai HyperPod cluster.

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

Concedi le seguenti autorizzazioni di IAM ruolo ai data scientist per l'esecuzione hyperpod list-clusters e hyperpod connect-cluster i comandi tra i HyperPod CLI comandi. Per ulteriori informazioni su HyperPod CLI, consultaEsecuzione di lavori su SageMaker HyperPod cluster orchestrati da Amazon EKS. Include anche le autorizzazioni di SSM sessione per connettersi a una SSM destinazione per tutte le risorse. Ciò consente di accedere ai 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": "*" } ] }

Per concedere IAM agli utenti o ai ruoli dei data scientist l'accesso a Kubernetes APIs nel cluster, consulta anche Concedere a IAM utenti e ruoli l'accesso a Kubernetes APIs nella Amazon User Guide. EKS

IAMruolo per SageMaker HyperPod

SageMaker HyperPod Affinché i cluster funzionino e con cui comunicare siano necessari AWS risorse, è necessario creare un IAM ruolo che il HyperPod cluster possa assumere.

Inizia con l'attribuzione del ruolo AWS politica gestita: AmazonSageMakerHyperPodServiceRolePolicy gestito. Dato questo AWS policy gestita, i gruppi di istanze del SageMaker HyperPod cluster assumono il ruolo di comunicare con Amazon CloudWatch, Amazon S3 e AWS Systems Manager Agente (SSMAgente). Questa policy gestita è il requisito minimo per il corretto funzionamento SageMaker HyperPod delle risorse, pertanto è necessario assegnare un IAM ruolo con questa politica a tutti i gruppi di istanze.

Suggerimento

A seconda delle tue preferenze nella progettazione del livello di autorizzazioni per più gruppi di istanze, puoi anche configurare più IAM ruoli e collegarli a diversi gruppi di istanze. Quando configuri l'accesso utente del cluster a nodi specifici del SageMaker HyperPod cluster, i nodi assumono il ruolo con le autorizzazioni selettive assegnate manualmente.

Quando configuri l'accesso per gli scienziati a nodi specifici del cluster tramite AWS Systems Manager(vedi ancheConfigurazione AWS Systems Manager e Run As per il controllo degli accessi degli utenti del cluster), i nodi del cluster assumono il ruolo con le autorizzazioni selettive assegnate manualmente.

Dopo aver creato i IAM ruoli, prendi nota dei loro nomi e. ARNs I ruoli vengono utilizzati durante la creazione di un SageMaker HyperPod cluster, concedendo le autorizzazioni corrette necessarie a ciascun gruppo di istanze con cui comunicare AWS risorse.

Slurm

In caso di HyperPod orchestrazione con Slurm, è necessario allegare la seguente politica gestita al ruolo. SageMaker HyperPod IAM

(Facoltativo) Autorizzazioni aggiuntive per l'utilizzo SageMaker HyperPod con Amazon Virtual Private Cloud

Se desideri utilizzare il tuo Amazon Virtual Private Cloud (VPC) anziché quello predefinito SageMakerVPC, devi aggiungere le seguenti autorizzazioni aggiuntive al IAM ruolo per 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/*" ] }

L'elenco seguente riporta le autorizzazioni necessarie per abilitare le funzionalità SageMaker HyperPod del cluster quando configuri il cluster con il tuo Amazon. VPC

  • Le seguenti ec2 autorizzazioni sono necessarie per abilitare la configurazione di un SageMaker HyperPod cluster con il tuo. VPC

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • È necessaria la seguente ec2 autorizzazione per abilitare la SageMaker HyperPod funzionalità di ripristino automatico.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • La seguente ec2 autorizzazione consente di SageMaker HyperPod creare tag sulle interfacce di rete all'interno del tuo account.

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

In caso di HyperPod orchestrazione con AmazonEKS, devi associare le seguenti politiche gestite al SageMaker HyperPod IAM ruolo.

Oltre alle politiche gestite, allega al ruolo la seguente politica di autorizzazione.

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

L'"eks-auth:AssumeRoleForPodIdentity"autorizzazione è facoltativa. È necessario se prevedi di utilizzare EKS Pod identity.

SageMaker HyperPod ruolo collegato al servizio

Per Amazon EKS Support in SageMaker HyperPod, HyperPod crea un ruolo collegato ai servizi AWS politica gestita: AmazonSageMakerHyperPodServiceRolePolicy per monitorare e supportare la resilienza sul EKS cluster, ad esempio la sostituzione dei nodi e il riavvio dei lavori.

IAMpolitiche per Amazon EKS