AWS Identity and Access Management para SageMaker HyperPod - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Identity and Access Management para SageMaker HyperPod

AWS Identity and Access Management (IAM) é um AWS serviço que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser autenticado (conectado) e autorizado (ter permissões) para usar os recursos do Amazon EKS. O IAM é um AWS serviço que você pode usar sem custo adicional.

Importante

Políticas personalizadas do IAM que permitem que o Amazon SageMaker SageMaker Studio ou o Amazon Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma política do IAM permitir que o Studio e o Studio Classic criem recursos, mas não permitisse a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte Forneça permissões para marcar recursos de SageMaker IA.

AWS políticas gerenciadas para Amazon SageMaker AIque dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.

Vamos supor que haja duas camadas principais de SageMaker HyperPod usuários: usuários administradores de cluster e usuários de cientistas de dados.

  • Usuários administradores de clusters — são responsáveis por criar e gerenciar SageMaker HyperPod clusters. Isso inclui configurar os HyperPod clusters e gerenciar o acesso do usuário a eles.

    • Crie e configure SageMaker HyperPod clusters com o Slurm ou o Amazon EKS.

    • Crie e configure funções do IAM para usuários de cientistas de dados e recursos de HyperPod cluster.

    • Para SageMaker HyperPod orquestração com o Amazon EKS, crie e configure entradas de acesso do EKS, controle de acesso baseado em função (RBAC) e Pod Identity para atender aos casos de uso da ciência de dados.

  • Usuários cientistas de dados: concentram-se no treinamento de modelo de ML. Eles usam o orquestrador de código aberto ou a SageMaker HyperPod CLI para enviar e gerenciar trabalhos de treinamento.

    • Assuma e use o perfil do IAM fornecida pelos usuários administradores do cluster.

    • Interaja com o orquestrador de código aberto CLIs suportado pelo SageMaker HyperPod (Slurm ou Kubernetes) ou pela SageMaker HyperPod CLI para verificar a capacidade dos clusters, conectar-se ao cluster e enviar cargas de trabalho.

Configure funções do IAM para administradores de clusters anexando as permissões ou políticas corretas para operar clusters. SageMaker HyperPod Os administradores do cluster também devem criar funções do IAM para fornecer SageMaker HyperPod recursos que assumam a execução e a comunicação com AWS os recursos necessários, como Amazon S3 AWS Systems Manager , CloudWatch Amazon e (SSM). Por fim, o administrador da AWS conta ou os administradores do cluster devem conceder aos cientistas permissões para acessar os SageMaker HyperPod clusters e executar cargas de trabalho de ML.

Dependendo do orquestrador escolhido, as permissões necessárias para o administrador do cluster e os cientistas podem variar. É possível também controlar o escopo das permissões para várias ações nas funções usando as chaves de condição por serviço. Use as seguintes referências de autorização de serviço para adicionar escopo detalhado aos serviços relacionados SageMaker HyperPod a.

Usuários do IAM para administração de cluster

Os administradores de cluster (administradores) operam e configuram SageMaker HyperPod clusters, executando as tarefas em. SageMaker HyperPod operação O exemplo de política a seguir inclui o conjunto mínimo de permissões para administradores de cluster executarem o SageMaker HyperPod núcleo APIs e gerenciarem SageMaker HyperPod clusters em sua AWS conta.

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

Para conceder permissões para acessar o console de SageMaker IA, use o exemplo de política fornecido em Permissões necessárias para usar o console Amazon SageMaker AI.

Para conceder permissões para acessar o console do Amazon EC2 Systems Manager, use o exemplo de política fornecido em Usando o AWS Systems Manager console no Guia do AWS Systems Manager usuário.

Você também pode considerar anexar a AmazonSageMakerFullAccesspolítica à função; no entanto, observe que a AmazonSageMakerFullAccess política concede permissões para todas as chamadas, recursos e recursos da SageMaker API.

Para orientação sobre usuários do IAM em geral, consulte Usuários do IAM no Guia do usuário do AWS Identity and Access Management .

Usuários do IAM para cientistas

Cientistas fazem login e executam cargas de trabalho de ML em nós de SageMaker HyperPod cluster provisionados por administradores de cluster. Para cientistas em sua AWS conta, você deve conceder a permissão "ssm:StartSession" para executar o start-session comando SSM. Veja a seguir um exemplo de política para os usuários do IAM.

