Dépannage IAM et Amazon EC2 - AWS Identity and Access Management

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.

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é à appelerListInstanceProfiles. 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:AddRoleToInstanceProfileavec 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:PassRoleavec la ressource correspondant au rôle ARN (par exemple,arn:aws:iam::999999999999:role/ExampleRoleName)

  • Appelez l'IAMGetInstanceProfileaction 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'IAMGetInstanceProfileaction pour vous assurer que le profil d'instance a un rôle. Les profils d'instance vides échoueront et renverront l'erreur AccessDenied. 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'EC2DescribeInstancesAPIopération ou en utilisant la aws 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 :

  1. Appelez l'IAMGetInstanceProfileopération pour obtenir leInstanceProfileId.

  2. Appelez l'EC2DescribeInstancesopération Amazon pour obtenir le code IamInstanceProfileId correspondant à l'instance.

  3. Vérifiez que l'IAMopération InstanceProfileId from correspond IamInstanceProfileId à 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'IAMRemoveRoleFromInstanceProfileaction. 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.