Usando funções para o AWS Batch
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.
nota
Siga um dos procedimentos a seguir para especificar um perfil de serviço para um ambiente de computação do AWS Batch.
-
Use uma string vazia para o perfil de serviço. Isso permite que o AWS Batch crie o perfil 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 no Manual do Usuário do AWS Batch.
Você só pode deletar uma função vinculada ao serviço após exclusão dos seus 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 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
AWS Batch usa o perfil vinculado ao serviço denominado AWSServiceRoleForBatch: permite ao AWS Batch criar e gerenciar recursos da AWS em seu nome.
O perfil vinculado ao serviço AWSServiceRoleForBatch confia nos seguintes serviços para assumir o perfil:
-
batch.amazonaws.com
A política de permissões da função denominada BatchServiceRolePolicy permite que o AWS Batch conclua as seguintes ações em recursos específicos:
-
autoscaling: permite que o AWS Batch crie e gerencie recursos do Amazon EC2 Auto Scaling. O AWS Batch cria e gerencia grupos do Amazon EC2 Auto Scaling para a maioria dos ambientes de computação. -
ec2: permite que o AWS Batch controle o ciclo de vida das instâncias do Amazon EC2, além de criar e gerenciar modelos e etiquetas de lançamento. O AWS Batch cria e gerencia solicitações de frotas Spot do EC2 para alguns ambientes de computação do EC2 Spot. -
ecs: permite que o AWS Batch crie e gerencie clusters do Amazon ECS, definições de tarefas e tarefas para a execução de trabalhos. -
eks: permite que o AWS Batch descreva o recurso de cluster do Amazon EKS para validações. -
iam: permite que o AWS Batch valide e passe perfis fornecidas pelo proprietário para o Amazon EC2, Amazon EC2 Auto Scaling e Amazon ECS. -
logs: permite que o AWS Batch crie e gerencie grupos de logs e fluxos de logs para trabalhos do AWS Batch.
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 computacional no Console de gerenciamento da AWS, na AWS CLI ou na API da AWS, o AWS Batch cria o perfil vinculado 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. Se você estava usando o serviço do AWS Batch antes de 10 de março de 2021 quando ele começou a oferecer suporte a perfis vinculados a serviço, o AWS Batch criou a perfil AWSServiceRoleForBatch na sua conta. Para saber mais, consulte Um novo perfil apareceu na minha Conta da AWS.
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 computacional, o AWS Batch cria o perfil vinculado ao serviço para você novamente.
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 AWSServiceRoleForBatch. 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 um perfil vinculado ao serviço no Guia do usuário do IAM.
Para permitir que uma entidade do IAM edite a descrição da função vinculada ao serviço AWSServiceRoleForBatch
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"}} }
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.
Para permitir que uma entidade do IAM exclua a função vinculada ao serviço AWSServiceRoleForBatch
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 poder usar o IAM para excluir uma função vinculada ao serviço, é preciso primeiro confirmar que a função não tem nenhuma sessão ativa e excluir todos os ambientes de computação do AWS Batch usando a função, em todas as regiões da AWS e em uma única partição.
Para verificar se a função vinculada ao serviço tem uma sessão ativa
Abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Funções e o nome AWSServiceRoleForBatch (não a caixa de verificação).
-
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 AWSServiceRoleForBatch, 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 pela função vinculada ao serviço AWSServiceRoleForBatch
Você deve excluir todos os ambientes computacionais AWS Batch usando a função AWSServiceRoleForBatch, em todas as regiões da AWS, antes de poder excluir a função AWSServiceRoleForBatch.
-
Abra o AWS Batch console em https://console.aws.amazon.com/batch/
. -
Na barra de navegação, selecione a Região a ser usada.
-
No painel de navegação, escolha Ambientes de computação.
-
Selecione o ambiente de computação.
-
Escolha Desabilitar. Espere até que o Estado mude para DESATIVADO.
-
Selecione o ambiente de computação.
-
Escolha Deletar. Confirme que você deseja excluir o ambiente de computação escolhendo Excluir o ambiente computacional.
-
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)
Faça login em Console de gerenciamento da AWS e abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação do console do IAM, escolha Funções. Marque a caixa de seleção ao lado de AWSServiceRoleForBatch e não o nome ou a linha em si.
-
Escolha Excluir Função.
-
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.
-
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)
-
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-idda 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 -
Use o seguinte comando para verificar o status da tarefa de exclusão:
$aws iam get-service-linked-role-deletion-status --deletion-task-iddeletion-task-idO status da tarefa de exclusão pode ser
NOT_STARTED,IN_PROGRESS,SUCCEEDED, ouFAILED. 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)
-
Para enviar uma solicitação de exclusão de uma rolagem vinculada ao serviço, chame DeleteServiceLinkedRole. Na solicitação, especifique o nome da função AWSServiceRoleForBatch.
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
DeletionTaskIdda resposta para verificar o status da tarefa de exclusão. -
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, ouFAILED. 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.