Usando funções vinculadas a serviços para AWS Batch - AWS Batch

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á.

Usando funções vinculadas a serviços para AWS Batch

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

Uma função vinculada ao serviço facilita a configuração AWS Batch porque você não precisa adicionar manualmente as permissões necessárias. AWS Batch define as permissões de suas funções vinculadas ao serviço e, a menos que seja definido de outra forma, só 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.

nota

Siga um destes procedimentos para especificar uma função de serviço para um ambiente AWS Batch computacional.

  • Use uma string vazia para o perfil de serviço. Isso permite AWS Batch criar a função de serviço.

  • Especifique o perfil de serviço no seguinte formato: arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch.

Para obter mais informações, consulte Nome do perfil ou ARN incorreto o Guia AWS Batch do usuário.

Um perfil vinculado a serviço poderá ser excluído somente após a exclusão dos recursos 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 informações sobre outros serviços suportados por funções vinculadas a serviços, consulte Serviços da AWS Suportados pelo IAM e procure os serviços que apresentarem Sim na coluna Função Vinculada a 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 vinculadas ao serviço para AWS Batch

AWS Batch usa a função vinculada ao serviço chamada. AWSServiceRoleForBatch A AWSServiceRoleForBatchfunção permite AWS Batch criar e gerenciar AWS recursos em seu nome.

A função AWSServiceRoleForBatchvinculada ao serviço confia no diretor do batch.amazonaws.com serviço para assumir a função.

A política do IAM nomeada BatchServiceRolePolicy AWS Batch permite concluir as seguintes ações em recursos específicos:

  • autoscaling— Permite AWS Batch criar e gerenciar recursos do Amazon EC2 Auto Scaling. AWS Batch cria e gerencia grupos do Amazon EC2 Auto Scaling para a maioria dos ambientes computacionais.

  • ec2— Permite AWS Batch controlar o ciclo de vida das instâncias do Amazon EC2, bem como criar e gerenciar modelos e tags de lançamento. AWS Batch cria e gerencia solicitações do EC2 Spot Fleet para alguns ambientes computacionais EC2 Spot.

  • ecs- Permite AWS Batch criar e gerenciar clusters, definições de tarefas e tarefas do Amazon ECS para execução de trabalhos.

  • eks- Permite AWS Batch descrever o recurso de cluster Amazon EKS para validações.

  • iam- Permite AWS Batch validar e passar funções fornecidas pelo proprietário para o Amazon EC2, o Amazon EC2 Auto Scaling e o Amazon ECS.

  • logs— Permite AWS Batch criar e gerenciar grupos de registros e fluxos de registros para AWS Batch trabalhos.

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada a serviço. Para mais informações, consulte Permissões de perfil vinculado ao serviço no Guia do usuário do IAM.

Criação de uma função vinculada ao serviço para AWS Batch

Não é necessário criar manualmente uma função vinculada a serviço. Quando você está CreateComputeEnvironment na AWS Management Console AWS CLI, na ou na AWS API e não especifica um valor para o serviceRole parâmetro, AWS Batch cria a função vinculada ao serviço para você.

Importante

Esse perfil vinculado ao serviço pode aparecer em sua conta se você concluiu uma ação em outro serviço que usa os atributos compatíveis com esse perfil. Além disso, se você estava usando o AWS Batch serviço antes de 10 de março de 2021, quando ele começou a oferecer suporte a funções vinculadas ao serviço, AWS Batch criou a AWSServiceRoleForBatch função em sua conta. Para saber mais, consulte Uma Nova Função Apareceu na minha Conta do IAM.

Se excluir essa função vinculada ao serviço e precisar criá-la novamente, você pode usar esse mesmo processo para recriar a função na sua conta. Quando você CreateComputeEnvironment, AWS Batch cria a função vinculada ao serviço para você novamente.

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

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

Para permitir que uma entidade do IAM edite a descrição da função AWSServiceRoleForBatch vinculada ao serviço

Adicione a seguinte instrução a política de permissões. Isso permite que que uma entidade do IAM edite a descrição de uma função vinculada ao serviço.

{ "Effect": "Allow", "Action": [ "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch", "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}} }

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

Se você não precisar mais usar um atributo ou serviço que requeira uma função vinculada a serviço, recomendamos que você a exclua. Dessa forma, você não terá uma entidade não usada não monitorada ou mantida ativamente. No entanto, você deve limpar os recursos de sua função vinculada ao serviço antes de poder exclui-la manualmente.

Para permitir que uma entidade do IAM exclua a função AWSServiceRoleForBatch vinculada ao serviço

Adicione a seguinte instrução a política de permissões. Isso permite que a entidade do IAM delete a função vinculada ao serviço.

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch", "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}} }

Limpar um perfil vinculado ao serviço

Antes de usar o IAM para excluir uma função vinculada ao serviço, você deve primeiro confirmar se a função não tem sessões ativas e excluir todos os ambientes AWS Batch computacionais que usam a função em todas as AWS regiões em uma única partição.

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

  2. No painel de navegação, escolha Funções e, em seguida, o AWSServiceRoleForBatch nome (não a caixa de seleção).

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

    nota

    Se você não sabe se AWS Batch está usando a AWSServiceRoleForBatch função, 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 AWS Batch recursos usados pela função vinculada ao AWSServiceRoleForBatch serviço

Você deve excluir todos os ambientes AWS Batch computacionais que usam a AWSServiceRoleForBatch função em todas as AWS regiões antes de excluir a AWSServiceRoleForBatch função.

  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 de computação.

  4. Selecione o ambiente de computação.

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

  6. Selecione o ambiente de computação.

  7. Escolha Deletar. Confirme que você deseja excluir o ambiente de computação escolhendo Excluir o ambiente computacional.

  8. Repita as etapas 1 a 7 para todos os ambientes de computação usando a função vinculada 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 AWS Management Console 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. Em seguida, marque a caixa de seleção ao lado AWSServiceRoleForBatch, não o nome ou a linha em si.

  3. Clique em 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 funções selecionadas acessou pela última vez um AWS service (Serviço da AWS). Isso ajuda você a confirmar se a função está ativo 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 os comandos do IAM do 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 poderá 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 AWSServiceRoleForBatch
  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 para uma lista vinculada ao serviço, ligue. DeleteServiceLinkedRole Na solicitação, especifique o nome da AWSServiceRoleForBatch função.

    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, ligue 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 para funções vinculadas a AWS Batch serviços

AWS Batch suporta o uso de funções vinculadas ao serviço em todas as regiões em que o serviço está disponível. Para obter mais informações, consulte AWS Batch Endpoints do.