Tentei realizar uma ação de API com um usuário do AWS Identity and Access Management (AWS IAM) para passar um perfil para um serviço da AWS. A ação da API falhou e recebi uma mensagem de erro semelhante à seguinte: "You are not authorized to perform this operation. User: arn:aws:iam::123456789012:user/Bob is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/ExampleRole because no identity-based policy allows the iam:PassRole action."
Breve descrição
Alguns serviços da AWS permitem que você passe um perfil existente do IAM para esse serviço para que você não precise criar um novo perfil de serviço. No entanto, você deve ter permissão para passar o perfil do IAM para o serviço da AWS.
Resolução
Para resolver esse problema, atualize a política do IAM para permitir que o usuário do IAM realize a ação de API iam:PassRole para o serviço da AWS.
Observação: é possível usar a permissão PassRole somente para passar um perfil do IAM para um serviço da AWS que compartilha a mesma conta da AWS, não outra conta. Para obter mais informações, consulte Acesso a recursos entre contas no IAM.
O exemplo de política do IAM a seguir permite que um usuário do IAM passe o perfil chamado ExampleRole para o serviço do Amazon Elastic Compute Cloud (Amazon EC2):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::account-ID:role/ExampleRole",
"Condition": {
"StringEquals": {
"iam:PassedToService": "ec2.amazonaws.com"
}
}
}
]
}
Observação: substitua ExampleRole pelo seu perfil e account-ID pelo ID da sua conta.
Inclua um ARN de recurso específico no elemento Resource para limitar a capacidade dos usuários de passar o perfil para outros usuários e evitar o problema confused deputy. Para obter mais informações, consulte Conceda permissões a um usuário para passar um perfil para um serviço da AWS.
Informações relacionadas
How to use the PassRole permission with IAM roles (Como usar a permissão PassRole com perfis do IAM)