AWS Identity and Access Management para SageMaker HyperPod - Amazon SageMaker

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 um administrador a controlar com segurança o acesso ao AWS recursos. IAMos administradores controlam quem pode ser autenticado (conectado) e autorizado (tem permissões) para usar os recursos da AmazonEKS. IAMé um AWS serviço que você pode usar sem custo adicional.

Importante

IAMPolíticas personalizadas que permitem que o Amazon SageMaker Studio ou o Amazon SageMaker 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 IAM política permitir que o Studio e o Studio Classic criem recursos, mas não permita a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte Forneça permissões para marcar recursos SageMaker.

AWS Políticas gerenciadas para a Amazon SageMakerque 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 a Amazon. EKS

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

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

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

    • Assuma e use a IAM função fornecida pelos usuários administradores do cluster.

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

Configure IAM funções 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 IAM funções para fornecer SageMaker HyperPod recursos, assumir a execução e se comunicar com os necessários. AWS recursos, como Amazon S3, Amazon CloudWatch e AWS Systems Manager (SSM). Finalmente, o AWS O administrador da 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. Você também pode 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 um escopo detalhado aos serviços relacionados SageMaker HyperPod a.

IAMusuários para administrador 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 que os administradores de cluster executem o SageMaker HyperPod núcleo APIs e gerenciem SageMaker HyperPod clusters em seu 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" ], "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 permissões para acessar o SageMaker console, use o exemplo de política fornecido em Permissões necessárias para usar o SageMaker console da Amazon.

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 AWS Systems Manager Guia do 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 SageMaker API chamadas, recursos e recursos.

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

IAMusuários 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 seu AWS conta, você deve conceder a permissão "ssm:StartSession" para executar o SSM start-session comando. Veja a seguir um exemplo de política para IAM usuários.

Slurm

Adicione a política a seguir para conceder permissões de SSM sessão para se conectar a um SSM destino 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 IAM função para que cientistas de dados executem hyperpod list-clusters e hyperpod connect-cluster comandem entre os HyperPod CLI comandos. Para saber mais sobre o HyperPod CLI, consulteExecutando trabalhos em SageMaker HyperPod clusters orquestrados pela Amazon EKS. Também inclui permissões de SSM sessão para se conectar a um SSM destino 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 IAM aos cientistas de dados aos usuários ou funções acesso ao Kubernetes APIs no cluster, consulte também Conceder IAM aos usuários e funções acesso ao Kubernetes APIs no Guia do usuário da Amazon. EKS

IAMpapel para SageMaker HyperPod

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

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

dica

Dependendo da sua preferência ao criar o nível de permissões para vários grupos de instâncias, você também pode configurar várias IAM funções 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 de agrupamento específicos por meio de AWS Systems Manager(veja tambémConfigurando 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 terminar de criar IAM funções, 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 o necessário AWS recursos.

Slurm

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

(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 padrão SageMakerVPC, você deve adicionar as seguintes permissões adicionais à IAM função de 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 AmazonVPC.

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

    { "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 a AmazonEKS, você deve anexar as seguintes políticas gerenciadas à SageMaker HyperPod IAM função.

Além das políticas gerenciadas, anexe a seguinte política de permissão à 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

A "eks-auth:AssumeRoleForPodIdentity" permissão é opcional. É necessário se você planeja usar a identidade do EKS Pod.

SageMaker HyperPod função vinculada ao serviço

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

IAMpolíticas para a Amazon EKS