J'ai essayé d'effectuer une action d'API avec un utilisateur d'AWS Identity and Access Management (IAM) pour transmettre un rôle à un service AWS. L'action API a échoué et j'ai reçu une erreur similaire à celle-ci : « Vous n'êtes pas autorisé à effectuer cette opération. Utilisateur : arn:aws:iam : :123456789012:user/Bob n'est pas autorisé à exécuter : iam:PassRole.»
Brève description
Grâce à certains services AWS, vous pouvez transmettre un rôle IAM existant à ce service, ce qui vous évite de créer un nouveau rôle de service. Vous devez toutefois être autorisé à transmettre le rôle IAM au service AWS.
Résolution
Mettez à jour la stratégie IAM pour permettre à l'utilisateur IAM d'exécuter l'action API iam:PassRole pour le service AWS.
**Remarque :**vous pouvez utiliser uniquement l'**autorisation ** PassRole pour transmettre un rôle IAM à un service AWS qui partage le même compte AWS, pas un autre compte. Pour plus d'informations, consultez la section Accès aux ressources entre comptes dans IAM.
La politique IAM suivante permet à un utilisateur IAM de transmettre le rôle nommé ExampleRole au service 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"
}
}
}
]
}
**Remarque :remplacez ** ExampleRole ** par votre rôle et ** Account-ID par vos identifiants de compte.
Pour plus d'informations, consultez la section Octroi à un utilisateur des autorisations lui permettant de transmettre un rôle à un service AWS.
Informations connexes
Comment utiliser l'autorisation PassRole avec les rôles IAM