Como soluciono o erro “O ECS não pôde assumir a função” ao executar as tarefas do Amazon ECS?
Estou recebendo o seguinte erro quando executo minhas tarefas do Amazon Elastic Container Service (Amazon ECS) /AWS Fargate: O ECS não pôde assumir a função 'arn:aws:iam::xxxxxxxxxxxx:role/yyyyyyyy' que foi fornecida para esta tarefa. Verifique se a função que está sendo passada tem o relacionamento de confiança e as permissões adequadas e se o usuário do IAM tem permissões para passar essa função.
Resolução
Você recebe esse erro devido a um ou mais dos seguintes motivos:
- A função ou função de tarefa do AWS Identity and Access Management (IAM) de execução de tarefas especificada na definição da tarefa não existe.
- A função do IAM de execução de tarefa ou a função de tarefa especificada na definição de tarefa não tem a política de relacionamento confiável correta.
Verifique se a função de execução de tarefa ou a função de tarefa existe
Para verificar se a função de execução de tarefa ou a função de tarefa definida na definição de tarefa existe usando o console, faça o seguinte:
- Abra o console do IAM.
- Escolha Funções.
- Pesquise a lista de funções para a função de execução de tarefa ou função de tarefa que você incluiu na definição de tarefa.
Para verificar se a função de execução de tarefa ou a função de tarefa existe usando a AWS Command Line Interface (AWS CLI), execute o seguinte comando:
Observação: esse comando recupera informações sobre a função do IAM especificada.
aws iam get-role --role-name example-task-execution-role
Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar utilizando a versão mais recente da AWS CLI.
Se a função não existir, você receberá o seguinte erro:
An error occurred (NoSuchEntity) when calling the GetRole operation: The role with name example-task-execution-role cannot be found.
Se a função não existir, considere fazer um dos seguintes:
- Atualize a definição da tarefa para usar a função do IAM correta para a tarefa.
- Crie uma função do IAM com o mesmo nome da função especificada na definição da tarefa.
Verifique se a função de execução de tarefa ou a função de tarefa na definição de tarefa tem a política de relacionamento confiável correta
Certifique-se de que a política de relacionamento confiável para a função permita o serviço ecs-tasks.amazonaws.com. Isso é necessário para que a tarefa do Amazon ECS assuma a função do IAM especificada.
Para verificar a política de relacionamento de confiança e atualizar conforme necessário, faça o seguinte:
1. Abra o console do IAM.
2. No painel de navegação, escolha Funções.
3. Pesquise a lista de funções para a função de execução de tarefa ou função de tarefa incluída em sua definição de tarefa.
4. Escolha a função.
5. Escolha Relacionamentos de confiança.
6. Verifique se o relacionamento de confiança para a função contém a seguinte política:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ecs-tasks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
7. Se o relacionamento de confiança corresponder à política, escolha Cancelar. Caso contrário, escolha Editar relacionamento de confiança.
8. Copie a política anterior na janela Documento de política e escolha Atualizar política de confiança.
Informações relacionadas
Função do IAM de execução de tarefas do Amazon ECS
Solução de problemas de identidade e acesso do Amazon Elastic Container
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos