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 AWS Identity and Access Management (IAM) funções vinculadas ao serviço. Uma função vinculada ao serviço é um tipo exclusivo de IAM função 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, e essa política de permissões não pode ser anexada a nenhuma outra IAM entidade.

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 de função incorreto ou ARN 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 que oferecem suporte a funções vinculadas a serviços, consulte AWS Serviços que funcionam com IAM e procure os serviços que têm Sim na coluna Função vinculada ao serviço. Escolha um Sim com um link para visualizar a documentação da função vinculada 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 IAM política 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 EC2 instâncias da Amazon, 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 de computação do EC2 Spot.

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

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

  • iam- Permite AWS Batch validar e passar funções fornecidas pelo proprietário para a AmazonEC2, Amazon EC2 Auto Scaling e 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 permitir que uma IAM entidade (como usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Para obter mais informações, consulte Permissões de funções vinculadas ao serviço no Guia do IAMusuário.

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

Não é necessário criar manualmente uma função vinculada ao serviço. Quando você está CreateComputeEnvironment no AWS Management Console AWS CLI, no ou no 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

Essa função vinculada 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 essa função. 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 em Minha IAM conta.

Se excluir essa função vinculada ao serviço e precisar criá-la novamente, você poderá usar esse mesmo processo para recriar a função em 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 usandoIAM. Para obter mais informações, consulte Editando uma função vinculada ao serviço no Guia do IAMusuário.

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

Adicione a seguinte instrução a política de permissões. Isso permite que a IAM entidade 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 IAM entidade exclua a função AWSServiceRoleForBatch vinculada ao serviço

Adicione a seguinte instrução a política de permissões. Isso permite que a IAM entidade exclua uma 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 poder usar 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 IAM console 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. Aguarde até que o estado mude para DISABLED.

  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.

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

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

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

  2. No painel de navegação do IAM console, escolha Funções. 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 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. Assista às notificações do IAM console para monitorar o progresso da exclusão da função vinculada ao serviço. Como a exclusão da função IAM vinculada ao serviço é assíncrona, depois de enviar a função para exclusão, a tarefa de exclusão pode ser bem-sucedida ou falhar.

    • 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 desse serviço, consulte Serviços da AWS esse trabalho com 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.

Excluindo uma função vinculada ao serviço em () IAM AWS CLI

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

Para excluir uma função vinculada ao serviço () CLI
  1. Como uma função vinculada ao serviço não pode ser excluída se estiver sendo usada ou possuir 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 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. Para saber como limpar os recursos de um serviço que não relata nenhum recurso, consulte AWS Serviços que funcionam com 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.

Excluindo uma função vinculada ao serviço em () IAM AWS API

Você pode usar o IAM API 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. Para saber como limpar os recursos de um serviço que não relata nenhum recurso, consulte Serviços da AWS trabalhar com 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.