Usando funções para AWS Batch com o SageMaker AI - AWS Batch

Usando funções para AWS Batch com o SageMaker AI

O AWS Batch utiliza perfis vinculados a serviço do AWS Identity and Access Management (IAM). O perfil vinculado a serviço é um tipo exclusivo de perfil do IAM vinculado diretamente ao AWS Batch. As funções vinculadas a serviços são predefinidas pelo AWS Batch e incluem todas as permissões que o serviço exige para chamar outros serviços da AWS em seu nome.

Uma função vinculada ao serviço facilita a configuração do AWS Batch porque dispensa a inclusão manual das permissões necessárias. O AWS Batch define as permissões de suas funções vinculadas ao serviço e, a menos que definido em contrário, somente o AWS Batch pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, que não pode ser anexada a nenhuma outra entidade do IAM.

Um perfil vinculado ao serviço poderá ser excluído somente após excluir seus atributos relacionados. Isso protege seus recursos do AWS Batch, pois você não pode remover por engano as permissões de acesso aos recursos.

Para obter mais informações sobre outros serviços que são compatíveis com perfis vinculados ao serviço, consulte Serviços da AWS que funcionam com o IAM e procure por serviços que indiquem Sim na coluna Perfis vinculados ao serviço. Escolha um Sim com um link para visualizar a documentação do perfil vinculado a esse serviço.

Permissões de função vinculada ao serviço do AWS Batch

O AWS Batch usa o perfil vinculado ao serviço denominado AWSServiceRoleForAWSBatchWithSagemaker – permite ao AWS Batch enfileirar e gerenciar os trabalhos do SageMaker Training em seu nome.

O perfil vinculado ao serviço AWSServiceRoleForAWSBatchWithSagemaker confia nos seguintes serviços para assumir o perfil:

  • sagemaker-queuing.batch.amazonaws.com

A política de permissões da função permite que o AWS Batch conclua as seguintes ações nos recursos especificados:

  • sagemaker — Permite ao AWS Batch gerenciar trabalhos do SageMaker Training, transformar trabalhos e outros recursos do SageMaker AI.

  • iam:PassRole — Permite ao AWS Batch passar funções de execução definidas pelo cliente para o SageMaker AI para execução de trabalhos. A restrição de recursos permite passar funções para os serviços do SageMaker AI.

Você deve configurar permissões para permitir que seus usuários, grupos ou perfis criem, editem ou excluam um perfil vinculado ao serviço. Para ter mais informações, consulte Permissões de função vinculada a serviços no Guia do usuário do IAM.

Crie uma função vinculada ao serviço para o AWS Batch

Não é necessário criar manualmente uma função vinculada ao serviço. Quando você cria um ambiente de serviço usando o CreateServiceEnvironment na Console de gerenciamento da AWS, AWS CLI ou na API da AWS, o AWS Batch cria o perfil vinculado ao serviço para você.

Se excluir esse perfil vinculado ao serviço e precisar criá-lo novamente, será possível usar esse mesmo processo para recriar o perfil em sua conta. Quando você cria um ambiente de serviço usando o CreateServiceEnvironment, o AWS Batch cria o perfil vinculado ao serviço para você novamente.

Para visualizar o JSON da política, consulte AWSBatchServiceRolePolicyForSageMaker no Guia de referência de políticas gerenciadas AWS.

Editar um perfil vinculado ao serviço para o AWS Batch

O AWS Batch não permite que você edite o perfil vinculado ao serviço AWSServiceRoleForAWSBatchWithSagemaker. Depois que criar um perfil vinculado ao serviço, você não poderá alterar o nome do perfil, pois várias entidades podem fazer referência a ele. No entanto, será possível editar a descrição do perfil usando o IAM. Para obter mais informações, consulte Editar uma função vinculada a serviço no Guia do usuário do IAM.

Excluir um perfil vinculado ao serviço para o AWS Batch

Se você não precisar mais usar um recurso ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não terá uma entidade não utilizada que não seja ativamente monitorada ou mantida. No entanto, você deve limpar suo perfil vinculado ao serviço para excluí-la manualmente.

Limpar um perfil vinculado ao serviço

