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

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS Identity and Access Management para SageMaker HyperPod

AWS Identity and Access Management (IAM) es un AWS servicio que ayuda a un administrador a controlar de forma segura el acceso a los AWS recursos. Los administradores de IAM controlan quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para utilizar recursos de Amazon EKS. La IAM es un AWS servicio que puede utilizar sin coste adicional.

importante

Las políticas de IAM personalizadas que permiten a Amazon SageMaker Studio o Amazon SageMaker Studio Classic crear SageMaker recursos de Amazon también deben conceder permisos para añadir etiquetas a esos recursos. El permiso para añadir etiquetas a los recursos es necesario porque Studio y Studio Classic etiquetan automáticamente todos los recursos que crean. Si una política de IAM permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores de tipo AccessDenied «» al intentar crear recursos. Para obtener más información, consulte Proporcione permisos para etiquetar los recursos de SageMaker IA.

AWS políticas gestionadas para Amazon SageMaker AIque otorgan permisos para crear SageMaker recursos ya incluyen permisos para añadir etiquetas al crear esos recursos.

Supongamos que hay dos niveles principales de SageMaker HyperPod usuarios: los usuarios administradores de clústeres y los usuarios científicos de datos.

  • Usuarios administradores de clústeres: son responsables de crear y administrar SageMaker HyperPod los clústeres. Esto incluye configurar los HyperPod clústeres y administrar el acceso de los usuarios a ellos.

    • Cree y configure SageMaker HyperPod clústeres con Slurm o Amazon EKS.

    • Cree y configure funciones de IAM para los usuarios de científicos de datos y HyperPod los recursos del clúster.

    • Para SageMaker HyperPod la coordinación con Amazon EKS, cree y configure las entradas de acceso de EKS, el control de acceso basado en roles (RBAC) y Pod Identity para cumplir con los casos de uso de la ciencia de datos.

  • Usuarios científicos de datos: se centran en el entrenamiento de modelos de ML. Utilizan el orquestador de código abierto o la SageMaker HyperPod CLI para enviar y gestionar los trabajos de formación.

    • Asumen y utilizan el rol de IAM proporcionado por los usuarios administradores de clústeres.

    • Interactúe con el orquestador de código abierto CLIs compatible con SageMaker HyperPod (Slurm o Kubernetes) o con la SageMaker HyperPod CLI para comprobar la capacidad de los clústeres, conectarse al clúster y enviar las cargas de trabajo.

Configure las funciones de IAM para los administradores de clústeres adjuntando los permisos o políticas adecuados para operar los clústeres. SageMaker HyperPod Los administradores de clústeres también deben crear funciones de IAM para proporcionar a SageMaker HyperPod los recursos la responsabilidad de ejecutar y comunicarse con AWS los recursos necesarios, como Amazon S3 CloudWatch, Amazon y AWS Systems Manager (SSM). Por último, el administrador de la AWS cuenta o los administradores del clúster deben conceder a los científicos permisos para acceder a los SageMaker HyperPod clústeres y ejecutar cargas de trabajo de aprendizaje automático.

Según el orquestador que elija, los permisos necesarios para el administrador de clústeres y los científicos pueden variar. También puede controlar el alcance de los permisos para las distintas acciones de los roles mediante las claves de condición de cada servicio. Utilice las siguientes referencias de autorización de servicios para añadir un alcance detallado a los servicios relacionados con. SageMaker HyperPod

Usuarios de IAM para la administración de clústeres

Los administradores de clústeres (administradores) operan y configuran SageMaker HyperPod los clústeres y realizan las tareas en SageMaker HyperPod Operaciones de clúster de Slurm ellos. El siguiente ejemplo de política incluye el conjunto mínimo de permisos para que los administradores de clústeres ejecuten el SageMaker HyperPod núcleo APIs y administren SageMaker HyperPod los clústeres de su AWS cuenta.

nota

Los usuarios de IAM con funciones de administrador de clústeres pueden usar claves de condición para proporcionar un control de acceso detallado al administrar los recursos del SageMaker HyperPod clúster específicamente para las UpdateCluster acciones CreateCluster y. Para encontrar las claves de condición compatibles con estas acciones, busca CreateCluster o UpdateCluster en las Acciones definidas por la SageMaker IA.

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

Para conceder permisos de acceso a la consola de SageMaker IA, utilice el ejemplo de política que se proporciona en Permisos necesarios para utilizar la consola de SageMaker IA de Amazon.

Para conceder permisos de acceso a la consola Amazon EC2 Systems Manager, utilice el ejemplo de política que se proporciona en Uso de la AWS Systems Manager consola en la Guía del AWS Systems Manager usuario.

También podría considerar la posibilidad de adjuntar la AmazonSageMakerFullAccesspolítica al rol; sin embargo, tenga en cuenta que la AmazonSageMakerFullAccess política otorga permisos a todas las llamadas, funciones y recursos de la SageMaker API.

Para obtener más información sobre los usuarios de IAM en general, consulte Usuarios de IAM en la Guía del usuario de AWS Identity and Access Management .

