AWS Identity and Access Management pour SageMaker HyperPod - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Identity and Access Management pour SageMaker HyperPod

AWS Identity and Access Management (IAM) est un AWS service qui permet à un administrateur de contrôler en toute sécurité l'accès à AWS ressources. IAMles administrateurs contrôlent qui peut être authentifié (connecté) et autorisé (autorisé) à utiliser les EKS ressources Amazon. IAMest un AWS service que vous pouvez utiliser sans frais supplémentaires.

Important

Les IAM politiques personnalisées qui autorisent Amazon SageMaker Studio ou Amazon SageMaker Studio Classic à créer des SageMaker ressources Amazon doivent également accorder des autorisations pour ajouter des balises à ces ressources. L'autorisation d'ajouter des balises aux ressources est requise car Studio et Studio Classic balisent automatiquement toutes les ressources qu'ils créent. Si une IAM politique autorise Studio et Studio Classic à créer des ressources mais n'autorise pas le balisage, des erreurs « AccessDenied » peuvent se produire lors de la tentative de création de ressources. Pour de plus amples informations, veuillez consulter Fournir des autorisations pour le balisage des ressources SageMaker.

AWS Politiques gérées pour Amazon SageMakerqui donnent des autorisations pour créer des SageMaker ressources incluent déjà des autorisations pour ajouter des balises lors de la création de ces ressources.

Supposons qu'il existe deux couches principales d' SageMaker HyperPod utilisateurs : les administrateurs du cluster et les utilisateurs des data scientists.

  • Utilisateurs administrateurs de clusters : ils sont responsables de la création et de la gestion des SageMaker HyperPod clusters. Cela inclut la configuration des HyperPod clusters et la gestion de l'accès des utilisateurs à ceux-ci.

    • Créez et configurez SageMaker HyperPod des clusters avec Slurm ou Amazon. EKS

    • Créez et configurez IAM des rôles pour les utilisateurs de data scientists et les ressources HyperPod du cluster.

    • Pour l' SageMaker HyperPod orchestration avec AmazonEKS, créez et configurez des entrées EKS d'accès, un contrôle d'accès basé sur les rôles (RBAC) et Pod Identity pour répondre aux cas d'utilisation de la science des données.

  • Utilisateurs de data scientists — Concentrez-vous sur la formation des modèles de machine learning. Ils utilisent l'orchestrateur open source ou le SageMaker HyperPod CLI pour soumettre et gérer des tâches de formation.

    • Assumez et utilisez le IAM rôle fourni par les utilisateurs administrateurs du cluster.

    • Interagissez avec l'orchestrateur open source CLIs pris en charge par SageMaker HyperPod (Slurm ou Kubernetes) ou SageMaker HyperPod CLI pour vérifier la capacité des clusters, vous connecter au cluster et soumettre des charges de travail.

Configurez IAM des rôles pour les administrateurs de clusters en attachant les autorisations ou les politiques appropriées pour faire fonctionner les SageMaker HyperPod clusters. Les administrateurs du cluster doivent également créer des IAM rôles à attribuer aux SageMaker HyperPod ressources à assumer, à exécuter et à communiquer avec les personnes nécessaires. AWS des ressources, telles qu'Amazon S3 CloudWatch, Amazon et AWS Systems Manager (SSM). Enfin, le AWS l'administrateur du compte ou les administrateurs du cluster doivent accorder aux scientifiques les autorisations nécessaires pour accéder aux SageMaker HyperPod clusters et exécuter des charges de travail ML.

En fonction de l'orchestrateur que vous choisissez, les autorisations requises pour l'administrateur du cluster et les scientifiques peuvent varier. Vous pouvez également contrôler l'étendue des autorisations pour différentes actions dans les rôles à l'aide des clés de condition par service. Utilisez les références d'autorisation de service suivantes pour ajouter une portée détaillée aux services associés à SageMaker HyperPod.

IAMutilisateurs pour l'administrateur du cluster

Les administrateurs de clusters (administrateurs) exploitent et configurent les SageMaker HyperPod clusters, en effectuant les tâches dansSageMaker HyperPod opération. L'exemple de politique suivant inclut l'ensemble minimal d'autorisations permettant aux administrateurs de clusters d'exécuter le SageMaker HyperPod noyau APIs et de gérer les SageMaker HyperPod clusters au sein de votre 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" ], "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": "*" } ] }

Pour accorder des autorisations d'accès à la SageMaker console, utilisez l'exemple de politique fourni dans Autorisations requises pour utiliser la SageMaker console Amazon.

Pour accorder des autorisations d'accès à la console Amazon EC2 Systems Manager, utilisez l'exemple de politique fourni dans Using the AWS Systems Manager console dans le AWS Systems Manager Guide de l'utilisateur.

Vous pouvez également envisager d'associer la AmazonSageMakerFullAccesspolitique au rôle ; toutefois, notez que la AmazonSageMakerFullAccess politique accorde des autorisations à l'ensemble des SageMaker API appels, des fonctionnalités et des ressources.

Pour obtenir des conseils sur IAM les utilisateurs en général, voir IAMles utilisateurs dans le AWS Identity and Access Management Guide de l'utilisateur.