Antes de poder usar o IAM para excluir um perfil vinculado ao serviço, é preciso primeiro confirmar que a função não tem nenhuma sessão ativa e excluir todos os ambientes de serviço que usam o perfil em todas as regiões da AWS em uma única partição.

Para verificar se a função vinculada ao serviço tem uma sessão ativa
  1. Abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Funções e o nome AWSServiceRoleForAWSBatchWithSagemaker (não a caixa de verificação).

  3. Na página Resumo, escolha Consultor de Acesso e analise as atividades recentes para a função vinculada ao serviço.

    nota

    Caso não saiba se o AWS Batch está usando a função AWSServiceRoleForAWSBatchWithSagemaker, você pode tentar excluir a função. Se o serviço estiver usando a função, haverá falha ao excluir a função. Você pode visualizar as regiões nas quais a função estiver sendo usada. Se a função estiver sendo usada, você deve aguardar a sessão final antes de excluir a função. Você não pode revogar a sessão de uma função vinculada ao serviço.

Para remover recursos do AWS Batch usados pelo perfil vinculado ao serviço AWSServiceRoleForAWSBatchWithSagemaker

Você deve desassociar todas as filas de trabalho de todos os ambientes de serviço e, em seguida, deve excluir todos os ambientes de serviço que usam a função AWSServiceRoleForAWSBatchWithSagemaker em todas as regiões da AWS, antes de poder excluir a função AWSServiceRoleForAWSBatchWithSagemaker.

  1. Abra o AWS Batch console em https://console.aws.amazon.com/batch/.

  2. Na barra de navegação, selecione a Região a ser usada.

  3. No painel de navegação, escolha Ambientes e, então, Ambientes de serviço.

  4. Selecione todos os Ambientes de serviço.

  5. Escolha Desabilitar. Espere até que o Estado mude para DESATIVADO.

  6. Selecione o ambiente de serviço.

  7. Escolha Excluir. Confirme que você deseja excluir o ambiente de serviço escolhendo Excluir o ambiente de serviço.

  8. Repita as etapas 1 a 7 para todos os ambientes de serviço usando o perfil vinculado ao serviço em todas as regiões.

Excluir uma função vinculada ao serviço no IAM (Console)

Você pode usar o console do IAM para excluir uma função vinculada ao serviço.

Para excluir uma função vinculada ao serviço (console)
  1. Faça login em Console de gerenciamento da AWS e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação do console do IAM, escolha Perfis. Marque a caixa de seleção ao lado de AWSServiceRoleForAWSBatchWithSagemaker e não o nome ou a linha em si.

  3. Escolha Excluir Função.

  4. Na caixa de diálogo de confirmação, revise os dados do último acesso ao serviço mostrando quando cada uma das perfis selecionadas acessou pela última vez um AWS service (Serviço da AWS). Isso ajuda a confirmar se a função está ativa no momento. Se quiser prosseguir, escolha Sim, Excluir para enviar a função vinculada ao serviço para exclusão.

  5. Monitore as notificações do console do IAM para progresso da exclusão da função vinculada ao serviço. Como a exclusão do perfil vinculado ao serviço do IAM é assíncrona, depois de enviar a função para exclusão, a exclusão da tarefa pode obter êxito ser reprovada.

    • Se a tarefa for bem-sucedida, a função será removida da lista e uma notificação de sucesso será exibida na parte superior da página.

    • Se a tarefa obtiver êxito, você poderá escolher Visualizar Detalhes ou Visualizar Recursos a partir das notificações para saber por que a exclusão falhou. Se a exclusão falhou porque a função está usando os recursos do serviço, a notificação incluirá uma lista de recursos, caso o serviço retorne essas informações. Você poderá então limpar os recursos e enviar novamente a exclusão.

      nota

      Você pode repetir esse processo várias vezes, a depender das informações que o serviço retornar. Por exemplo, a função vinculada ao serviço pode usar seis recursos, e seu serviço pode retornar informações sobre cinco deles. Se você limpar cinco recursos e enviar a função para exclusão novamente, a exclusão falhará e o serviço emitirá relatório sobre o recurso restante. Um serviço pode retornar todos os recursos, alguns deles, ou pode não retornar relatórios de nenhum dos recursos.

    • Se a tarefa falhar e a notificação não incluir uma lista de recursos, o serviço pode não retornar essas informações. Para saber como limpar os recursos para esse serviço, consulte Serviços da AWS que Funcionam com o IAM. Descubra o serviço na tabela e escolha o link Sim para visualizar a documentação da função vinculada ao serviço.

