Dépannage d’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 d’IAM et Amazon EC2

Les informations suivantes peuvent vous aider à résoudre les problèmes IAM liés à Amazon EC2.

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'erreur AccessDenied. 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 EC2 DescribeInstances ou en utilisant la commande de la CLI aws 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 :

  1. Appelez l'opération GetInstanceProfile IAM pour obtenir l'ID de profil d'instance InstanceProfileId.

  2. Appelez l'opération DescribeInstances Amazon EC2 pour obtenir l'ID de profil d'instance IamInstanceProfileId.

  3. Vérifiez que l'ID InstanceProfileId de l'opération IAM correspond à l'ID IamInstanceProfileId 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.