

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
<a name="troubleshoot_iam-ec2"></a>

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

**Topics**
+ [

## 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.
](#troubleshoot_iam-ec2_missingrole)
+ [

## Les informations d'identification sur mon instance concernent le mauvais rôle
](#troubleshoot_iam-ec2_wrongrole)
+ [

## Quand je tente d'appeler `AddRoleToInstanceProfile`, je reçois un message d'erreur `AccessDenied`.
](#troubleshoot_iam-ec2_access-denied-adding-role)
+ [

## Amazon EC2 : quand je tente de lancer l’instance avec un rôle, je reçois un message d’erreur `AccessDenied`
](#troubleshoot_iam-ec2_access-denied-launch)
+ [

## Je ne parviens pas à accéder aux informations d'identification de sécurité temporaires sur mon instance EC2
](#troubleshoot_iam-ec2_no-keys)
+ [

## Que signifient les erreurs dans le document `info` de la sous-arborescence IAM ?
](#troubleshoot_iam-ec2_errors-info-doc)

## 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.
<a name="troubleshoot_iam-ec2_missingrole"></a>

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](id_roles_use_switch-role-ec2.md#roles-usingrole-ec2instance-permissions). Pour de plus amples informations sur l'ajout d'autorisations à un utilisateur, veuillez consulter [Gestion des politiques IAM](access_policies_manage.md).

  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](id_roles_use_switch-role-ec2_instance-profiles.md).
**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
<a name="troubleshoot_iam-ec2_wrongrole"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html), puis [associer le profil d'instance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), 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`.
<a name="troubleshoot_iam-ec2_access-denied-adding-role"></a>

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 ?](id_roles_use_switch-role-ec2.md#roles-usingrole-ec2instance-get-started). Pour de plus amples informations sur l'ajout d'autorisations à un utilisateur, veuillez consulter [Gestion des politiques IAM](access_policies_manage.md).

## Amazon EC2 : quand je tente de lancer l’instance avec un rôle, je reçois un message d’erreur `AccessDenied`
<a name="troubleshoot_iam-ec2_access-denied-launch"></a>

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 (« \$1 »)
  + `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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances).
+ 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](id_roles_create.md).

Pour plus d’informations sur les autorisations nécessaires pour utiliser ces rôles, consultez [Comment puis-je commencer ?](id_roles_use_switch-role-ec2.md#roles-usingrole-ec2instance-get-started). Pour de plus amples informations sur l'ajout d'autorisations à un utilisateur, veuillez consulter [Gestion des politiques IAM](access_policies_manage.md). 

## Je ne parviens pas à accéder aux informations d'identification de sécurité temporaires sur mon instance EC2
<a name="troubleshoot_iam-ec2_no-keys"></a>

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](id_roles_use_switch-role-ec2.md).

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 ?](#troubleshoot_iam-ec2_errors-info-doc) 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 ?
<a name="troubleshoot_iam-ec2_errors-info-doc"></a>

### Le document `iam/info` indique `"Code":"InstanceProfileNotFound"`
<a name="troubleshoot_iam-ec2_errors-info-doc-profile-not-found"></a>

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`.

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

1. Vérifiez que l'ID `InstanceProfileId` de l'opération IAM correspond à l'ID `IamInstanceProfileId` de l'opération Amazon EC2.

S' IDs ils 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..."`
<a name="troubleshoot_iam-ec2_errors-info-doc-no-role"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html), puis [associer le profil d'instance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), ou vous pouvez arrêter votre instance, puis la redémarrer.

### Le document `iam/security-credentials/[role-name]` indique `"Code":"AssumeRoleUnauthorizedAccess"`
<a name="troubleshoot_iam-ec2_errors-info-doc-unauthorized-access"></a>

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. 

------
#### [ JSON ]

****  

```
{"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](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html), puis [associer le profil d'instance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), ou vous pouvez arrêter votre instance, puis la redémarrer.