Excluir uma função vinculada ao serviço no IAM (AWS CLI)

Você pode usar comandos do IAM no AWS Command Line Interface para excluir uma função vinculada ao serviço.

Para excluir uma função vinculado ao serviço (CLI)
  1. Como uma função vinculada ao serviço não pode ser excluída se estiver sendo usada ou tiver recursos associados, você deve enviar uma solicitação de exclusão. Essa solicitação pode ser negada se essas condições não forem atendidas. Você deve capturar o deletion-task-id da resposta para verificar o status da tarefa de exclusão. Insira o seguinte comando para enviar uma solicitação de exclusão de função vinculada ao serviço:

    $ aws iam delete-service-linked-role --role-name AWSServiceRoleForAWSBatchWithSagemaker
  2. Use o seguinte comando para verificar o status da tarefa de exclusão:

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada retornará o motivo de falha para que você possa acionar a solução de problemas. Se a exclusão falhar porque a função estiver usando os recursos do serviço, a notificação incluirá uma lista de recursos, caso o serviço retorne essas informações. Você poderá então limpar os recursos e enviar novamente a exclusão.

    nota

    Você pode repetir esse processo várias vezes, a depender das informações que o serviço retornar. Por exemplo, a função vinculada ao serviço pode usar seis recursos, e seu serviço pode retornar informações sobre cinco deles. Se você limpar cinco recursos e enviar a função para exclusão novamente, a exclusão falhará e o serviço emitirá relatório sobre o recurso restante. Um serviço pode retornar todos os recursos, alguns deles. Ou talvez não relate qualquer recurso. Saiba como limpar os recursos de um serviço que não reporta qualquer recurso consultando Serviços AWS Suportados pelo IAM. Descubra o seu serviço na tabela e escolha o link Sim para ver a documentação da função vinculada ao serviço.

Excluir uma função vinculada ao serviço no IAM (API da AWS)

Você pode usar a API do IAM para excluir uma função vinculada ao serviço.

Para excluir uma função vinculada ao serviço (API)
  1. Para enviar uma solicitação de exclusão de uma rolagem vinculada ao serviço, chame DeleteServiceLinkedRole. Na solicitação, especifique o nome do perfil AWSServiceRoleForAWSBatchWithSagemaker.

    Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o DeletionTaskId da resposta para verificar o status da tarefa de exclusão.

  2. Para verificar o status da exclusão, chame GetServiceLinkedRoleDeletionStatus. Na solicitação, especifique o DeletionTaskId.

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada retornará o motivo de falha para que você possa acionar a solução de problemas. Se a exclusão falhar porque a função estiver usando os recursos do serviço, a notificação incluirá uma lista de recursos, caso o serviço retorne essas informações. Você poderá então limpar os recursos e enviar novamente a exclusão.

    nota

    Você pode repetir esse processo várias vezes, a depender das informações que o serviço retornar. Por exemplo, a função vinculada ao serviço pode usar seis recursos, e seu serviço pode retornar informações sobre cinco deles. Se você limpar cinco recursos e enviar a função para exclusão novamente, a exclusão falhará e o serviço emitirá relatório sobre o recurso restante. Um serviço pode retornar todos os recursos, alguns deles, ou pode não retornar relatórios de nenhum dos recursos. Saiba como limpar os recursos de um serviço que não relata qualquer recurso consultandoServiços da AWS que funcionam com o IAM. Descubra o seu serviço na tabela e escolha o link Sim para ver a documentação da função vinculada ao serviço.

Regiões suportadas por perfis vinculados a serviço do AWS Batch

O AWS Batch oferece suporte a perfis vinculados a serviços em todas as regiões nas quais o serviço estiver disponível. Para obter mais informações, consulte Endpoints do AWS Batch.