Slurm

Adicione a política a seguir para conceder permissões de sessão SSM para se conectar a um destino SSM para todos os recursos. Isso permite que você acesse HyperPod clusters.

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

Conceda as seguintes permissões de função do IAM para os cientistas de dados executarem hyperpod list-clusters e hyperpod connect-cluster comandarem entre os comandos da HyperPod CLI. Para saber mais sobre a HyperPod CLI, consulte. Execução de trabalhos em SageMaker HyperPod clusters orquestrados pelo Amazon EKS Também inclui permissões de sessão do SSM para se conectar a um destino do SSM para todos os recursos. Isso permite que você acesse 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": "*" } ] }

Para conceder aos cientistas de dados aos usuários ou funções do IAM acesso ao Kubernetes APIs no cluster, consulte também Conceder aos usuários e funções do IAM acesso ao Kubernetes APIs no Guia do usuário do Amazon EKS.

Função do IAM para SageMaker HyperPod

Para que SageMaker HyperPod os clusters sejam executados e se comuniquem com AWS os recursos necessários, você precisa criar uma função do IAM para que o HyperPod cluster assuma.

Comece anexando a função AWS política gerenciada: AmazonSageMakerHyperPodServiceRolePolicy gerenciada. Com essa política AWS gerenciada, os grupos de instâncias de SageMaker HyperPod cluster assumem a função de se comunicar com a Amazon CloudWatch, o Amazon S3 e o AWS Systems Manager Agent (SSM Agent). Essa política gerenciada é o requisito mínimo para que SageMaker HyperPod os recursos sejam executados adequadamente, então você deve fornecer uma função do IAM com essa política para todos os grupos de instâncias.

dica

Dependendo da sua preferência em criar o nível de permissões para vários grupos de instâncias, você também pode configurar vários perfis do IAM e anexá-las a diferentes grupos de instâncias. Quando você configura o acesso do usuário do cluster a nós específicos do SageMaker HyperPod cluster, os nós assumem a função com as permissões seletivas que você anexou manualmente.

Quando você configura o acesso dos cientistas a nós específicos do cluster por meio de AWS Systems Manager(veja também Configurando AWS Systems Manager e executando como para controle de acesso do usuário do cluster), os nós do cluster assumem a função com as permissões seletivas que você anexa manualmente.

Depois de concluir a criação das funções do IAM, anote seus nomes ARNs e. Você usa as funções ao criar um SageMaker HyperPod cluster, concedendo as permissões corretas necessárias para que cada grupo de instâncias se comunique com AWS os recursos necessários.

Slurm

Para HyperPod orquestrar com o Slurm, você deve anexar a seguinte política gerenciada à função do IAM. SageMaker HyperPod

(Opcional) Permissões adicionais para uso SageMaker HyperPod com a Amazon Virtual Private Cloud

Se você quiser usar sua própria Amazon Virtual Private Cloud (VPC) em vez da AI SageMaker VPC padrão, você deve adicionar as seguintes permissões adicionais à função do 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/*" ] }

A lista a seguir detalha quais permissões são necessárias para habilitar as funcionalidades SageMaker HyperPod do cluster quando você configura o cluster com sua própria Amazon VPC.

  • As ec2 permissões a seguir são necessárias para permitir a configuração de um SageMaker HyperPod cluster com sua VPC.

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • A ec2 permissão a seguir é necessária para ativar a funcionalidade de SageMaker HyperPod retomada automática.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • A ec2 permissão a seguir SageMaker HyperPod permite criar tags nas interfaces de rede da sua conta.

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

Para HyperPod orquestrar com o Amazon EKS, você deve anexar as seguintes políticas gerenciadas à SageMaker HyperPod função do IAM.

Além das políticas gerenciadas, anexe a política de permissões a seguir à função.

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

Observe que a permissão "eks-auth:AssumeRoleForPodIdentity" é opcional. É necessário se você planeja usar a Identidade de Pods do EKS.

SageMaker HyperPod função vinculada ao serviço

Para o suporte do Amazon EKS em SageMaker HyperPod, HyperPod cria uma função vinculada ao serviço AWS política gerenciada: AmazonSageMakerHyperPodServiceRolePolicy para monitorar e apoiar a resiliência em seu cluster EKS, como substituir nós e reiniciar trabalhos.

Políticas do IAM para o Amazon EKS