IAMutilisateurs pour les scientifiques

Les scientifiques se connectent et exécutent des charges de travail ML sur les nœuds de SageMaker HyperPod cluster fournis par les administrateurs du cluster. Pour les scientifiques de votre AWS compte, vous devez accorder l'autorisation "ssm:StartSession" d'exécuter la SSM start-session commande. Voici un exemple de politique destiné IAM aux utilisateurs.

Slurm

Ajoutez la politique suivante pour accorder des autorisations de SSM session permettant de se connecter à une SSM cible pour toutes les ressources. Cela vous permet d'accéder aux HyperPod clusters.

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

Accordez les autorisations de IAM rôle suivantes aux data scientists pour qu'ils hyperpod list-clusters puissent exécuter et commander parmi les hyperpod connect-cluster HyperPod CLI commandes. Pour en savoir plus sur le HyperPod CLI, voirExécution de tâches sur SageMaker HyperPod des clusters orchestrés par Amazon EKS. Il inclut également des autorisations de SSM session pour se connecter à une SSM cible pour toutes les ressources. Cela vous permet d'accéder aux HyperPod clusters.

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

Pour accorder aux IAM utilisateurs ou aux rôles des data scientists l'accès à Kubernetes APIs dans le cluster, voir également Accorder IAM aux utilisateurs et aux rôles l'accès à Kubernetes APIs dans le guide de l'utilisateur Amazon. EKS

IAMrôle pour SageMaker HyperPod

Pour que les SageMaker HyperPod clusters s'exécutent et communiquent avec les éléments nécessaires AWS ressources, vous devez créer un IAM rôle que le HyperPod cluster doit assumer.

Commencez par associer le rôle géréAWS politique gérée : AmazonSageMakerHyperPodServiceRolePolicy. Compte tenu de cela AWS politique gérée, les groupes d'instances de SageMaker HyperPod cluster assument le rôle de communiquer avec Amazon CloudWatch, Amazon S3 et AWS Systems Manager Agente (SSMAgent). Cette stratégie gérée est le minimum requis pour que les SageMaker HyperPod ressources fonctionnent correctement. Vous devez donc attribuer un IAM rôle avec cette politique à tous les groupes d'instances.

Astuce

En fonction de vos préférences en matière de conception du niveau d'autorisations pour plusieurs groupes d'instances, vous pouvez également configurer plusieurs IAM rôles et les associer à différents groupes d'instances. Lorsque vous configurez l'accès des utilisateurs de votre cluster à des nœuds de SageMaker HyperPod cluster spécifiques, les nœuds assument le rôle avec les autorisations sélectives que vous avez associées manuellement.

Lorsque vous configurez l'accès des scientifiques à des nœuds de cluster spécifiques via AWS Systems Manager(voir égalementConfiguration AWS Systems Manager et exécution en tant que pour le contrôle d'accès des utilisateurs du cluster), les nœuds du cluster assument le rôle avec les autorisations sélectives que vous attachez manuellement.

Une fois que vous avez terminé de créer IAM des rôles, notez leurs noms etARNs. Vous utilisez les rôles lors de la création d'un SageMaker HyperPod cluster, en accordant les autorisations correctes requises pour que chaque groupe d'instances puisse communiquer avec les personnes nécessaires AWS ressources.

Slurm

Pour HyperPod orchestrer avec Slurm, vous devez associer la politique gérée suivante au rôle. SageMaker HyperPod IAM

(Facultatif) Autorisations supplémentaires pour l'utilisation SageMaker HyperPod avec Amazon Virtual Private Cloud

Si vous souhaitez utiliser votre propre Amazon Virtual Private Cloud (VPC) au lieu du cloud par défaut SageMakerVPC, vous devez ajouter les autorisations supplémentaires suivantes au IAM rôle pour 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/*" ] }

La liste suivante indique les autorisations nécessaires pour activer les fonctionnalités SageMaker HyperPod du cluster lorsque vous configurez le cluster avec votre propre AmazonVPC.

  • Les ec2 autorisations suivantes sont requises pour permettre la configuration d'un SageMaker HyperPod cluster avec votreVPC.

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • L'ec2autorisation suivante est requise pour activer la fonctionnalité de SageMaker HyperPod reprise automatique.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • L'ec2autorisation suivante permet SageMaker HyperPod de créer des tags sur les interfaces réseau de votre compte.

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

Pour HyperPod orchestrer avec AmazonEKS, vous devez associer les politiques gérées suivantes au SageMaker HyperPod IAM rôle.

Outre les politiques gérées, associez la politique d'autorisation suivante au rôle.

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

L'"eks-auth:AssumeRoleForPodIdentity"autorisation est facultative. C'est obligatoire si vous prévoyez d'utiliser EKS Pod Identity.

SageMaker HyperPod rôle lié au service

Pour Amazon EKS Support in SageMaker HyperPod, HyperPod crée un rôle lié au service pour surveiller et soutenir la résilience AWS politique gérée : AmazonSageMakerHyperPodServiceRolePolicy de votre EKS cluster, par exemple en remplaçant des nœuds et en redémarrant des tâches.

IAMpolitiques pour Amazon EKS