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

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 aide un administrateur à contrôler en toute sécurité l'accès aux AWS ressources. Des administrateurs IAM contrôlent les personnes qui peuvent être authentifiées (connectées) et autorisées (disposant d'autorisations) pour utiliser des ressources Amazon EKS. IAM est un AWS service que vous pouvez utiliser sans frais supplémentaires.

Important

Les politiques IAM personnalisées qui permettent à Amazon SageMaker Studio ou Amazon SageMaker Studio Classic de 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 politique IAM 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 d' SageMaker IA.

AWS politiques gérées pour Amazon SageMaker AIqui 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 des rôles IAM pour les utilisateurs de data scientists et les ressources HyperPod du cluster.

    • Pour l' SageMaker HyperPod orchestration avec Amazon EKS, créez et configurez des entrées d'accès EKS, 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 ML. Ils utilisent l'orchestrateur open source ou la SageMaker HyperPod CLI pour soumettre et gérer les tâches de formation.

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

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

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

Selon 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.

Utilisateurs IAM 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 compte.

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

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

Pour accorder des autorisations d'accès à la console Amazon EC2 Systems Manager, utilisez l'exemple de politique fourni dans la section Utilisation de la AWS Systems Manager console dans le guide de AWS Systems Manager 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 appels, des fonctionnalités et des ressources d' SageMaker API.

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

Utilisateurs d'IAM 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 autoriser l'exécution "ssm:StartSession" de la start-session commande SSM. Voici un exemple de stratégie pour les utilisateurs d'IAM.

Slurm

Ajoutez la politique suivante pour accorder des autorisations de session SSM permettant de se connecter à une cible SSM 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 rôle IAM suivantes aux data scientists pour qu'ils puissent exécuter hyperpod list-clusters des hyperpod connect-cluster commandes parmi les commandes de la HyperPod CLI. Pour en savoir plus sur la HyperPod CLI, consultezExécution de tâches sur SageMaker HyperPod des clusters orchestrés par Amazon EKS. Il inclut également les autorisations de session SSM pour se connecter à une cible SSM 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 autoriser les utilisateurs ou les rôles IAM aux data scientists à accéder à Kubernetes APIs dans le cluster, consultez également la section Accorder aux utilisateurs et aux rôles IAM l'accès à Kubernetes dans le guide de l'utilisateur Amazon EKS. APIs

Rôle IAM pour SageMaker HyperPod

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

Commencez par associer le rôle géréAWS politique gérée : AmazonSageMakerHyperPodServiceRolePolicy. Compte tenu de cette politique AWS 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 l'agent (agent SSM). Cette politique gérée est le minimum requis pour que les SageMaker HyperPod ressources fonctionnent correctement. Vous devez donc fournir un rôle IAM avec cette politique à tous les groupes d'instances.

Astuce

Selon vos préférences en matière de conception du niveau d'autorisations pour plusieurs groupes d'instances, vous pouvez également configurer plusieurs rôles IAM 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 de cluster assument le rôle avec les autorisations sélectives que vous attachez manuellement.

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

Slurm

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

(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 VPC AI SageMaker par défaut, vous devez ajouter les autorisations supplémentaires suivantes au rôle IAM 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 Amazon VPC.

  • Les ec2 autorisations suivantes sont requises pour activer la configuration d'un SageMaker HyperPod cluster avec votre VPC.

    { "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 Amazon EKS, vous devez associer les politiques gérées suivantes au rôle SageMaker HyperPod IAM.

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 l'identité EKS Pod.

SageMaker HyperPod rôle lié au service

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

Politiques IAM pour Amazon EKS