Usuarios de IAM para científicos

Los científicos inician sesión y ejecutan cargas de trabajo de aprendizaje automático en los nodos del SageMaker HyperPod clúster aprovisionados por los administradores del clúster. A los científicos de tu AWS cuenta, debes concederles el permiso "ssm:StartSession" para ejecutar el comando SSM. start-session A continuación, se muestra una política de ejemplo para usuarios de IAM.

Slurm

Añada la siguiente política para otorgar permisos de sesión de SSM para conectarse a un destino de SSM para todos los recursos. Esto le permite acceder a los HyperPod clústeres.

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

Otorgue los siguientes permisos de rol de IAM para que los científicos de datos ejecuten hyperpod connect-cluster comandos hyperpod list-clusters y comandos entre los comandos de la HyperPod CLI. Para obtener más información sobre la HyperPod CLI, consulteEjecución de tareas en SageMaker HyperPod clústeres orquestados por Amazon EKS. También incluye permisos de sesión de SSM para conectarse a un destino de SSM para todos los recursos. Esto le permite acceder a HyperPod los clústeres.

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

Para conceder a los usuarios o roles de IAM de los científicos de datos acceso a Kubernetes APIs en el clúster, consulte también Otorgar a los usuarios y roles de IAM acceso a Kubernetes en la Guía del usuario de Amazon EKS. APIs

Función de IAM para SageMaker HyperPod

Para que SageMaker HyperPod los clústeres se ejecuten y se comuniquen con AWS los recursos necesarios, es necesario crear un rol de IAM para que el HyperPod clúster lo asuma.

Comience por asociar el rol administrado AWS política gestionada: AmazonSageMakerHyperPodServiceRolePolicy. Con esta política AWS administrada, los grupos de instancias de SageMaker HyperPod clúster asumen la función de comunicarse con Amazon CloudWatch, Amazon S3 y AWS Systems Manager Agent (SSM Agent). Esta política administrada es el requisito mínimo para que SageMaker HyperPod los recursos se ejecuten correctamente, por lo que debes proporcionar una función de IAM junto con esta política a todos los grupos de instancias.

sugerencia

En función de sus preferencias a la hora de diseñar el nivel de permisos para varios grupos de instancias, también puede configurar varios roles de IAM y asociarlos a distintos grupos de instancias. Cuando configuras el acceso de los usuarios del clúster a nodos específicos del SageMaker HyperPod clúster, los nodos asumen la función con los permisos selectivos que adjuntas manualmente.

Al configurar el acceso de los científicos a nodos específicos del clúster a través de AWS Systems Manager (consulte también Configurar AWS Systems Manager y ejecutar como para el control de acceso de los usuarios del clúster), los nodos del clúster asumen el rol con los permisos selectivos que asocie manualmente.

Cuando haya terminado de crear los roles de IAM, anote sus nombres y ARNs. Usas las funciones al crear un SageMaker HyperPod clúster y concedes los permisos correctos necesarios para que cada grupo de instancias se comunique con AWS los recursos necesarios.

Slurm

Para HyperPod organizarlo con Slurm, debes adjuntar la siguiente política administrada a la SageMaker HyperPod función de IAM.

(Opcional) Permisos adicionales para su uso SageMaker HyperPod con Amazon Virtual Private Cloud

Si desea utilizar su propia Amazon Virtual Private Cloud (VPC) en lugar de la VPC de IA SageMaker predeterminada, debe añadir los siguientes permisos adicionales a la función de IAM para. 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/*" ] }

En la siguiente lista se desglosan los permisos necesarios para habilitar las funcionalidades del SageMaker HyperPod clúster al configurar el clúster con su propia Amazon VPC.

  • Se requieren los siguientes ec2 permisos para habilitar la configuración de un SageMaker HyperPod clúster con la VPC.

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • Se requiere el siguiente ec2 permiso para habilitar la SageMaker HyperPod función de reanudación automática.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • El siguiente ec2 permiso permite SageMaker HyperPod crear etiquetas en las interfaces de red de su cuenta.

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

Para HyperPod orquestar con Amazon EKS, debe adjuntar las siguientes políticas administradas a la función de SageMaker HyperPod IAM.

Además de las políticas administradas, asocie la siguiente política de permisos al rol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignPrivateIpAddresses", "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeTags", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:UnassignPrivateIpAddresses", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
nota

Tenga en cuenta que el permiso "eks-auth:AssumeRoleForPodIdentity" es opcional. Es obligatorio si tiene previsto usar EKS Pod Identity.

SageMaker HyperPod función vinculada al servicio

Para el soporte de Amazon EKS SageMaker HyperPod, HyperPod crea una función vinculada al servicio AWS política gestionada: AmazonSageMakerHyperPodServiceRolePolicy para supervisar y respaldar la resiliencia de su clúster de EKS, por ejemplo, la sustitución de nodos y el reinicio de tareas.

Políticas de IAM para Amazon EKS