AWS Identity and Access Management para SageMaker HyperPod - Amazon SageMaker

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 AWS recursos. IAMlos administradores controlan quién puede autenticarse (iniciar sesión) y quién está autorizado (tiene permisos) para usar los EKS recursos de Amazon. IAMes un AWS servicio que puede utilizar sin cargo adicional.

importante

IAMLas políticas 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 obligatorio porque Studio y Studio Classic etiquetan automáticamente los recursos que crean. Si una IAM política permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores AccessDenied «» al intentar crear recursos. Para obtener más información, consulte Proporciona permisos para etiquetar SageMaker los recursos.

AWS Políticas gestionadas para Amazon SageMakerque 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 IAM funciones para los usuarios de científicos de datos y los recursos HyperPod del clúster.

    • Para SageMaker HyperPod la coordinación con AmazonEKS, cree y configure entradas de acceso, control de EKS 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: céntrese en la formación sobre modelos de aprendizaje automático. Utilizan el orquestador de código abierto o el SageMaker HyperPod CLI para enviar y gestionar los trabajos de formación.

    • Asume y usa el IAM rol proporcionado por los usuarios administradores del clúster.

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

Configure las IAM funciones de 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 IAM funciones para proporcionar a SageMaker HyperPod los recursos las funciones necesarias para ejecutarlas y comunicarse con ellas AWS recursos, como Amazon S3 CloudWatch, Amazon y AWS Systems Manager (SSM). Por último, el AWS El administrador de la 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 del clúster y los científicos pueden variar. También puedes controlar el alcance de los permisos para diversas acciones de los roles mediante las claves condicionales de cada servicio. Utilice las siguientes referencias de autorización de servicio para añadir un alcance detallado a los servicios relacionados con SageMaker HyperPod.

IAMusuarios para el administrador de clústeres

Los administradores de clústeres (administradores) operan y configuran SageMaker HyperPod los clústeres y realizan las tareas en Gestión de SageMaker HyperPod clústeres orquestados por 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 los SageMaker HyperPod clústeres dentro de su 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": "*" } ] }

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

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

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

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

IAMusuarios para científicos

Los científicos inician sesión y ejecutan cargas de trabajo de aprendizaje automático en nodos de SageMaker HyperPod clústeres aprovisionados por los administradores de clústeres. Para los científicos de su AWS cuenta, debe conceder el permiso "ssm:StartSession" para ejecutar el SSM start-session comando. El siguiente es un ejemplo de política para IAM los usuarios.

Slurm

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

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

Otorgue a los IAM científicos de datos los siguientes permisos para que los científicos de datos puedan ejecutar hyperpod list-clusters y hyperpod connect-cluster comandos entre los HyperPod CLI comandos. Para obtener más información sobre el HyperPod CLI, consulteEjecutar tareas en SageMaker HyperPod clústeres orquestados por Amazon EKS. También incluye permisos de SSM sesión para conectarse a un SSM destino 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 IAM los usuarios o roles de los científicos de datos acceso a Kubernetes APIs en el clúster, consulte también Otorgar a IAM los usuarios y roles acceso a Kubernetes APIs en la Guía del usuario de Amazon. EKS

IAMrol para SageMaker HyperPod

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

Comience por adjuntar el rol AWS política gestionada: AmazonSageMakerHyperPodServiceRolePolicy administrado. Dado esto AWS política 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 Agente (SSMagente). Esta política administrada es el requisito mínimo para que SageMaker HyperPod los recursos se ejecuten correctamente, por lo que debes asignar una IAM función con esta política a todos los grupos de instancias.

sugerencia

Según tus preferencias a la hora de diseñar el nivel de permisos para varios grupos de instancias, también puedes configurar varios IAM roles y asociarlos a diferentes 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 mediante AWS Systems Manager(consulte tambiénConfiguración AWS Systems Manager y Ejecute As para el control de acceso de los usuarios del clúster), los nodos del clúster asumen la función con los permisos selectivos que se adjuntan manualmente.

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

Slurm

Si HyperPod se organiza con Slurm, debe adjuntar la siguiente política gestionada a la función. SageMaker HyperPod IAM

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

Si quieres usar tu propia Amazon Virtual Private Cloud (VPC) en lugar de la predeterminada SageMakerVPC, debes añadir los siguientes permisos adicionales a la IAM función 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/*" ] }

La siguiente lista detalla los permisos necesarios para habilitar las funcionalidades SageMaker HyperPod del clúster cuando configuras el clúster con tu propio AmazonVPC.

  • Los siguientes ec2 permisos son necesarios para poder configurar un SageMaker HyperPod clúster con suVPC.

    { "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 AmazonEKS, debes adjuntar las siguientes políticas gestionadas al SageMaker HyperPod IAM rol.

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

{ "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

El "eks-auth:AssumeRoleForPodIdentity" permiso es opcional. Es obligatorio si planeas usar la identidad de EKS Pod.

SageMaker HyperPod función vinculada al servicio

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

IAMpolíticas para Amazon EKS