AWS Identity and Access Management per SageMaker HyperPod - Amazon SageMaker AI

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 alle AWS risorse. Gli amministratori IAM controllano chi è autenticato (accesso effettuato) e autorizzato (dispone di autorizzazioni) a utilizzare risorse Amazon EKS. IAM è un AWS servizio che puoi utilizzare senza costi aggiuntivi.

Importante

Le politiche IAM 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 policy IAM 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 SageMaker etichettare le risorse AI.

AWS politiche gestite per Amazon SageMaker AIche danno i permessi 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 ruoli IAM per gli utenti dei data scientist e HyperPod le risorse del cluster.

    • Per l' SageMaker HyperPod orchestrazione con Amazon EKS, crea e configura voci di accesso EKS, 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. Usano l'orchestrator open source o la CLI per inviare e gestire SageMaker HyperPod i lavori di formazione.

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

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

Configura i ruoli IAM per gli amministratori dei cluster associando le autorizzazioni o le politiche corrette per gestire i cluster. SageMaker HyperPod Gli amministratori dei cluster devono inoltre creare ruoli IAM per fornire SageMaker HyperPod le risorse necessarie all'esecuzione e alla comunicazione con AWS le risorse necessarie, come Amazon S3 AWS Systems Manager , CloudWatch Amazon e (SSM). Infine, l'amministratore dell' AWS account o gli amministratori del cluster devono concedere agli scienziati le autorizzazioni per accedere ai cluster ed eseguire carichi di lavoro ML. SageMaker HyperPod

A seconda dell'orchestratore scelto, le autorizzazioni necessarie per l'amministratore del cluster e gli scienziati 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.

Utenti IAM per amministratori di 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 del cluster per eseguire il SageMaker HyperPod core APIs e gestire i cluster all'interno dell'account. SageMaker HyperPod AWS

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", "sagemaker:BatchDeleteClusterNodes" ], "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:BatchDeleteClusterNodes", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry", "eks:AssociateAccessPolicy", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

Per concedere le autorizzazioni di accesso alla console di SageMaker intelligenza artificiale, utilizza la policy di esempio fornita in Autorizzazioni necessarie per utilizzare la console Amazon SageMaker AI.

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

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

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

Utenti IAM per scienziati

Gli scienziati accedono ed eseguono carichi di lavoro ML su nodi SageMaker HyperPod del cluster forniti dagli amministratori del cluster. Agli scienziati del tuo AWS account, devi concedere l'autorizzazione "ssm:StartSession" a eseguire il comando SSM. start-session Di seguito è riportato un esempio di policy per gli utenti IAM.

Slurm

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

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

Concedi le seguenti autorizzazioni di ruolo IAM ai data scientist per l'esecuzione hyperpod list-clusters e hyperpod connect-cluster i comandi tra i comandi HyperPod CLI. Per ulteriori informazioni sulla HyperPod CLI, consulta. Esecuzione di processi su SageMaker HyperPod cluster orchestrati da Amazon EKS Include anche le autorizzazioni di sessione SSM per la connessione a una destinazione SSM per tutte le risorse. Ciò consente di accedere ai cluster. HyperPod

{ "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 ai data scientist l'accesso a utenti o ruoli IAM a Kubernetes APIs nel cluster, consulta anche Concedere a utenti e ruoli IAM l'accesso a Kubernetes APIs nella Amazon EKS User Guide.

Ruolo IAM per SageMaker HyperPod

SageMaker HyperPod Affinché i cluster possano funzionare e comunicare con AWS le risorse necessarie, è necessario creare un ruolo IAM da far assumere al HyperPod cluster.

Inizia associando il ruolo gestito. AWS politica gestita: AmazonSageMakerHyperPodServiceRolePolicy In base AWS a questa politica gestita, i gruppi di istanze del SageMaker HyperPod cluster assumono il ruolo di comunicare con Amazon CloudWatch, Amazon S3 e AWS Systems Manager Agent (agente SSM). Questa policy gestita è il requisito minimo per il corretto funzionamento SageMaker HyperPod delle risorse, quindi è necessario fornire un ruolo IAM con questa policy a tutti i gruppi di istanze.

Suggerimento

A seconda delle tue preferenze sulla progettazione del livello di autorizzazioni per più gruppi di istanze, puoi anche configurare più ruoli IAM 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 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 ruoli IAM, prendi nota dei loro nomi e. ARNs I ruoli vengono utilizzati durante la creazione di un SageMaker HyperPod cluster, concedendo le autorizzazioni corrette richieste a ciascun gruppo di istanze per comunicare con le risorse necessarie AWS .

Slurm

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

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

Se desideri utilizzare il tuo Amazon Virtual Private Cloud (VPC) al posto del tuo SageMaker VPC AI predefinito, devi aggiungere le seguenti autorizzazioni aggiuntive al ruolo IAM 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 personale.

  • 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

Per l' HyperPod orchestrazione con Amazon EKS, è necessario collegare le seguenti politiche gestite al ruolo SageMaker HyperPod IAM.

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 il supporto di Amazon EKS in SageMaker HyperPod, HyperPod crea un ruolo collegato ai servizi AWS politica gestita: AmazonSageMakerHyperPodServiceRolePolicy per monitorare e supportare la resilienza sul cluster EKS, ad esempio la sostituzione dei nodi e il riavvio dei lavori.

Politiche IAM per Amazon EKS