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 IAM et Amazon EC2
Les informations suivantes peuvent vous aider à résoudre les IAM problèmes liés à AmazonEC2.
Rubriques
- Lorsque j'essaie de lancer une instance, le rôle ne s'affiche pas dans la liste des IAMrôles de la EC2 console Amazon
- 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 : Lorsque j'essaie de lancer une instance avec un rôle, je reçois un AccessDenied message d'erreur
- Je ne parviens pas à accéder aux informations d'identification de sécurité temporaires de mon EC2 instance
- Que signifient les erreurs du info document dans la IAM sous-arborescence ?
Lorsque j'essaie de lancer une instance, le rôle ne s'affiche pas dans la liste des IAMrôles de la EC2 console Amazon
Vérifiez les éléments suivants :
-
Si vous êtes connecté en tant qu'IAMutilisateur, vérifiez que vous êtes autorisé à appeler
ListInstanceProfiles
. Pour plus d'informations sur les autorisations nécessaires pour utiliser les rôles, consultezAutorisations requises pour utiliser les rôles auprès d'Amazon EC2. Pour de plus amples informations sur l'ajout d'autorisations à un utilisateur, veuillez consulter Gérer les IAM politiques.Si vous ne pouvez pas modifier vos propres autorisations, vous devez contacter un administrateur avec lequel vous pouvez travailler IAM afin de mettre à jour vos autorisations.
-
Si vous avez créé un rôle à l'aide du IAM CLI ouAPI, vérifiez les points suivants :
-
Vous avez créé un profil d'instance et ajouté le rôle à ce profil d'instance.
-
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 de rôle correct ne s'affichera pas dans la EC2 console Amazon.
La liste des IAMrôles de la EC2 console Amazon répertorie les noms des profils d'instance, et non 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 Utiliser des profils d'instance.
Note
Si vous utilisez la IAM console pour créer des rôles, vous n'avez pas besoin de travailler avec des profils d'instance. Pour chaque rôle que vous créez dans la IAM console, un profil d'instance portant le même nom que le rôle est créé, et le rôle est automatiquement ajouté à ce profil d'instance. Un profil d'instance ne peut contenir qu'un seul IAM rôle, 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'IAMutilisateur, vérifiez que vous disposez des autorisations suivantes :
-
iam:AddRoleToInstanceProfile
avec la ressource correspondant au profil de l'instance ARN (par exemple,arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile
).
Pour plus d'informations sur les autorisations nécessaires pour utiliser les rôles, consultezComment puis-je commencer ?. Pour de plus amples informations sur l'ajout d'autorisations à un utilisateur, veuillez consulter Gérer les IAM politiques.
Amazon EC2 : Lorsque j'essaie de lancer une instance avec un rôle, je reçois un AccessDenied
message d'erreur
Vérifiez les éléments suivants :
-
Lancez une instance sans profil d'instance. Cela permettra de garantir que le problème se limite aux IAM rôles des EC2 instances Amazon.
-
Si vous faites des demandes en tant qu'IAMutilisateur, vérifiez que vous disposez des autorisations suivantes :
-
ec2:RunInstances
avec une ressource générique (« * ») -
iam:PassRole
avec la ressource correspondant au rôle ARN (par exemple,arn:aws:iam::999999999999:role/ExampleRoleName
)
-
-
Appelez l'IAM
GetInstanceProfile
action pour vous assurer que vous utilisez un nom de profil d'instance valide ou un profil d'instance valideARN. Pour plus d'informations, consultez la section Utilisation IAM des rôles avec EC2 les instances Amazon. -
Appelez l'IAM
GetInstanceProfile
action pour vous assurer que le profil d'instance a 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 IAMcréation de rôles.
Pour plus d'informations sur les autorisations nécessaires pour utiliser les rôles, voirComment puis-je commencer ?. Pour de plus amples informations sur l'ajout d'autorisations à un utilisateur, veuillez consulter Gérer les IAM politiques.
Je ne parviens pas à accéder aux informations d'identification de sécurité temporaires de mon EC2 instance
Pour accéder aux informations d'identification de sécurité temporaires de votre EC2 instance, vous devez d'abord utiliser la IAM console pour créer un rôle. Ensuite, vous lancez une EC2 instance 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 Utiliser un IAM rôle pour accorder des autorisations aux applications exécutées sur des EC2 instances Amazon.
Si vous ne parvenez toujours pas à accéder à vos informations de sécurité temporaires sur votre EC2 instance, vérifiez les points suivants :
-
Pouvez-vous accéder à une autre partie du service de 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 adressées auIMDS.
[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/hostname; echo
-
Le
iam
sous-arbre IMDS existe-t-il ? Si ce n'est pas le cas, vérifiez qu'un profil d'IAMinstance est associé à votre instance en appelant l'EC2DescribeInstances
APIopération ou en utilisant laaws ec2 describe-instances
CLI commande.[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/iam; echo
-
Vérifiez la présence d'une erreur dans le
info
document dans la IAM sous-arborescence. S'il existe une erreur, veuillez consulter Que signifient les erreurs du info document dans la IAM sous-arborescence ? 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 du info
document dans la IAM sous-arborescence ?
Le document iam/info
indique "Code":"InstanceProfileNotFound"
Le profil de votre IAM instance a été supprimé et Amazon ne EC2 peut plus fournir d'informations d'identification à votre instance. Vous devez associer un profil d'instance valide à votre EC2 instance Amazon.
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'IAM
GetInstanceProfile
opération pour obtenir leInstanceProfileId
. -
Appelez l'EC2
DescribeInstances
opération Amazon pour obtenir le codeIamInstanceProfileId
correspondant à l'instance. -
Vérifiez que l'IAMopération
InstanceProfileId
from correspondIamInstanceProfileId
à l'EC2opération from the Amazon.
S'IDsils 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'IAMRemoveRoleFromInstanceProfile
action. Vous pouvez utiliser cette IAM AddRoleToInstanceProfile
action pour associer 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'est pas autorisé à assumer ce 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 le IAM UpdateAssumeRolePolicy
API pour mettre à jour la politique de confiance.
{"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.