Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Dépannage d’IAM et Amazon EC2
Les informations suivantes peuvent vous aider à résoudre les problèmes IAM liés à Amazon EC2.
Rubriques
- Lorsque j’essaie de lancer une instance, je ne vois pas le rôle dans la liste de Rôles IAM de la console Amazon EC2.
- Les informations d'identification sur mon instance concernent le mauvais rôle
- Quand je tente d'appeler AddRoleToInstanceProfile, je reçois un message d'erreur AccessDenied.
- Amazon EC2 : quand je tente de lancer l’instance avec un rôle, je reçois un message d’erreur AccessDenied
- Je ne parviens pas à accéder aux informations d'identification de sécurité temporaires sur mon instance EC2
- Que signifient les erreurs dans le document info de la sous-arborescence IAM ?
Lorsque j’essaie de lancer une instance, je ne vois pas le rôle dans la liste de Rôles IAM de la console Amazon EC2.
Vérifiez les éléments suivants :
-
Si vous êtes connecté en tant qu'utilisateur IAM, vérifiez que vous avez l'autorisation d'appeler
ListInstanceProfiles
. Pour plus d’informations sur les autorisations nécessaires pour utiliser ces rôles, consultez Autorisations requises pour l'utilisation de rôles avec Amazon EC2. Pour plus d'informations sur l'ajout d'autorisations à un utilisateur, consultez Gestion des politiques IAM.Si vous ne pouvez pas modifier vos propres autorisations, vous devez contacter un administrateur qui peut utiliser IAM pour mettre à jour vos autorisations.
-
Si vous avez créé un rôle à l’aide de l’interface de ligne de commande ou l’API IAM, vérifiez les points suivants :
-
Vous avez créé un profil d’instance et ajouté le rôle à celui-ci.
-
Vous avez utilisé le même nom pour le rôle et le profil d’instance. Si vous nommez votre rôle et votre profil d’instance différemment, le nom correct du rôle ne s’affichera pas dans la console Amazon EC2.
La liste des Rôles IAM de la console Amazon EC2 répertorie les noms des profils d'instance, pas les noms des rôles. Vous devez sélectionner le nom du profil d'instance qui contient le rôle choisi. Pour plus informations sur les profils d'instance, veuillez consulter Utilisation des profils d’instance.
Note
Si vous utilisez la console IAM pour créer des rôles, vous n'avez pas besoin d'utiliser des profils d'instance. Pour chaque rôle que vous créez dans la console IAM, un profil d'instance est créé avec un nom identique à celui du rôle, et le rôle est ajouté automatiquement à ce profil d'instance. Un profil d'instance peut contenir un rôle IAM uniquement et cette limite ne peut pas être augmentée.
-
Les informations d'identification sur mon instance concernent le mauvais rôle
Le rôle dans le profil d'instance a peut-être été remplacé récemment. Si tel est le cas, votre application attendra la prochaine rotation des informations d'identification planifiée automatiquement pour que les informations d'identification de votre rôle deviennent disponibles.
Pour forcer la modification, vous devez dissocier le profil d'instance, puis associer le profil d'instance, ou vous pouvez arrêter votre instance, puis la redémarrer.
Quand je tente d'appeler AddRoleToInstanceProfile
, je reçois un message d'erreur AccessDenied
.
Si vous faites des demandes en tant qu'utilisateur IAM, vérifiez que vous avez les autorisation suivantes :
-
iam:AddRoleToInstanceProfile
avec la ressource correspondant à l'ARN du profil d'instance (par exemple,arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile
).
Pour plus d’informations sur les autorisations nécessaires pour utiliser ces rôles, consultez Comment puis-je commencer ?. Pour plus d'informations sur l'ajout d'autorisations à un utilisateur, consultez Gestion des politiques IAM.
Amazon EC2 : quand je tente de lancer l’instance avec un rôle, je reçois un message d’erreur AccessDenied
Vérifiez les éléments suivants :
-
Lancez une instance sans profil d'instance. Cela vous permettra de vérifier que le problème se limite aux rôles IAM dans les instances Amazon EC2.
-
Si vous faites des demandes en tant qu'utilisateur IAM, vérifiez que vous avez les autorisation suivantes :
-
ec2:RunInstances
avec une ressource générique (« * ») -
iam:PassRole
avec la ressource correspondant à l'ARN du rôle (par exemple,arn:aws:iam::999999999999:role/ExampleRoleName
)
-
-
Appelez l'action IAM
GetInstanceProfile
pour vous assurer que vous utilisez un nom de profil d'instance valide ou un ARN de profil d'instance valide. Pour plus d'informations, veuillez consulter Utilisation de rôles IAM avec les instances Amazon EC2. -
Appelez l'action
GetInstanceProfile
IAM pour vous assurer que le profil d'instance dispose d'un rôle. Les profils d'instance vides échoueront et renverront l'erreurAccessDenied
. Pour plus d'informations sur la création d'un rôle, veuillez consulter Création d’un rôle IAM.
Pour plus d’informations sur les autorisations nécessaires pour utiliser ces rôles, consultez Comment puis-je commencer ?. Pour plus d'informations sur l'ajout d'autorisations à un utilisateur, consultez Gestion des politiques IAM.
Je ne parviens pas à accéder aux informations d'identification de sécurité temporaires sur mon instance EC2
Pour accéder aux informations d'identification de sécurité temporaires sur votre instance EC2, vous devez d'abord utiliser la console IAM pour créer un rôle. Ensuite, vous lancez une instance EC2 qui utilise ce rôle et vous examinez l'instance en cours d'exécution. Pour de plus amples informations, veuillez consulter Comment démarrer avec ce service ? dans Utilisation d’un rôle IAM pour accorder des autorisations à des applications s’exécutant sur des instances Amazon EC2.
Si vous ne parvenez toujours pas à accéder à vos informations d'identification de sécurité temporaires sur votre instance EC2, vérifiez les points suivants :
-
Pouvez-vous accéder à une autre partie du service des métadonnées d'instance (IMDS) ? Si ce n'est pas le cas, vérifiez qu'aucune règle de pare-feu ne bloque l'accès aux demandes envoyées à l'IMDS.
[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/hostname; echo
-
La sous-arborescence
iam
de l'IMDS existe-elle ? Si ce n'est pas le cas, vérifiez que votre instance dispose d'un profil d'instance IAM associé en appelant l'opération d'API EC2DescribeInstances
ou en utilisant la commande de la CLIaws ec2 describe-instances
.[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/iam; echo
-
Consultez le document
info
dans la sous-arborescence IAM pour rechercher une erreur. S'il existe une erreur, veuillez consulter Que signifient les erreurs dans le document info de la sous-arborescence IAM ? pour plus d'informations.[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/iam/info; echo
Que signifient les erreurs dans le document info
de la sous-arborescence IAM ?
Le document iam/info
indique "Code":"InstanceProfileNotFound"
Votre profil d'instance IAM a été supprimé et Amazon EC2 ne peut plus fournir d'informations d'identification à votre instance. Vous devez attacher un profil d'instance valide à votre instance Amazon EC2.
S'il existe un profil d'instance avec le même nom, vérifiez que celui-ci n'a pas été supprimé et qu'un autre n'a pas été créé avec le même nom :
-
Appelez l'opération
GetInstanceProfile
IAM pour obtenir l'ID de profil d'instanceInstanceProfileId
. -
Appelez l'opération
DescribeInstances
Amazon EC2 pour obtenir l'ID de profil d'instanceIamInstanceProfileId
. -
Vérifiez que l'ID
InstanceProfileId
de l'opération IAM correspond à l'IDIamInstanceProfileId
de l'opération Amazon EC2.
Si les ID sont différents, le profil d'instance attaché à vos instances n'est plus valide. Vous devez attacher un profil d'instance valide à l'instance.
Le document iam/info
indique un succès, mais renvoie le message "Message":"Instance Profile does not
contain a role..."
Le rôle a été supprimé du profil d'instance par l'action RemoveRoleFromInstanceProfile
IAM. Vous pouvez utiliser l'action AddRoleToInstanceProfile
IAM pour attacher un rôle au profil d'instance. Votre application devra attendre la prochaine actualisation planifiée pour accéder aux informations d'identification du rôle.
Pour forcer la modification, vous devez dissocier le profil d'instance, puis associer le profil d'instance, ou vous pouvez arrêter votre instance, puis la redémarrer.
Le document iam/security-credentials/[role-name]
indique "Code":"AssumeRoleUnauthorizedAccess"
Amazon EC2 n'a pas l'autorisation d'endosser le rôle. L'autorisation d'endosser le rôle est contrôlée par la politique d'approbation attachée au rôle, comme dans l'exemple suivant. Utilisez l'API UpdateAssumeRolePolicy
IAM pour mettre à jour la politique d'approbation.
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com"]},"Action": ["sts:AssumeRole"]}]}
Votre application attendra jusqu'à la prochaine actualisation des informations d'identification planifiée automatiquement pour accéder aux informations d'identification du rôle.
Pour forcer la modification, vous devez dissocier le profil d'instance, puis associer le profil d'instance, ou vous pouvez arrêter votre instance, puis la redémarrer.