

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.

# Résolutions des problèmes IAM
<a name="troubleshoot"></a>

Utilisez les informations ici pour vous aider à diagnostiquer et résoudre les problèmes courants lorsque vous utilisez Gestion des identités et des accès AWS (IAM).

**Topics**
+ [Je n'arrive pas à me connecter à mon AWS compte](#troubleshoot_general_cant-sign-in)
+ [J'ai perdu mes clés d'accès](#troubleshoot_general_access-keys)
+ [Les variables de la politique ne fonctionnent pas](#troubleshoot_general_policy-variables-dont-work)
+ [Les modifications que j'apporte ne sont pas toujours visibles immédiatement](#troubleshoot_general_eventual-consistency)
+ [Je ne suis pas autorisé à exécuter : iam : DeleteVirtual MFADevice](#troubleshoot_general_access-denied-delete-mfa)
+ [Comment créer des utilisateurs IAM en toute sécurité ?](#troubleshoot_general_securely-create-iam-users)
+ [Ressources supplémentaires](#troubleshoot_general_resources)
+ [Résolution des problèmes liés aux messages d’erreur d’accès rejeté](troubleshoot_access-denied.md)
+ [Résolution de problèmes relatifs à l’utilisateur racine](troubleshooting_root-user.md)
+ [Dépannage de politiques IAM](troubleshoot_policies.md)
+ [Résolution des problèmes liés aux clés d’accès et aux clés de sécurité FIDO](troubleshoot_mfa-fido.md)
+ [Résolution des problèmes liés aux rôles IAM](troubleshoot_roles.md)
+ [Dépannage d’IAM et Amazon EC2](troubleshoot_iam-ec2.md)
+ [Résolution des problèmes liés à IAM et Amazon S3](troubleshoot_iam-s3.md)
+ [Résolution des problèmes liés à la fédération SAML avec IAM](troubleshoot_saml.md)

## Je n'arrive pas à me connecter à mon AWS compte
<a name="troubleshoot_general_cant-sign-in"></a>

Vérifiez que vous disposez des informations d'identification correctes et que vous utilisez la bonne méthode pour vous connecter. Pour plus d'informations, consultez [Résolution des problèmes de connexion](https://docs.aws.amazon.com/signin/latest/userguide/troubleshooting-sign-in-issues.html) dans le *Guide de l'utilisateur Connexion à AWS *.

## J'ai perdu mes clés d'accès
<a name="troubleshoot_general_access-keys"></a>

Les clés d'accès se composent de deux parties :
+ **Identificateur de clé d'accès**. Cet élément n'est pas secret et peut être affiché dans la console IAM partout où les clés d'accès sont répertoriées, comme sur la page de récapitulatif de l'utilisateur.
+ **Clé d'accès secrète**. Cette partie est fournie lorsque vous créez initialement la paire de clés d'accès. Tout comme un mot de passe, elle ***ne peut pas être récupérée ultérieurement***. Si vous perdez votre clé d'accès secrète, vous devez créer une nouvelle paire de clés d'accès. Si vous disposez déjà du [nombre maximum de clés d'accès](reference_iam-quotas.md#reference_iam-quotas-entities), vous devez supprimer une paire existante avant de pouvoir en créer une autre.

Si vous perdez votre clé d'accès secrète, vous devez supprimer la clé d'accès et en créer une nouvelle. Pour plus d’informations, consultez [Mise à jour des clés d’accès](id-credentials-access-keys-update.md).

## Les variables de la politique ne fonctionnent pas
<a name="troubleshoot_general_policy-variables-dont-work"></a>

Si vos variables politiques ne fonctionnent pas, l’une des erreurs suivantes s’est produite :

**La date est incorrecte dans l’élément Politique de version.**  
Vérifiez que toutes les politiques incluant des variables contiennent le numéro de version suivant : `"Version": "2012-10-17"`. Sans le numéro de version approprié, les variables ne sont pas remplacées lors de l'évaluation. Au contraire, les variables sont évaluées littéralement. Les politiques n’incluant pas de variables continuent de fonctionner lorsque vous incluez le numéro de version le plus récent.  
Un élément de politique `Version` est différent d'une version de politique. L'élément de politique `Version` est utilisé dans une politique pour définir la version de la langue de la politique. Une version de politique est créée lorsque vous apportez des modifications à une politique gérée par le client dans IAM. La politique modifiée ne remplace pas la politique existante. À la place, IAM crée une nouvelle version de la politique gérée. Pour en savoir plus sur l'élément de politique `Version`, consultez [Éléments de politique JSON IAM : Version](reference_policies_elements_version.md). Pour en savoir plus sur les versions de politiques, consultez [Gestion des versions des politiques IAM](access_policies_managed-versioning.md).

**Les caractères de la variable ne respectent pas la casse.**  
Vérifiez que vos variables de politique sont dans la casse correcte. Pour plus d'informations, veuillez consulter [Éléments des politiques IAM : variables et balises](reference_policies_variables.md).

## Les modifications que j'apporte ne sont pas toujours visibles immédiatement
<a name="troubleshoot_general_eventual-consistency"></a>

En tant que service auquel on accède avec des ordinateurs situés dans des centres de données du monde entier, IAM utilise un modèle d'informatique distribuée appelé [cohérence éventuelle](https://wikipedia.org/wiki/Eventual_consistency). Toutes les modifications que vous apportez à IAM (ou à d'autres AWS services), y compris les balises de [contrôle d'accès basées sur les attributs (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html), mettent du temps à être visibles depuis tous les points de terminaison possibles. Certains retards résultent du temps nécessaire pour envoyer les données d’un serveur à l’autre, d’une zone de réplication à l’autre et d’une région à l’autre. IAM utilise également la mise en cache pour améliorer les performances mais, dans certains cas, cela peut ralentir le processus. La modification peut ne pas être visible tant que les données mises en cache précédemment n'arrivent pas à expiration.

Vous devez concevoir vos applications globales de sorte qu'elles tiennent compte de ces retards potentiels. Assurez-vous qu'elles fonctionnent comme prévu, même lorsqu'une modification effectuée à un emplacement n'est pas visible instantanément à un autre. Les modifications peuvent être la création ou la mise à jour d'utilisateurs, de groupes, de rôles ou de politiques. Nous vous recommandons de ne pas inclure ce type de modifications IAM dans les chemins de code critique et haute disponibilité de votre application. Au lieu de cela, procédez aux modifications IAM dans une routine d'initialisation ou d'installation distincte que vous exécutez moins souvent. Veillez également à vérifier que les modifications ont été propagées avant que les processus de production en dépendent. 

Pour plus d'informations sur la manière dont d'autres AWS services sont affectés par cette situation, consultez les ressources suivantes :
+ **Amazon DynamoDB** : [Cohérence en lecture](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) dans le *Guide du développeur DynamoDB* et [Cohérence en lecture](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) dans le Guide du développeur Amazon DynamoDB
+ **Amazon EC2** : [Cohérence éventuelle EC2](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-api-troubleshooting.html#eventual-consistency) dans la *Référence d'API Amazon EC2*
+ **Amazon EMR** :[Assurer la cohérence lors de l’utilisation d’Amazon S3 et Amazon EMR pour les flux de travail ETL](https://aws.amazon.com/blogs/big-data/ensuring-consistency-when-using-amazon-s3-and-amazon-elastic-mapreduce-for-etl-workflows/) dans le blog AWS sur les big data
+ **Amazon Redshift** :[gestion de la cohérence des données](https://docs.aws.amazon.com/redshift/latest/dg/managing-data-consistency.html) dans le *guide du développeur de la base de données Amazon Redshift*
+ **Amazon S3** : [modèle de cohérence de données Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/Welcome.html#ConsistencyModel) dans le *guide d'utilisateur du service de stockage simple d'Amazon*

## Je ne suis pas autorisé à exécuter : iam : DeleteVirtual MFADevice
<a name="troubleshoot_general_access-denied-delete-mfa"></a>

L'erreur suivante peut s'afficher lorsque vous tentez d'attribuer ou de supprimer un dispositif MFA virtuel pour vous-même ou d'autres personnes :

```
User: arn:aws:iam::123456789012:user/Diego is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::123456789012:mfa/Diego with an explicit deny
```

Elle peut se produire si quelqu'un a commencé à assigner un dispositif MFA virtuel à un utilisateur dans la console IAM et a annulé le processus. Cela crée un dispositif MFA virtuel pour l'utilisateur dans IAM, mais ne l'affecte jamais à l'utilisateur. Supprimez le dispositif MFA virtuel existant avant de pouvoir en créer un nouveau portant le même nom.

Pour résoudre ce problème, l'administrateur **ne doit pas** modifier les autorisations de politique. L'administrateur doit plutôt utiliser l' AWS API AWS CLI or pour supprimer le dispositif MFA virtuel existant mais non attribué.

**Supprimer un dispositif MFA virtuel existant, mais non attribué**

1. Affichez les dispositifs MFA virtuels de votre compte.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html)
   + AWS API : [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html)

1. Dans la réponse, localisez l'ARN du dispositif MFA virtuel pour l'utilisateur que vous essayez de réparer.

1. Supprimez le dispositif MFA virtuel.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html)
   + AWS API : [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html)

## Comment créer des utilisateurs IAM en toute sécurité ?
<a name="troubleshoot_general_securely-create-iam-users"></a>

Si certains de vos employés ont besoin d'accéder à AWS, vous pouvez choisir de créer des utilisateurs IAM ou d'[utiliser IAM Identity Center pour](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) l'authentification. Si vous utilisez IAM, il est AWS recommandé de créer un utilisateur IAM et de communiquer en toute sécurité les informations d'identification à l'employé. Si vous ne vous trouvez pas physiquement à côté de votre employé, utilisez un flux de travail sécurisé pour communiquer les informations d'identification à celui-ci.

Utilisez le flux de travail sécurisé suivant pour créer un utilisateur dans IAM :

1. [Créez un utilisateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) à l'aide de la AWS Management Console. Choisissez d'accorder AWS Management Console l'accès avec un mot de passe généré. Si nécessaire, cochez la case **Les utilisateurs doivent créer un mot de passe à leur prochaine connexion**. N'ajoutez pas de politique d'autorisations à l'utilisateur tant que celui-ci n'a pas modifié son mot de passe.

1. Une fois l'utilisateur ajouté, copiez l'URL de connexion, le nom d'utilisateur et le mot de passe du nouvel utilisateur. Pour afficher le mot de passe, choisissez **afficher**.

1. Envoyez le mot de passe à votre employé à l'aide d'une méthode de communication sécurisée dans votre entreprise, par exemple, par e-mail, chat ou système de tickets. Séparément, fournissez à vos utilisateurs le lien de la console utilisateur IAM et leur nom d'utilisateur. Demandez à l'employé de vous confirmer qu'il peut se connecter correctement avant de lui accorder des autorisations.

1. Une fois que l'employé vous a confirmé cela, ajoutez les autorisations dont il a besoin. Pour des raisons de sécurité, il est recommandé d'ajouter une politique qui exige que l'utilisateur s'authentifie à l'aide de MFA pour gérer ses informations d'identification. Pour un exemple de politique, veuillez consulter [AWS : autorise les utilisateurs IAM authentifiés par MFA à gérer leurs propres informations d’identification sur la page Informations d’identification de sécurité](reference_policies_examples_aws_my-sec-creds-self-manage.md).

## Ressources supplémentaires
<a name="troubleshoot_general_resources"></a>

Les ressources suivantes peuvent vous aider à résoudre les problèmes pendant que vous travaillez avec AWS.
+ **[AWS CloudTrail Guide de l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)** : AWS CloudTrail permet de suivre l'historique des appels d'API effectués AWS et de stocker ces informations dans des fichiers journaux. Vous pouvez ainsi identifier les utilisateurs et les comptes ayant accédé aux ressources de votre compte lors des appels, déterminer les actions demandées, etc. Pour de plus amples informations, veuillez consulter [Journalisation des appels IAM et AWS STS API avec AWS CloudTrail](cloudtrail-integration.md).
+ **[AWS Centre de connaissances](https://aws.amazon.com/premiumsupport/knowledge-center/)** : recherchez d'autres ressources FAQs et liens vers d'autres ressources pour vous aider à résoudre les problèmes.
+ **[AWS Centre de support](https://console.aws.amazon.com/support/home#/)** — Bénéficiez d'une assistance technique.
+ **[AWS Centre de support Premium](https://aws.amazon.com/premiumsupport/)** — Bénéficiez d'un support technique haut de gamme.

# Résolution des problèmes liés aux messages d’erreur d’accès rejeté
<a name="troubleshoot_access-denied"></a>

Les informations suivantes peuvent vous aider à identifier, diagnostiquer et résoudre les erreurs de refus d'accès avec Gestion des identités et des accès AWS. Les erreurs d'accès refusé apparaissent en cas de refus AWS explicite ou implicite d'une demande d'autorisation.
+ Un *refus explicite* se produit lorsqu'une politique contient une `Deny` déclaration pour une AWS action spécifique.
+ Un *refus implicite* se produit lorsqu'il n'y a ni d'instruction `Deny` applicable ni d'instruction `Allow` applicable. Comme une politique IAM refuse un principal IAM par défaut, elle doit autoriser explicitement le principal à effectuer une action. Dans le cas contraire, la politique refuse implicitement l'accès. Pour de plus amples informations, veuillez consulter [Différence entre les refus explicites et implicites](reference_policies_evaluation-logic_AccessPolicyLanguage_Interplay.md).

Lorsque vous effectuez une requête à un service ou à une ressource, plusieurs politiques peuvent s’appliquer à la requête. Passez en revue toutes les politiques applicables en plus de la politique spécifiée dans le message d’erreur.
+ Si plusieurs politiques du même type refusent une requête, le message d’erreur « accès refusé » ne précise pas le nombre de politiques évaluées.
+ Si plusieurs types de politiques refusent une demande d'autorisation, n' AWS inclut qu'un seul de ces types de politique dans le message d'erreur.

**Important**  
**Vous rencontrez des difficultés pour vous connecter à AWS ?** Assurez-vous que vous êtes sur la bonne [page de connexion AWS](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html) pour votre type d'utilisateur. Si vous êtes le Utilisateur racine d'un compte AWS (propriétaire du compte), vous pouvez vous connecter à AWS l'aide des informations d'identification que vous avez définies lors de la création du Compte AWS. Si vous êtes un utilisateur IAM, votre administrateur de compte peut vous fournir des informations d’identification AWS . Si vous avez besoin d’assistance, n’utilisez pas le lien commentaire indiqué sur cette page. Le formulaire est reçu par l'équipe de AWS documentation, non Support. Sur la page [Contactez-nous](https://aws.amazon.com/contact-us/), sélectionnez **Impossible de vous connecter à votre AWS compte**, puis choisissez l'une des options d'assistance disponibles.

## Je reçois un « accès refusé » lorsque je fais une demande à un AWS service
<a name="troubleshoot_general_access-denied-service"></a>
+ Vérifiez si le message d'erreur inclut le type et le [nom de ressource Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) de la politique responsable du refus d'accès. Si tel est le cas, vérifiez les déclarations de refus pour l'action dans la politique spécifiée. Si le type de politique est fourni mais qu'il n'existe aucun ARN de stratégie, concentrez-vous sur la résolution des problèmes liés à ce type de politique : vérifiez les déclarations de refus pour l'action dans les politiques du type spécifié. Si le message d'erreur n'indique pas le type de politique responsable du refus d'accès, utilisez les autres instructions de cette section pour effectuer un dépannage plus approfondi.
+ Vérifiez que vous avez l'autorisation de politique basée sur l'identité d'appeler l'action et la ressource que vous avez demandées. Si des conditions sont définies, vous devez également respecter ces conditions lorsque vous envoyez la demande. Pour plus d'informations sur l'affichage ou la modification de politiques pour un utilisateur, un groupe ou un rôle IAM, veuillez consulter [Gestion des politiques IAM](access_policies_manage.md).
+ S'il AWS Management Console renvoie un message indiquant que vous n'êtes pas autorisé à effectuer une action, vous devez contacter votre administrateur pour obtenir de l'aide. Votre administrateur vous a fourni vos informations de connexion ou votre lien de connexion.

  L'exemple d'erreur suivant se produit quand l'utilisateur IAM `mateojackson` tente d'utiliser la console pour afficher des informations détaillées sur une ressource `my-example-widget` fictive, mais ne dispose pas des autorisations `widgets:GetWidget` fictives.

  ```
  User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: widgets:GetWidget on resource: my-example-widget
  ```

  Dans ce cas, Mateo doit demander à son administrateur de mettre à jour ses politiques pour lui permettre d'accéder à la ressource `my-example-widget` à l'aide de l'action `widgets:GetWidget`.
+ Essayez-vous d'accéder à un service prenant en charge des [politiques basées sur les ressources](access_policies_identity-vs-resource.md), tel que Amazon S3, Amazon SNS ou Amazon SQS ? Si tel est le cas, vérifiez que la politique vous spécifie comme principal et vous accorde l'accès. Si vous effectuez une demande à un service dans votre compte, vos politiques basées sur une identité ou sur les ressources peuvent vous accorder l'autorisation. Si vous effectuez une demande à un service dans un autre compte, vos politiques basées sur une identité et sur les ressources doivent vous accorder l'autorisation. Pour afficher les services qui prennent en charge les politiques basées sur les ressources, veuillez consulter [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md).
+ Si votre politique inclut une condition avec une paire clé-valeur, vérifiez-la attentivement. Les exemples incluent la clé de condition [`aws:RequestTag/tag-key`](reference_policies_condition-keys.md)globale AWS KMS [kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context](kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context), la clé de condition et la clé de `ResourceTag/tag-key` condition prises en charge par plusieurs services. Assurez-vous que le nom de clé ne correspond pas à plusieurs résultats. Les noms de clé de condition n'étant pas sensibles à la casse, une condition qui vérifie une clé nommée `foo` correspond à `foo`, `Foo`, ou `FOO`. Si votre demande comprend plusieurs paires clé-valeur avec des noms de clé qui ne diffèrent que par la casse, votre accès pourrait être inopinément refusé. Pour plus d'informations, veuillez consulter [Éléments de politique JSON IAM : Condition](reference_policies_elements_condition.md).
+ Si vous disposez d'une [limite d'autorisations](access_policies_boundaries.md), vérifiez que la politique utilisée pour cette dernière autorise votre demande. Si vos politiques basées sur l'identité permettent la demande, mais pas votre limite d'autorisations, la demande est refusée. Une limite d'autorisations contrôle les autorisations maximum dont peut disposer un principal IAM (utilisateur ou rôle). Les politiques basées sur les ressources ne sont pas limitées par des limites d'autorisations. Les limites d'autorisations ne sont pas courantes. Pour plus d'informations sur le mode AWS d'évaluation des politiques, consultez[Logique d'évaluation de politiques](reference_policies_evaluation-logic.md).
+ Si vous signez des demandes manuellement (sans utiliser le [AWS SDKs](https://aws.amazon.com/developer/tools/)), vérifiez que vous [les avez correctement signées](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).
+ Si vous utilisez une [politique de point de terminaison Amazon VPC](https://docs.aws.amazon.com//vpc/latest/privatelink/vpc-endpoints-access.html) et que vous obtenez une erreur d’accès refusé qui n’est pas enregistrée dans AWS CloudTrail, cela peut être dû au fait que le compte propriétaire du point de terminaison d’un VPC est différent du compte appelant ou du compte de rôle cible.

## Je reçois un message d'accès refusé lorsque j'effectue une demande avec des informations d'identification de sécurité temporaires
<a name="troubleshoot_general_access-denied-temp-creds"></a>
+ Tout d'abord, assurez-vous que l'accès ne vous est pas refusé pour une raison non liée à vos informations d'identification temporaires. Pour plus d'informations, veuillez consulter [Je reçois un « accès refusé » lorsque je fais une demande à un AWS service](#troubleshoot_general_access-denied-service).
+ Pour vérifier que le service accepte les informations d'identification de sécurité temporaires, veuillez consulter [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md).
+ Vérifiez que vos demandes sont signées correctement et que la demande est correctement formée. Pour en savoir plus, veuillez consulter la documentation de votre [boîte à outils](https://aws.amazon.com/developer/tools/) ou [Utiliser des informations d'identification temporaires avec AWS les ressources](id_credentials_temp_use-resources.md).
+ Vérifiez que vos informations d'identification de sécurité temporaires ne sont pas arrivées à expiration. Pour plus d'informations, veuillez consulter [Informations d'identification de sécurité temporaires dans IAM](id_credentials_temp.md). 
+ Vérifiez que l'utilisateur ou le rôle IAM dispose des autorisations adéquates. Les autorisations pour les informations d'identification de sécurité temporaires sont dérivées d'un utilisateur ou d'un rôle IAM. Par conséquent, les autorisations sont limitées à celles qui sont accordées au rôle dont vous avez utilisé les informations d'identification temporaires. Pour de plus amples informations sur la définition des autorisations des informations d'identification de sécurité temporaires, veuillez consulter [Autorisations affectées aux informations d’identification de sécurité temporaires](id_credentials_temp_control-access.md).
+ Si vous avez endossé un rôle, votre session de rôle peut être limitée par les politiques de session. [Lorsque vous [demandez des informations d'identification de sécurité temporaires](id_credentials_temp_request.md) par le biais d'un programme AWS STS, vous pouvez éventuellement transmettre des politiques de session en ligne ou gérées.](access_policies.md#policies_session) Les politiques de session sont des politiques avancées que vous transmettez en tant que paramètre lorsque vous créez par programmation une session d'informations d'identification temporaires pour un rôle. Vous pouvez transmettre un seul document de politique de session en ligne JSON à l'aide du paramètre `Policy`. Vous pouvez utiliser le paramètre `PolicyArns` pour spécifier jusqu'à 10 politiques de session gérées. Les autorisations de la session obtenues sont une combinaison des politiques basées sur l'identité du rôle et des politiques de session. Sinon, si votre administrateur ou un programme personnalisé vous fournit des informations d'identification temporaires, ils peuvent avoir inclus une politique de session pour limiter votre accès.
+ Si vous êtes un utilisateur principal AWS STS fédéré, votre session peut être limitée par des politiques de session. Vous créez une session utilisateur fédérée en vous connectant en AWS tant qu'utilisateur IAM, puis en demandant un jeton de fédération. Pour de plus amples informations, veuillez consulter [Demande d’informations d’identification via un fournisseur d’identité personnalisé](id_credentials_temp_request.md#api_getfederationtoken). Si vous ou votre broker d'identité avez transmis des politiques de session lorsque vous avez demandé un jeton de session, votre session est limitée par ces politiques. Les autorisations de la session obtenues sont une combinaison des politiques basées sur l'identité de l'utilisateur IAM et des politiques de session. Pour de amples informations sur les politiques de session, veuillez consulter [Politiques de session](access_policies.md#policies_session).
+ Si vous accédez à une ressource disposant d'une politique basée sur une ressource à l'aide d'un rôle, vérifiez que la politique accorde des autorisations au rôle. Par exemple, la politique suivante autorise `MyRole` du compte `111122223333` à accéder à `amzn-s3-demo-bucket`.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
      "Sid": "S3BucketPolicy",
      "Effect": "Allow",
      "Principal": {"AWS": ["arn:aws:iam::111122223333:role/MyRole"]},
      "Action": ["s3:PutObject"],
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/*"]
    }]
  }
  ```

------

## Exemples de messages d'erreur d'accès refusé
<a name="access-denied-error-examples"></a>

La plupart des messages d’erreur d’accès refusé se présentent sous le format `User user is not authorized to perform action on resource because context`. Dans cet exemple, *user* l'ARN du principal auquel l'accès est refusé, *action* l'action de service refusée par la politique et *resource* l'ARN de la ressource sur laquelle la politique agit. Le *context* champ fournit un contexte supplémentaire sur le type de politique qui a refusé l'accès. Dans certains cas, il contient également l'ARN de la politique qui a refusé l'accès.

Lorsqu'une politique refuse explicitement l'accès parce qu'elle contient une `Deny` instruction, elle AWS inclut la phrase `with an explicit deny in a type policy` dans le message d'erreur d'accès refusé. Cette phrase peut également spécifier l'ARN de la politique, comme suit :`with an explicit deny in a type policy: policy ARN`.

Lorsque la politique refuse implicitement l'accès, AWS inclut la phrase `because no type policy allows the action action` dans le message d'erreur d'accès refusé.

**Note**  
Certains AWS services ne prennent pas en charge ce format de message d'erreur de refus d'accès. Le contenu des messages d'erreur d'accès refusé peut varier en fonction du service à l'origine de la demande d'autorisation.

Les exemples suivants montrent le format pour différents types de messages d'erreur d'accès refusé.

### Accès refusé en raison d’une politique de contrôle des services : refus implicite
<a name="access-denied-scp-examples-implicit"></a>

1. Vérifiez qu'il n'y a pas de `Allow` déclaration manquante concernant l'action dans vos politiques de contrôle des services (SCPs). Pour l’exemple suivant, l’action est `codecommit:ListRepositories`.

1. Mettez à jour votre SCP en ajoutant l’instruction `Allow`. Pour plus d’information, consultez [Mise à jour d’une stratégie de contrôle de service (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) dans le *Guide de l’utilisateur AWS Organizations *.

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
because no service control policy allows the codecommit:ListRepositories action
```

### Accès refusé en raison d’une politique de contrôle des services : refus explicite
<a name="access-denied-scp-examples-explicit"></a>

1. Si un ARN de politique est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans la politique de contrôle des services (SCP) spécifiée. Dans l'exemple ci-dessous, l'action est`codecommit:ListRepositories`.

1. Si aucun ARN de politique n'est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans votre SCPs.

1. Mettez à jour votre SCP en supprimant l'instruction `Deny`. Pour plus d'informations, voir [Mettre à jour une politique de contrôle des services (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy) dans le *guide de l'AWS Organizations utilisateur*.

Message d'erreur avec un ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
with an explicit deny in a service control policy: arn:aws:organizations::777788889999:policy/o-exampleorgid/service_control_policy/p-examplepolicyid123
```

Message d'erreur sans ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
with an explicit deny in a service control policy
```

### Accès refusé en raison d’une politique de contrôle des ressources : refus explicite
<a name="access-denied-rcp-examples-explicit"></a>

1. Si un ARN de politique est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans la stratégie de contrôle des ressources (RCP) spécifiée. Dans l'exemple ci-dessous, l'action est`secretsmanager:GetSecretValue`.

1. Si aucun ARN de politique n'est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans votre RCPs.

1. Mettez à jour votre politique de contrôle des ressources en supprimant l’instruction `Deny`. Pour plus d'informations, voir [Mettre à jour une politique de contrôle des ressources (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy-rcp) dans le *guide de l'AWS Organizations utilisateur*.

Message d'erreur avec un ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:*
with an explicit deny in a resource control policy: arn:aws:organizations::777788889999:policy/o-exampleorgid/resource_control_policy/p-examplepolicyid456
```

Message d'erreur sans ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:*
with an explicit deny in a resource control policy
```

### Accès refusé en raison d’une politique de point de terminaison d’un VPC : refus implicite
<a name="access-denied-vpc-endpoint-examples-implicit.title"></a>

1. Vérifiez l'absence d'une instruction `Allow` pour l'action dans vos politiques de point de terminaison de cloud privé virtuel (VPC). Pour l’exemple suivant, l’action est `codecommit:ListRepositories`.

1. Mettez à jour la politique de point de terminaison d’un VPC en ajoutant l’instruction `Allow`. Pour plus d’informations, consultez la rubrique [Mise à jour d’une politique de point de terminaison d’un VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) dans le *Guide AWS PrivateLink *.

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
because no VPC endpoint policy allows the codecommit:ListRepositories action
```

### Accès refusé en raison d’une politique de point de terminaison d’un VPC : refus explicite
<a name="access-denied-vpc-endpoint-examples-explicit.title"></a>

1. Vérifiez la présence d'une instruction `Deny` explicite pour l'action dans vos politiques de point de terminaison de cloud privé virtuel (VPC). Pour l’exemple suivant, l’action est `codedeploy:ListDeployments`.

1. Mettez à jour la politique de point de terminaison d'un VPC en supprimant l'instruction `Deny`. Pour plus d'informations, veuillez consulter la rubrique [Mise à jour d'une politique de point de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) dans le *Guide AWS PrivateLink *.

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in a VPC endpoint policy
```

### Accès refusé en raison d'une limite des autorisations : refus implicite
<a name="access-denied-permissions-boundary-examples-implicit"></a>

1. Vérifiez l’absence d’une instruction `Allow` pour l’action dans votre limite des autorisations. Pour l’exemple suivant, l’action est `codedeploy:ListDeployments`.

1. Mettez à jour votre limite des autorisations en ajoutant l'instruction `Allow` à votre politique IAM. Pour plus d’informations, consultez [Limites d'autorisations pour les entités IAM](access_policies_boundaries.md) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
because no permissions boundary allows the codedeploy:ListDeployments action
```

### Accès refusé en raison d'une limite des autorisations : refus explicite
<a name="access-denied-permissions-boundary-examples-explicit"></a>

1. Si un ARN de politique est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans la limite d'autorisations spécifiée. Dans l'exemple ci-dessous, l'action est`sagemaker:ListModels`.

1. Si aucun ARN de politique n'est fourni dans le message d'erreur, recherchez une `Deny` déclaration pour l'action dans la limite d'autorisations attachée au principal. 

1. Mettez à jour votre limite des autorisations en supprimant l'instruction `Deny` de votre politique IAM. Pour plus d’informations, consultez [Limites d'autorisations pour les entités IAM](access_policies_boundaries.md) et [Modification de politiques IAM](access_policies_manage-edit.md).

Message d'erreur avec un ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sagemaker:ListModels
with an explicit deny in a permissions boundary: arn:aws:iam::123456789012:policy/DeveloperPermissionBoundary
```

Message d'erreur sans ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sagemaker:ListModels
with an explicit deny in a permissions boundary
```

### Accès refusé en raison de politiques de session : refus implicite
<a name="access-denied-session-policy-examples-implicit"></a>

1. Vérifiez l’absence d’une instruction `Allow` pour l’action dans vos politiques de session. Pour l'exemple suivant, l'action est `codecommit:ListRepositories`.

1. Mettez à jour votre politique de session en ajoutant l'instruction `Allow`. Pour plus d'informations, veuillez consulter les rubriques [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories
because no session policy allows the codecommit:ListRepositories action
```

### Accès refusé en raison de politiques de session : refus explicite
<a name="access-denied-session-policy-examples-explicit"></a>

1. Si un ARN de stratégie est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans la stratégie de session spécifiée. Dans l'exemple ci-dessous, l'action est`codedeploy:ListDeployments`.

1. Si aucun ARN de politique n'est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans vos politiques de session.

1. Mettez à jour votre politique de session en supprimant l'instruction `Deny`. Pour plus d'informations, veuillez consulter les rubriques [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) et [Modification de politiques IAM](access_policies_manage-edit.md).

Message d'erreur avec un ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in a session policy: arn:aws:iam::123456789012:policy/DeveloperSessionPolicy
```

Message d'erreur sans ARN de politique :

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in a session policy
```

### Accès refusé en raison de politiques basées sur les ressources : refus implicite
<a name="access-denied-resource-based-policy-examples-implicit"></a>

1. Vérifiez l'absence d'une instruction `Allow` pour l'action dans votre politique basée sur les ressources. Pour l’exemple suivant, l’action est `secretsmanager:GetSecretValue`.

1. Mettez à jour votre politique en ajoutant l’instruction `Allow`. Pour plus d'informations, veuillez consulter les rubriques [Politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
because no resource-based policy allows the secretsmanager:GetSecretValue action
```

### Accès refusé en raison de politiques basées sur les ressources : refus explicite
<a name="access-denied-resource-based-policy-examples-explicit"></a>

1. Vérifiez la présence d'une instruction `Deny` explicite pour l'action dans votre politique basée sur les ressources. Pour l'exemple suivant, l'action est `secretsmanager:GetSecretValue`.

1. Mettez à jour votre politique en supprimant l'instruction `Deny`. Pour plus d'informations, veuillez consulter les rubriques [Politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue
on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:*
with an explicit deny in a resource-based policy
```

### Accès refusé en raison de politiques d'approbation de rôle : refus implicite
<a name="access-denied-role-trust-policy-examples-implicit"></a>

1. Vérifiez l'absence d'une instruction `Allow` pour l'action dans votre politique d'approbation de rôle. Pour l’exemple suivant, l’action est `sts:AssumeRole`.

1. Mettez à jour votre politique en ajoutant l’instruction `Allow`. Pour plus d'informations, veuillez consulter les rubriques [Politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sts:AssumeRole
because no role trust policy allows the sts:AssumeRole action
```

### Accès refusé en raison de politiques d'approbation de rôle : refus explicite
<a name="access-denied-role-trust-policy-examples-explicit"></a>

1. Vérifiez la présence d'une instruction `Deny` explicite pour l'action dans votre politique d'approbation de rôle. Pour l'exemple suivant, l'action est `sts:AssumeRole`.

1. Mettez à jour votre politique en supprimant l'instruction `Deny`. Pour plus d'informations, veuillez consulter les rubriques [Politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sts:AssumeRole
with an explicit deny in the role trust policy
```

### Accès refusé en raison de politiques basées sur l'identité : refus implicite
<a name="access-denied-identity-based-policy-examples-implicit"></a>

1. Vérifiez l’absence d’une instruction `Allow` pour l’action dans les politiques basées sur l’identité attachées à l’identité. Pour l’exemple suivant, l’action est `codecommit:ListRepositories` attachée à au rôle `HR`.

1. Mettez à jour votre politique en ajoutant l'instruction `Allow`. Pour plus d'informations, veuillez consulter les rubriques [Politiques basées sur l'identité](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) et [Modification de politiques IAM](access_policies_manage-edit.md).

```
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codecommit:ListRepositories
because no identity-based policy allows the codecommit:ListRepositories action
```

### Accès refusé en raison de politiques basées sur l'identité : refus explicite
<a name="access-denied-identity-based-policy-examples-explicit"></a>

1. Si un ARN de stratégie est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans la stratégie spécifiée. Dans l'exemple ci-dessous, l'action est`codedeploy:ListDeployments`.

1. Si aucun ARN de politique n'est fourni dans le message d'erreur, recherchez une `Deny` instruction pour l'action dans les politiques basées sur l'identité associées à l'identité. 

1. Mettez à jour votre politique en supprimant l'instruction `Deny`. Pour plus d'informations, veuillez consulter les rubriques [Politiques basées sur l'identité](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) et [Modification de politiques IAM](access_policies_manage-edit.md).

Message d'erreur avec un ARN de politique :

```
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in an identity-based policy: arn:aws:iam::123456789012:policy/HRAccessPolicy
```

Message d'erreur sans ARN de politique :

```
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codedeploy:ListDeployments
on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:*
with an explicit deny in an identity-based policy
```

# Résolution de problèmes relatifs à l’utilisateur racine
<a name="troubleshooting_root-user"></a>

Utilisez les informations fournies pour vous aider à résoudre les problèmes liés à l'utilisateur root d'un Compte AWS.

**Note**  
Comptes AWS géré à l'aide d'un [accès root centralisé AWS Organizations](id_root-user.md#id_root-user-access-management) peut être activé pour les comptes des membres. Ces comptes membres ne disposent pas d’informations d’identification de l’utilisateur racine, ne peuvent pas se connecter en tant qu’utilisateur racine et ne peuvent pas récupérer le mot de passe de l’utilisateur racine. Contactez votre administrateur si vous devez effectuer une tâche qui nécessite les informations d’identification de l’utilisateur racine.

## Je ne peux pas effectuer les tâches que je pense pouvoir effectuer lorsque je suis connecté en tant qu'utilisateur root du compte
<a name="troubleshooting_root-user_tasks"></a>

Votre compte doit être membre de votre organisation dans AWS Organizations. L'administrateur de votre organisation dispose peut-être d'une politique de contrôle des services (SCP) limitant les autorisations de votre compte. SCPs ont un impact sur tous les utilisateurs, y compris l'utilisateur root. Pour plus d’informations, consultez [Politiques de contrôle de service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_type-auth.html) dans le *Guide de l’utilisateur AWS Organizations *.

## J'ai oublié le mot de passe utilisateur root de mon Compte AWS
<a name="troubleshoot-forgot-root-password"></a>

Si vous êtes un utilisateur root et que vous avez perdu ou oublié le mot de passe de votre Compte AWS, vous pouvez réinitialiser votre mot de passe. Vous devez connaître l'adresse e-mail utilisée pour créer le Compte AWS, et vous devez avoir accès au compte e-mail. Pour de plus amples informations, veuillez consulter [Réinitialisation d’un mot de passe d’utilisateur racine perdu ou oublié](reset-root-password.md).

## Je n'ai pas accès à l'e-mail de mon Compte AWS
<a name="troubleshoot_general_lost-root-creds"></a>

Lorsque vous créez un Compte AWS, vous fournissez une adresse e-mail et un mot de passe. Ce sont les informations d'identification pour le Utilisateur racine d'un compte AWS. Si vous n'êtes pas sûr de l'adresse e-mail associée à votre Compte AWS, recherchez les messages envoyés depuis `@signin.aws` ou `@verify.signin.aws` vers une adresse e-mail de votre organisation qui aurait pu être utilisée pour ouvrir le Compte AWS.

Si vous connaissez l’adresse e-mail, mais que vous n’avez plus accès à l’e-mail, essayez de récupérer l’accès à l’e-mail. Utilisez l’une des options suivantes pour retrouver l’accès à votre e-mail :
+ Si vous possédez le domaine pour l'adresse e-mail, vous pouvez restaurer une adresse e-mail supprimée. Sinon, vous pouvez configurer une adresse fourre-tout pour votre compte de messagerie. Un fourre-tout collecte tous les messages envoyés à des adresses e-mail qui n’existent plus dans le serveur de messagerie et les redirige vers une autre adresse e-mail.
+ Si l'adresse e-mail sur le compte fait partie de votre système de messagerie d'entreprise, nous vous recommandons de contacter vos administrateurs de système informatique. Ils peuvent vous aider à récupérer l'accès à l'e-mail.

Si vous ne parvenez toujours pas à vous connecter à votre compte Compte AWS, vous pouvez trouver d'autres options d'assistance sur [Contactez-nous](https://aws.amazon.com/contact-us/).

# Dépannage de politiques IAM
<a name="troubleshoot_policies"></a>

Une [politique](access_policies.md) est une entité AWS qui, lorsqu'elle est attachée à une identité ou à une ressource, définit ses autorisations. AWS évalue ces politiques lorsqu'un mandant, tel qu'un utilisateur, fait une demande. Les autorisations dans les politiques déterminent si la demande est autorisée ou refusée. *Les politiques sont stockées AWS sous forme de documents JSON attachés aux principes en tant que politiques basées sur l'*identité ou aux ressources en tant que politiques basées sur les* ressources.* Vous pouvez attacher une politique basée sur identité à un principal (ou une identité), comme un groupe, un utilisateur ou un rôle IAM. Les politiques basées sur l'identité incluent des politiques gérées par AWS des politiques gérées par le client et des politiques en ligne. Vous pouvez créer et modifier des politiques gérées par le client à l' AWS Management Console aide des options de l'éditeur **Visual** et **JSON**. Lorsque vous consultez une politique dans le AWS Management Console, vous pouvez voir un résumé des autorisations accordées par cette politique. Vous pouvez utiliser l'éditeur visuel et des résumés de politique pour vous aider à diagnostiquer et à corriger les erreurs courantes lors de la gestion des politiques IAM.

N'oubliez pas que toutes les politiques IAM sont stockées selon une syntaxe qui commence par les règles de [notation d'JavaScript objet](http://www.json.org) (JSON). Vous n'avez pas besoin de comprendre cette syntaxe pour créer ou gérer vos politiques. Vous pouvez créer et modifier une politique à l'aide de l'éditeur visuel dans l' AWS Management Console. Pour en savoir plus sur la syntaxe JSON dans les politiques IAM, veuillez consulter [Syntaxe du langage de politique JSON IAM](reference_policies_grammar.md).

**Rubriques de résolution des erreurs de politique IAM**
+ [Résolution des problèmes à l'aide de l'éditeur visuel](#troubleshoot_policies-viseditor)
  + [Restructuration de politique](#troubleshoot_viseditor-restructure)
  + [Choix d'un ARN de ressource dans l'éditeur visuel](#troubleshoot_policies-resource-arn)
  + [Refus des autorisations dans l'éditeur visuel](#troubleshoot_policies-switch-deny)
  + [Spécification de plusieurs services dans l'éditeur visuel](#troubleshoot_policies-multiple-services)
  + [Réduction de la taille de votre politique dans l'éditeur visuel](#troubleshoot_policy-size)
  + [Résolution des problèmes de services, d'actions ou de types de ressources non reconnus dans l'éditeur visuel](#troubleshoot_policies-unrecognized-visual)
+ [Résolution des problèmes avec les récapitulatifs de politique](#troubleshoot_policies-polsum)
  + [Récapitulatif de politique manquant](#missing-policy-summary)
  + [Le récapitulatif de politique inclut des services, des actions ou des types de ressource non reconnus](#unrecognized-services-actions)
  + [Le service ne prend pas en charge les récapitulatifs de politique IAM](#unsupported-services-actions)
  + [Ma politique n'accorde pas les autorisations escomptées](#policy-summary-not-grant-permissions)
+ [Résolution des problèmes de gestion des politiques](#troubleshoot_policies-policy-manage)
  + [Attacher ou détacher une politique dans un compte IAM](#troubleshoot_roles_cant-attach-detach-policy)
  + [Modification des politiques pour vos identités IAM en fonction de leur activité](#troubleshoot_change-policies-based-on-activity)
+ [Résolution des problèmes de documents de politique JSON](#troubleshoot_policies-json)
  + [Valider vos politiques](#usepolicyvalidation)
  + [Je n'ai pas d'autorisations pour la validation de politique dans l'éditeur JSON](#nopermsforpolicyvalidation)
  + [Plusieurs objets de politique JSON](#morethanonepolicyblock)
  + [Plusieurs éléments de instruction JSON](#morethanonestatement)
  + [Plusieurs éléments Effect, Action ou Resource dans un élément d'instruction JSON](#duplicateelement)
  + [Élément de version JSON manquant](#missing-version)

## Résolution des problèmes à l'aide de l'éditeur visuel
<a name="troubleshoot_policies-viseditor"></a>

Lorsque vous créez ou modifiez une politique gérée par le client, vous pouvez utiliser les informations de l'éditeur **visuel** pour vous aider à résoudre les erreurs dans votre politique. Pour voir un exemple d'utilisation de l'éditeur visuel pour la création d'un politique, veuillez consulter [Contrôle de l'accès aux identités](access_controlling.md#access_controlling-identities).

### Restructuration de politique
<a name="troubleshoot_viseditor-restructure"></a>

Lorsque vous créez une politique, AWS elle valide, traite et transforme la politique avant de la stocker. Lorsque la politique est récupérée, AWS elle redevient lisible par l'homme sans modifier les autorisations. Cela peut entraîner des différences quant à ce que vous voyez dans l’éditeur visuel de politique ou sur l’onglet **JSON**.
+ Les blocs d’autorisation de l’éditeur visuel peuvent être ajoutés, supprimés ou réorganisés, et le contenu d’un bloc peut être optimisé.
+ Sous l'onglet **JSON**, les espaces blancs sans importance peuvent être supprimés et les éléments avec des mappes JSON peuvent être réorganisés. En outre, Compte AWS IDs les principaux éléments peuvent être remplacés par le Amazon Resource Name (ARN) du Utilisateur racine d'un compte AWS.

En raison de ces changements possibles, vous ne devez pas comparer les documents de politique JSON sous forme de chaînes.

Lorsque vous créez une politique gérée par le client dans le AWS Management Console, vous pouvez choisir de travailler entièrement dans l'éditeur **JSON**. Si vous ne modifiez jamais la politique dans l’éditeur **Visuel** et si vous choisissez **Suivant** dans l’éditeur **JSON**, la politique a moins de chances d’être restructurée. Lorsque vous utilisez l’éditeur **Visuel**, IAM peut restructurer la politique afin d’optimiser son apparence. Cette restructuration existe uniquement dans votre session d'édition et n'est pas enregistrée automatiquement.

Si votre politique est restructurée dans votre session d'édition, IAM détermine si la restructuration doit être enregistrée en fonction des situations suivantes :


| Utilisation de cette option de l'éditeur | Si vous modifiez votre politique | Et puis choisissez ***Suivant*** dans cet onglet | Lorsque vous sélectionnez ***Enregistrer les modifications*** | 
| --- | --- | --- | --- | 
| Visuel | Modifié | Visuel | La stratégie est restructurée | 
| Visuel | Modifié | JSON | La stratégie est restructurée | 
| Visuel | Non modifié | Visuel | La stratégie est restructurée | 
| JSON | Modifié | Visuel | La stratégie est restructurée | 
| JSON | Modifié | JSON | La structure de la stratégie n'est pas modifiée | 
| JSON | Non modifié | JSON | La structure de la stratégie n'est pas modifiée | 

IAM peut restructurer les politiques complexes ou celles qui ont des blocs d'autorisations ou des instructions qui permettent plusieurs services, types de ressources ou clés de condition.

### Choix d'un ARN de ressource dans l'éditeur visuel
<a name="troubleshoot_policies-resource-arn"></a>

Lorsque vous créez ou modifiez une politique à l'aide de l'éditeur visuel, vous devez d'abord choisir un service, puis les actions de ce dernier. Si le service et les actions que vous avez sélectionnés prennent en charge la sélection de [ressources spécifiques](access_controlling.md#access_controlling-resources), l'éditeur visuel répertorie les types de ressources pris en charge. Vous pouvez ensuite choisir **Add ARN (Ajouter un ARN)** pour fournir des détails sur votre ressource. Vous pouvez choisir l'une des options suivantes afin d'ajouter un ARN pour un type de ressource.
+ **Utiliser le générateur d’ARN** : selon le type de ressource, différents champs peuvent s’afficher pour créer votre ARN. Vous pouvez également choisir **Any (Tout)** pour fournir des autorisations pour n'importe quelle valeur du paramètre spécifié. Par exemple, si vous avez sélectionné le groupe de niveau d'accès **Read** (Lecture) Amazon EC2, les actions de votre politique prennent en charge le type de ressource `instance`. Indiquez la **région**, le **compte** et **InstanceId**les valeurs de votre ressource. La politique accorde des autorisations à toutes les instances de votre compte si vous fournissez l’ID de votre compte et choisissez **Tout** pour la région et de l’ID de l’instance.
+ **Saisir ou coller l'ARN** : vous pouvez spécifier les ressources par leur [Amazon Resource Name (ARN)](reference_identifiers.md#identifiers-arns). Vous pouvez inclure un caractère générique (**\$1**) dans n'importe quel champ de l'ARN (entre chaque paire de signes deux-points). Pour de plus amples informations, veuillez consulter [Éléments de politique JSON IAM : Resource](reference_policies_elements_resource.md).

### Refus des autorisations dans l'éditeur visuel
<a name="troubleshoot_policies-switch-deny"></a>

Par défaut, la politique que vous créez à l'aide de l'éditeur visuel autorise les actions que vous sélectionnez. Pour refuser les actions choisies, sélectionnez **Switch to deny permissions (Basculer vers le refus des autorisations)**. Dans la mesure où les demandes sont *refusées par défaut*, nous vous recommandons d’autoriser un utilisateur à accéder uniquement aux actions et aux ressources dont il a besoin. Vous devez créer une instruction de refus des autorisations uniquement si vous souhaitez remplacer une autorisation qui est également autorisée par une autre instruction ou politique. Nous vous recommandons de limiter le nombre de refus d'autorisation au minimum, car ils peuvent rendre la résolution des problèmes d'autorisation plus complexe. Pour plus d'informations sur la logique d'évaluation de politique IAM, veuillez consulter [Logique d'évaluation de politiques](reference_policies_evaluation-logic.md).

**Note**  
Par défaut, seul le Utilisateur racine d'un compte AWS compte a accès à toutes les ressources de ce compte. Par conséquent, si vous n'êtes pas connecté en tant qu'utilisateur racine, vous devez disposer des autorisations accordées par une politique.

### Spécification de plusieurs services dans l'éditeur visuel
<a name="troubleshoot_policies-multiple-services"></a>

Lorsque vous utilisez l'éditeur visuel pour construire une politique, vous pouvez sélectionner un seul service à la fois. Il s'agit d'une bonne pratique car l'éditeur visuel vous permet ensuite de choisir parmi les actions associées à ce service. Vous pouvez ensuite choisir parmi les ressources prises en charge par ce service et les actions sélectionnées. Cela facilite la création et la résolution des problèmes de votre politique. 

Vous pouvez également utiliser un caractère générique (\$1) afin de spécifier manuellement plusieurs services. Par exemple, saisissez **Code\$1** pour fournir des autorisations pour tous les services commençant par `Code`, tels que `CodeBuild` et `CodeCommit`. Cependant, vous devez ensuite saisir les actions et les ressources ARNs pour compléter votre politique. De plus, lorsque vous enregistrez votre politique, celle-ci peut être [restructurée](#troubleshoot_viseditor-restructure) de façon à inclure chaque service dans un bloc d'autorisation distinct.

Afin d'utiliser la syntaxe JSON (comme les caractères génériques) pour les services, créez, modifiez et enregistrez votre politique à l'aide de l'option de l'éditeur **JSON**.

### Réduction de la taille de votre politique dans l'éditeur visuel
<a name="troubleshoot_policy-size"></a>

Lorsque vous utilisez l'éditeur visuel pour créer une politique, IAM crée un document JSON pour stocker votre politique. Vous pouvez afficher ce document basculant vers l'option de l'éditeur **JSON**. Si ce document JSON dépasse la limite de taille d’une politique, l’éditeur visuel affiche un message d’erreur. Vous ne pourrez pas consulter ni enregistrer la politique. Pour afficher la limitation IAM relative à la taille d'une politique gérée, veuillez consulter [Limites des caractères d'IAM et de STS](reference_iam-quotas.md#reference_iam-quotas-entity-length). 

Pour réduire la taille de votre politique dans l'éditeur visuel, modifiez votre politique ou déplacez les blocs d'autorisation dans une autre politique. Le message d’erreur inclut le nombre de caractères que votre document de politique contient. Vous pouvez utiliser ces informations pour vous aider à réduire la taille de votre politique.

### Résolution des problèmes de services, d'actions ou de types de ressources non reconnus dans l'éditeur visuel
<a name="troubleshoot_policies-unrecognized-visual"></a>

Il se peut que l’éditeur visuel affiche un avertissement indiquant que votre politique inclut un type de service, d’action ou de ressource non reconnu.

**Note**  
IAM vérifie les noms de services, les actions et les types de ressource pour les services qui prennent en charge les récapitulatifs de politique. Toutefois, le récapitulatif de votre politique peut contenir une valeur de ressource ou une condition qui n'existe pas. Testez toujours vos stratégies avec le [simulateur de stratégie](access_policies_testing-policies.md).

Si votre stratégie inclut des services, des actions ou des types de ressource non reconnus, une des erreurs suivantes s'est produite :
+ **Service d'aperçu** : les services en mode aperçu ne prennent pas en charge l'éditeur visuel. Si vous participez à l'aperçu, vous devez saisir manuellement les actions et les ressources ARNs pour terminer votre politique. Vous pouvez ignorer les avertissements et continuer. Vous pouvez également choisir l'option éditeur **JSON** afin de taper ou de coller un document de politique JSON.
+ **Service personnalisé** : les services personnalisés ne prennent pas en charge l'éditeur visuel. Si vous utilisez un service personnalisé, vous devez saisir manuellement les actions et les ressources ARNs pour compléter votre politique. Vous pouvez ignorer les avertissements et continuer. Vous pouvez également choisir l'option éditeur **JSON** afin de taper ou de coller un document de politique JSON.
+ Le **service ne prend pas en charge l'éditeur visuel** : si votre politique inclut un service généralement disponible (GA) qui ne prend pas en charge l'éditeur visuel, vous devez saisir manuellement les actions et les ressources ARNs pour terminer votre politique. Vous pouvez ignorer les avertissements et continuer. Vous pouvez également choisir l'option éditeur **JSON** afin de taper ou de coller un document de politique JSON. 

  Les services disponibles pour tous sont des services mis à disposition du public qui ne sont pas des services d'aperçu ou personnalisés. Si un service non reconnu est disponible pour tous et que son nom est orthographié correctement, il ne prend pas en charge l'éditeur visuel. Pour savoir comment demander la prise en charge de l'éditeur visuel ou du résumé de stratégie pour un service disponible pour tous (GA), consultez [Le service ne prend pas en charge les récapitulatifs de politique IAM](#unsupported-services-actions).
+ L'**action ne prend pas en charge l'éditeur visuel** : si votre politique inclut un service pris en charge avec une action non prise en charge, vous devez saisir manuellement les actions et les ressources ARNs pour terminer votre politique. Vous pouvez ignorer les avertissements et continuer. Vous pouvez également choisir l'option éditeur **JSON** afin de taper ou de coller un document de politique JSON.

  Si votre politique contient un service pris en charge avec une action non prise en charge, le service ne prend pas en charge intégralement l'éditeur visuel. Pour savoir comment demander la prise en charge de l'éditeur visuel ou du résumé de stratégie pour un service disponible pour tous (GA), consultez [Le service ne prend pas en charge les récapitulatifs de politique IAM](#unsupported-services-actions).
+ **Le type de ressource ne prend pas en charge l'éditeur visuel** : si votre politique inclut une action prise en charge avec un type de ressource non pris en charge, vous pouvez ignorer le message d'avertissement et poursuivre. Toutefois, IAM ne peut pas confirmer que vous avez inclus des ressources pour l'ensemble de vos actions sélectionnées et vous pouvez consulter des avertissements supplémentaires.
+ **Faute de frappe** : lorsque vous saisissez manuellement un service, une action ou une ressource dans l'éditeur visuel, vous pouvez parfois créer une politique qui inclut une faute de frappe. Nous vous recommandons d’utiliser l’éditeur visuel en sélectionnant dans la liste des services et des actions. Complétez ensuite la section des ressources conformément aux invites. Si un service ne prend pas totalement en charge l’éditeur visuel, vous devrez peut-être taper manuellement certaines parties de votre politique. 

  Si vous êtes sûr que votre politique ne contient aucune des erreurs ci-dessus, il se peut que votre politique contienne une faute de frappe. Vérifiez les problèmes suivants :
  + Noms de type de service, d’action et de ressource mal orthographiés, tels que `s2` au lieu `s3` ou `ListMyBuckets` au lieu de `ListAllMyBuckets`
  + Texte superflu ARNs, tel que `arn:aws:s3: : :*`
  + Deux points manquants dans des actions, telles que `iam.CreateUser`

  Vous pouvez évaluer une politique susceptible de contenir des fautes de frappe en choisissant **Suivant** afin de vérifier le récapitulatif. Ensuite, confirmez que la politique contient les autorisations prévues.

## Résolution des problèmes avec les récapitulatifs de politique
<a name="troubleshoot_policies-polsum"></a>

Vous pouvez diagnostiquer et résoudre les problèmes liés aux résumés de politique.

### Récapitulatif de politique manquant
<a name="missing-policy-summary"></a>

La console IAM comprend des tables de *récapitulatif de la politique* qui présentent le niveau d'accès, les ressources et les conditions autorisées ou rejetées pour chaque service dans une politique. Les politiques sont résumées dans trois tables : [récapitulatif de la politique](access_policies_understand-policy-summary.md), [ récapitulatif du service](access_policies_understand-service-summary.md) et [récapitulatif de l'action](access_policies_understand-action-summary.md). La table *récapitulative de la politique* comprend une liste des services et des résumés des autorisations définies par la politique choisie. Vous pouvez afficher le [résumé de la politique](access_policies_understand.md) pour toutes les politiques attachées à une entité sur la page **Détails de la politique** pour la politique en question. Vous pouvez afficher le récapitulatif des politiques gérées sur la page **Politiques**. Si vous AWS ne parvenez pas à afficher le résumé d'une politique, vous verrez le document de politique JSON et l'erreur suivante s'afficher :

**Aucun récapitulatif pour cette politique ne peut être généré. Vous pouvez toujours afficher ou modifier le document de politique JSON.**

Si votre politique ne comprend pas de récapitulatif, une des erreurs suivantes s'est produite :
+ **Élément de politique non pris en charge** : IAM ne prend pas en charge la génération de récapitulatifs de politique pour les politiques comprenant l'un des [éléments de politique](reference_policies_elements.md) suivants :
  + `Principal`
  + `NotPrincipal`
  + `NotResource`
+ **Aucune autorisation de politique** : si une politique ne fournit pas d'autorisations effectives, le récapitulatif de politique ne peut pas être généré. Par exemple, si une politique contient une instruction unique avec l'élément `"NotAction": "*"`, cela signifie qu'elle accorde l'accès à toutes les actions, sauf « toutes les actions »(\$1). Cela signifie qu'elle accorde l'accès `Deny` ou `Allow` à rien.
**Note**  
Soyez prudent lorsque vous utilisez ces éléments de politique tels que `NotPrincipal`, `NotAction` et `NotResource`. Pour en savoir plus sur l'utilisation des éléments de la politique, veuillez consulter [Référence de l’élément de politique JSON IAM](reference_policies_elements.md).

  Vous pouvez créer une politique qui ne fournit pas d’autorisations effectives si vous fournissez des services et des ressources non appariés. Cela peut se produire lorsque vous précisez des actions dans un service et des ressources provenant d’un autre service. Dans ce cas, le récapitulatif de la politique n'apparaît pas. La seule indication qu'un problème est survenu est que la colonne de ressource du récapitulatif contient une ressource provenant d'un service différent. Si cette colonne contient une ressource non appariée, recherchez d'éventuelles erreurs dans votre politique. Afin de mieux comprendre la politique, testez-la avec le [simulateur de politique](access_policies_testing-policies.md).

### Le récapitulatif de politique inclut des services, des actions ou des types de ressource non reconnus
<a name="unrecognized-services-actions"></a>

Dans la console IAM, si un [récapitulatif de politique](access_policies_understand.md) inclut un symbole d’avertissement (![\[Warning hazard sign icon with yellow triangle background.\]](http://docs.aws.amazon.com/fr_fr/IAM/latest/UserGuide/images/console-alert-icon.console.png)), la politique peut alors inclure un service, une action ou un type de ressource non reconnu. Pour en savoir plus sur les avertissements dans un récapitulatif de politique, veuillez consulter [Récapitulatif de la politique (liste des services)](access_policies_understand-policy-summary.md). 

**Note**  
IAM vérifie les noms de services, les actions et les types de ressource pour les services qui prennent en charge les récapitulatifs de politique. Toutefois, le récapitulatif de votre politique peut contenir une valeur de ressource ou une condition qui n'existe pas. Testez toujours vos stratégies avec le [simulateur de stratégie](access_policies_testing-policies.md).

Si votre stratégie inclut des services, des actions ou des types de ressource non reconnus, une des erreurs suivantes s'est produite :
+ **Service d'aperçu** : les services en mode aperçu ne prennent pas en charge les récapitulatifs de politique.
+ **Service personnalisé** : les services personnalisés ne prennent pas en charge les récapitulatifs de politique.
+ **Le service ne prend pas en charge les récapitulatifs** : si votre politique contient un service disponible pour tous (GA) qui ne prend pas en charge les récapitulatifs de politique, le service figure dans la section **Unrecognized services** (Services non reconnus) de la table récapitulative de la politique. Les services disponibles pour tous sont des services mis à disposition du public qui ne sont pas des services d'aperçu ou personnalisés. Si un service non reconnu est disponible pour tous est que son nom est orthographié correctement, il ne prend pas en charge les récapitulatifs de politique IAM. Pour savoir comment demander la prise en charge du récapitulatif de politique d'un service disponible pour tous (GA), veuillez consulter [Le service ne prend pas en charge les récapitulatifs de politique IAM](#unsupported-services-actions).
+ **L'action ne prend pas en charge les récapitulatifs** : si votre politique contient un service pris en charge avec une action non prise en charge, l'action figure alors dans la section **Unrecognized actions** (Actions non reconnues) de la table récapitulative du service. Pour en savoir plus sur les avertissements dans un récapitulatif de service, consultez [Récapitulatif du service (liste des actions)](access_policies_understand-service-summary.md).
+ **Le type de ressource ne prend pas en charge les récapitulatifs** : si votre politique inclut une action prise en charge avec un type de ressource non pris en charge, la ressource figure dans la section **Unrecognized resource types** (Types de ressource non reconnus) de la table récapitulative du service. Pour en savoir plus sur les avertissements dans un récapitulatif de service, consultez [Récapitulatif du service (liste des actions)](access_policies_understand-service-summary.md).
+ [Faute de **frappe** : AWS vérifie que le JSON est syntaxiquement correct et que la politique n'inclut pas de fautes de frappe ou d'autres erreurs dans le cadre de la validation de la politique.](access_policies_policy-validator.md)

**Note**  
Selon les [bonnes pratiques](best-practices.md), nous vous recommandons d'utiliser IAM Access Analyzer pour valider vos politiques IAM afin de garantir des autorisations sûres et fonctionnelles. Nous vous recommandons d'ouvrir vos politiques existantes, d'examiner et de résoudre toutes les recommandations de validation des politiques.

### Le service ne prend pas en charge les récapitulatifs de politique IAM
<a name="unsupported-services-actions"></a>

Il est possible que les récapitulatifs de politique IAM ou l’éditeur visuel ne prennent pas en charge un service ou une action disponible pour tous. Les services disponibles pour tous sont des services mis à disposition du public qui ne sont pas des services d'aperçu ou personnalisés. Si un service non reconnu est disponible pour tous et que son nom est orthographié correctement, il ne prend pas en charge ces fonctionnalités. Si votre politique contient un service pris en charge avec une action non prise en charge, le service ne prend pas en charge intégralement les récapitulatifs de politique IAM.

**Pour demander à ce qu'un service ajoute la prise en charge du résumé de politique IAM ou de l'éditeur visuel**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Recherchez la stratégie incluant le service non pris en charge :
   + Si la stratégie est une stratégie gérée, choisissez **Stratégies** dans le panneau de navigation. Dans la liste des stratégies, choisissez le nom de la stratégie à afficher.
   + Si la stratégie est une stratégie en ligne attachée à l'utilisateur, choisissez **Utilisateurs** dans le panneau de navigation. Dans la liste des utilisateurs, choisissez le nom de l'utilisateur dont vous souhaitez afficher la politique. Dans le tableau des politiques dédiées à l'utilisateur, développez l'en-tête du récapitulatif de politique à afficher.

1. Sur le côté gauche du AWS Management Console pied de page, choisissez **Feedback**. Dans la case **Commentaires pour IAM**, tapez **I request that the <ServiceName> service add support for IAM policy summaries and the visual editor**. Si vous avez besoin de plusieurs services pour prendre en charge les récapitulatifs, saisissez **I request that the <ServiceName1>, <ServiceName2>, and <ServiceName3> services add support for IAM policy summaries and the visual editor**.

**Pour demander que la prise en charge du récapitulatif de politique IAM d'une action manquante soit ajoutée à un service**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Recherchez la stratégie incluant le service non pris en charge :
   + Si la stratégie est une stratégie gérée, choisissez **Stratégies** dans le panneau de navigation. Dans la liste des stratégies, choisissez le nom de la stratégie à afficher.
   + Si la stratégie est une stratégie en ligne attachée à l'utilisateur, choisissez **Utilisateurs** dans le panneau de navigation. Dans la liste des utilisateurs, choisissez le nom de l'utilisateur dont vous souhaitez afficher la politique. Dans le tableau des politiques dédiées à l'utilisateur, sélectionnez le nom de la politique à afficher pour développer le récapitulatif de politique.

1. Dans le récapitulatif de la politique, sélectionnez le nom du service incluant une action non prise en charge.

1. Sur le côté gauche du AWS Management Console pied de page, choisissez **Feedback**. Dans la case **Commentaires pour IAM**, tapez **I request that the <ServiceName> service add IAM policy summary and the visual editor support for the <ActionName> action**. Si vous souhaitez signaler plusieurs actions non prises en charge, saisissez **I request that the <ServiceName> service add IAM policy summary and the visual editor support for the <ActionName1>, <ActionName2>, and <ActionName3> actions**. 

Pour demander qu'un service différent contienne des actions manquantes, répétez les trois dernières étapes.

### Ma politique n'accorde pas les autorisations escomptées
<a name="policy-summary-not-grant-permissions"></a>

Pour attribuer des autorisations à un utilisateur, un groupe, un rôle ou une ressource, vous devez créer une *politique*, autrement dit un document qui définit les autorisations. Le document de politique inclut les éléments suivants :
+ **Effet** : si la politique autorise ou refuse l'accès
+ **Action** : la liste des actions qui sont autorisées ou rejetées par la politique
+ **Ressource** : la liste des ressources sur lesquelles les actions peuvent se produire
+ **Condition** (Facultatif) : les circonstances dans lesquelles la politique accorde l'autorisation

Pour en savoir plus sur ces éléments et d'autres éléments d'une politique, veuillez consulter [Référence de l’élément de politique JSON IAM](reference_policies_elements.md). 

Pour accorder l'accès, votre politique doit définir une action avec une ressource prise en charge. Si votre politique inclut également une condition, cette condition doit inclure une [clé de condition](reference_policies_condition-keys.md) ou doit s'appliquer à l'action. Pour connaître les ressources qu'une action prend en charge, veuillez consulter la [documentation AWS](https://docs.aws.amazon.com/) correspondant à votre service. Pour savoir quelles conditions sont prises en charge par une action, voir [Actions, ressources et clés de condition pour les AWS services](reference_policies_actions-resources-contextkeys.html).

Vérifiez que votre politique définit une action, une ressource ou une condition qui n’accorde pas d’autorisations. Consultez le [résumé de votre politique](access_policies_understand-policy-summary.md) à l'aide de la console IAM à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse. Vous pouvez utiliser les récapitulatifs de politiques afin d'identifier et de corriger les problèmes dans votre politique.

Plusieurs raisons peuvent expliquer l'incapacité d'un élément à accorder des autorisations bien que celles-ci soient définies dans la politique IAM :
+ [**Une action est définie sans ressource applicable**](#mismatch_action-no-resource)
+ [**Une ressource est définie sans action applicable**](#mismatch_resource-no-action)
+ [**Une condition est définie sans action applicable**](#mismatch_condition-no-match)

Pour voir des exemples de récapitulatifs de politiques incluant des avertissements, veuillez consulter [Récapitulatif de la politique (liste des services)](access_policies_understand-policy-summary.md).

#### Une action est définie sans ressource applicable
<a name="mismatch_action-no-resource"></a>

La politique ci-dessous définit toutes les actions `ec2:Describe*` et définit une ressource spécifique. Aucune des actions `ec2:Describe` n'est autorisée, car aucune de ces actions ne prend en charge les autorisations de niveau ressource. Les autorisations au niveau des ressources signifient que l'action prend en charge l'utilisation des ressources [ARNs](reference_identifiers.md#identifiers-arns)dans l'élément de [`Resource`](reference_policies_elements_resource.md)la politique. Si une action ne prend pas en charge les autorisations de niveau ressource, cette instruction de la politique doit utiliser le caractère générique (`*`) dans l'élément `Resource`. Pour savoir quels services prennent en charge les autorisations au niveau des ressources, veuillez consulter [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "arn:aws:ec2:us-east-2:111122223333:instance/*"
        }
    ]
}
```

------

Cette politique ne fournit pas d'autorisations, et le récapitulatif de politique inclut l'erreur suivante :

`This policy does not grant any permissions. To grant access, policies must have an action that has an applicable resource or condition.`

Pour corriger cette politique, vous devez utiliser le caractère générique `*` dans l'élément `Resource`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": "ec2:Describe*",
        "Resource": "*"
    }]
}
```

------

#### Une ressource est définie sans action applicable
<a name="mismatch_resource-no-action"></a>

La politique ci-dessous définit une ressource de compartiment Amazon S3, mais n'inclut pas d'action S3 pouvant être effectuée sur cette ressource. Cette politique accorde également un accès complet à toutes les CloudFront actions Amazon.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
        "Effect": "Allow",
        "Action": "cloudfront:*",
        "Resource": [
            "arn:aws:cloudfront:*",
            "arn:aws:s3:::amzn-s3-demo-bucket"
        ]
        }
    ]
}
```

------

Cette politique fournit des autorisations pour toutes les CloudFront actions. Mais comme elle définit la ressource S3 `amzn-s3-demo-bucket` sans définir d'actions S3, le récapitulatif de politique inclut l'avertissement suivant :

`This policy defines some actions, resources, or conditions that do not provide permissions. To grant access, policies must have an action that has an applicable resource or condition.`

Pour corriger cette politique de façon à fournir des autorisations de compartiment S3, vous devez définir des actions S3 pouvant être exécutées sur une ressource du compartiment.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:*",
                "s3:CreateBucket",
                "s3:ListBucket*",
                "s3:PutBucket*",
                "s3:GetBucket*"
            ],
            "Resource": [
                "arn:aws:cloudfront:*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        }
    ]
}
```

------

Sinon, pour corriger cette politique visant à fournir uniquement des CloudFront autorisations, supprimez la ressource S3.

#### Une condition est définie sans action applicable
<a name="mismatch_condition-no-match"></a>

La politique ci-dessous définit deux actions Amazon S3 pour toutes les ressources S3, si le préfixe S3 est égal à `custom` et l'ID de version à `1234`. Toutefois, la clé de condition `s3:VersionId` est utilisée pour le balisage de version d'objet et n'est pas pris en charge par les actions de compartiment définies. Pour savoir quelles conditions sont prises en charge par une action, consultez [Actions, ressources et clés de condition pour les AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) et choisissez le service pour consulter la documentation du service concernant les clés de condition.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": [
                        "custom"
                    ],
                    "s3:VersionId": [
                        "1234"
                    ]
                }
            }
        }
    ]
}
```

------

Cette politique fournit les autorisations pour l'action `s3:ListBucketVersions` et l'action `s3:ListBucket` si le nom du compartiment inclut le préfixe `custom`. Mais comme la condition `s3:VersionId` n'est prise en charge par aucune des actions définies, le récapitulatif de politique inclut l'erreur suivante :

`This policy does not grant any permissions. To grant access, policies must have an action that has an applicable resource or condition.`

Pour corriger cette politique de façon à utiliser le balisage de version d'objet S3, vous devez définir une action S3 qui prend en charge la clé de condition `s3:VersionId`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket",
                "s3:GetObjectVersion"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": [
                        "custom"
                    ],
                    "s3:VersionId": [
                        "1234"
                    ]
                }
            }
        }
    ]
}
```

------

Cette politique fournit des autorisations pour chaque action et condition de la politique. Toutefois, la politique ne fournit toujours pas d'autorisations, car il n'existe pas de cas où une même action correspond à deux conditions. À la place, vous devez créer deux instructions séparées : chacune comprendra uniquement les actions et les conditions auxquelles elles s'appliquent.

Pour corriger cette politique, créez deux instructions. La première instruction inclut les actions qui prennent en charge la condition `s3:prefix`, et la seconde instruction inclut les actions qui prennent en charge la condition `s3:VersionId`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": "custom"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:GetObjectVersion",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:VersionId": "1234"
                }
            }
        }
    ]
}
```

------

## Résolution des problèmes de gestion des politiques
<a name="troubleshoot_policies-policy-manage"></a>

Vous pouvez diagnostiquer et résoudre les problèmes liés à la gestion des politiques.

### Attacher ou détacher une politique dans un compte IAM
<a name="troubleshoot_roles_cant-attach-detach-policy"></a>

Certaines politiques AWS gérées sont liées à un service. Ces politiques sont utilisées uniquement avec un [rôle lié à un service](id_roles.md#iam-term-service-linked-role) pour ce service. Dans la console IAM, lorsque vous affichez la page **Détails de la politique**, celle-ci contient une bannière signalant que la politique est liée à un service. Vous ne pouvez pas attacher cette politique à un utilisateur, un groupe ou un rôle au sein d'IAM. Lorsque vous créez un rôle lié à un service pour le service, cette politique est automatiquement attachée à votre nouveau rôle. Puisque la politique est obligatoire, vous ne pouvez pas la détacher du rôle lié au service. 

### Modification des politiques pour vos identités IAM en fonction de leur activité
<a name="troubleshoot_change-policies-based-on-activity"></a>

Vous pouvez mettre à jour les politiques pour vos identités IAM (utilisateurs, groupes et rôles) en fonction de leur activité. Pour ce faire, consultez les événements de votre compte dans CloudTrail **l'historique** des événements. CloudTrail les journaux d'événements contiennent des informations détaillées sur les événements que vous pouvez utiliser pour modifier les autorisations de la politique.

**Un utilisateur ou un rôle tente d'effectuer une action dans AWS et cette demande est refusée.**  
Déterminez si l’utilisateur ou le rôle doit avoir l’autorisation d’effectuer l’action. Si tel est le cas, vous pouvez ajouter l'action et même l'ARN de la ressource à laquelle il a tenté d'accéder avec sa politique.

**Un utilisateur ou un rôle dispose d’autorisations qu’il n’utilise pas.**  
Envisagez de supprimer ces autorisations de leur politique. Veillez à ce que vos politiques accordent le [privilège le plus faible](best-practices.md#grant-least-privilege) requis pour exécuter uniquement les actions nécessaires.

Pour plus d'informations sur l'utilisation CloudTrail, consultez la section [Affichage CloudTrail des événements dans la CloudTrail console](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html) dans le *guide de AWS CloudTrail l'utilisateur*.

## Résolution des problèmes de documents de politique JSON
<a name="troubleshoot_policies-json"></a>

Vous pouvez diagnostiquer et résoudre les problèmes liés aux documents de politique JSON.

### Valider vos politiques
<a name="usepolicyvalidation"></a>

 Lorsque vous créez ou modifiez une politique JSON, IAM peut effectuer une validation de politique pour vous aider à créer une politique efficace. IAM identifie les erreurs de syntaxe JSON, tandis que IAM Access Analyzer fournit des vérifications de politique supplémentaires avec des recommandations pour vous aider à affiner vos politiques. Pour en savoir plus sur la validation de politiques, veuillez consulter [Validation de politique IAM](access_policies_policy-validator.md). Pour en savoir plus sur les vérifications des politiques IAM Access Analyzer et les recommandations exploitables, veuillez consulter [Validation de politique IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html). 

### Je n'ai pas d'autorisations pour la validation de politique dans l'éditeur JSON
<a name="nopermsforpolicyvalidation"></a>

Dans le AWS Management Console, le message d'erreur suivant peut s'afficher si vous n'êtes pas autorisé à consulter les résultats de validation des politiques d'IAM Access Analyzer :

`You need permissions. You do not have the permissions required to perform this operation. Ask your administrator to add permissions.`

Pour corriger cette erreur, demandez à votre administrateur d'ajouter l'autorisation `access-analyzer:ValidatePolicy` pour vous.

### Plusieurs objets de politique JSON
<a name="morethanonepolicyblock"></a>

Une politique IAM doit inclure un seul objet JSON. Vous désignez un objet en le plaçant entre accolades \$1 \$1. Vous pouvez imbriquer d’autres objets dans un objet JSON en intégrant des accolades \$1 \$1 supplémentaires dans la paire extérieure. Une politique ne doit contenir qu’une seule paire d’accolades \$1 \$1 la plus externe. L'exemple suivant est incorrect car il contient deux objets au niveau supérieur (appelés dans*red*) :

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": 
      {
         "Effect":"Allow",
         "Action":"ec2:Describe*",
         "Resource":"*"
      }
    }
    { 
      "Statement": {
         "Effect": "Allow",
         "Action": "s3:*",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      }
    }
```

------

Toutefois, il est possible de rectifier l'exemple précédent à l'aide d'une syntaxe de politique appropriée. Au lieu d'utiliser deux objets de politique complets, avec chacun son propre élément `Statement`, vous pouvez combiner les deux blocs en un seul élément `Statement`. La valeur de l'élément `Statement` est un tableau de deux objets, comme illustré dans l'exemple suivant (marqué en **gras**) : 

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ec2:Describe*",
          "Resource":"*"
        },
        {
          "Effect": "Allow",
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
      ]
    }
```

------

### Plusieurs éléments de instruction JSON
<a name="morethanonestatement"></a>

Au premier abord, cette erreur peut sembler être une variante de celle de la section précédente. Toutefois, d'un point de vue syntaxique, il s'agit d'un type d'erreur différent. L'exemple suivant comporte un seul objet de politique, comme indiqué par la paire de parenthèses \$1 \$1 au premier niveau. Toutefois, cet objet contient deux éléments `Statement`.

 Une politique IAM doit comporter un seul élément `Statement`, composé du nom (`Statement`) affiché à gauche d'un signe deux-points et suivi de sa valeur à droite. La valeur d'un élément `Statement` doit être un objet, indiqué par des accolades \$1 \$1, contenant un élément `Effect`, un élément `Action` et un élément `Resource`. L'exemple suivant est incorrect car il contient deux `Statement` éléments dans l'objet de politique (appelé in*red*) :

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Allow",
        "Action": "ec2:Describe*",
        "Resource": "*"
      },
      "Statement": {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      }
    }
```

------

Un objet de valeur peut être un tableau de plusieurs objets de valeur. Pour résoudre ce problème, combinez les deux éléments `Statement` en un même élément avec un tableau d'objets, comme illustré dans l'exemple suivant (marqué en **gras**) :

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ec2:Describe*",
          "Resource":"*"
        },
        {
          "Effect": "Allow",
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
     ]
    }
```

------

La valeur de l'élément `Statement` est un tableau d'objets. Dans cet exemple, le tableau se compose de deux objets, chaque objet étant à lui seul une valeur correcte pour un élément `Statement`. Chaque objet du tableau est séparé par des virgules.

### Plusieurs éléments Effect, Action ou Resource dans un élément d'instruction JSON
<a name="duplicateelement"></a>

Du côté valeur de la `Statement` name/value paire, l'objet doit être composé d'un seul `Effect` élément, d'un `Action` élément et d'un `Resource` élément. La politique suivante est incorrecte, car elle comporte deux éléments `Effect` dans la `Statement` :

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Deny",
        "Effect": "Allow",     
        "Action": "ec2:* ",
        "Resource": "*"
      }
    }
```

------

**Note**  
Le moteur de politiques n'autorise pas ce type d'erreurs dans les politiques nouvelles ou modifiées. Il continue toutefois à autoriser les politiques enregistrées avant sa mise à jour. Les politiques existantes contenant l'erreur se comportent comme suit :  
Plusieurs éléments `Effect` : seul le dernier élément `Effect` est pris en compte. Les autres sont ignorés.
Plusieurs éléments `Action` : tous les éléments `Action` sont combinés en interne et traités comme s’il s’agissait d’une seule liste.
Plusieurs éléments `Resource` : tous les éléments `Resource` sont combinés en interne et traités comme s’il s’agissait d’une seule liste.
Le moteur de politique ne vous permet pas d'enregistrer une politique contenant des erreurs syntaxiques. Corrigez les erreurs figurant dans la politique avant d’enregistrer. Passez en revue et corrigez toutes les recommandations de [validation de politique](access_policies_policy-validator.md) pour vos politiques.

 Dans chaque cas, la solution consiste à supprimer l'élément supplémentaire incorrect. Pour les éléments `Effect`, cela est très facile : si vous voulez que l'exemple précédent *refuse* des autorisations aux instances Amazon EC2, il vous suffit de supprimer la ligne `"Effect": "Allow",` de la politique, comme suit :

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Deny",
        "Action": "ec2:*",
        "Resource": "*"
      }
    }
```

------

Toutefois, lorsque l'élément dupliqué est `Action` ou `Resource`, la résolution peut s'avérer plus complexe. Vous voulez peut-être autoriser (ou refuser) des autorisations pour plusieurs actions ou vous souhaitez contrôler l'accès à plusieurs ressources. Par exemple, l'exemple suivant est incorrect car il comporte plusieurs `Resource` éléments (appelés dans*red*) :

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      }
    }
```

------

Chacun des éléments requis dans l'objet de valeur d'un élément `Statement` ne doit y figurer qu'une seule fois. La solution consiste à placer chaque valeur dans un tableau. L'exemple suivant illustre cette méthode : les deux éléments Resource sont inclus dans un même élément `Resource` avec un tableau comme objet de valeur (marqué en **gras**) :

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

****  

```
{	
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": [
          "arn:aws:s3:::amzn-s3-demo-bucket",
          "arn:aws:s3:::amzn-s3-demo-bucket/*"
        ]
      }
    }
```

------

### Élément de version JSON manquant
<a name="missing-version"></a>

Un élément de politique `Version` est différent d'une version de politique. L'élément de politique `Version` est utilisé dans une politique pour définir la version de la langue de la politique. En comparaison, une version de politique est créée lorsque vous apportez des modifications à une politique gérée par le client dans IAM. La politique modifiée ne remplace pas la politique existante. À la place, IAM crée une nouvelle version de la politique gérée. Pour en savoir plus sur l'élément de politique `Version`, consultez [Éléments de politique JSON IAM : Version](reference_policies_elements_version.md). Pour en savoir plus sur les versions de politiques, consultez [Gestion des versions des politiques IAM](access_policies_managed-versioning.md).

À mesure que les AWS fonctionnalités évoluent, de nouvelles fonctionnalités sont ajoutées aux politiques IAM pour prendre en charge ces fonctionnalités. Parfois, la mise à jour de la syntaxe de politique inclut un nouveau numéro de version. Si vous utilisez les nouvelles fonctions de la syntaxe de politique dans votre politique, vous devez indiquer le numéro de la version utilisée au moteur d'analyse de politique. Le numéro de version de politique par défaut est « 2008-10-17 ». Si vous voulez utiliser une fonction de politique plus récente, vous devez spécifier le numéro de version prenant en charge cette fonction. Nous vous recommandons de *toujours* inclure le numéro de version de syntaxe de politique le plus récent, à savoir actuellement `"Version": "2012-10-17"`. Par exemple, la politique suivante est incorrecte, car elle utilise une variable de politique `${...}` dans l'ARN d'une ressource. Mais il ne spécifie pas de version de syntaxe de politique prenant en charge les variables de stratégie (appelée dans*red*) :

```
{
  "Statement": 
  {
    "Action": "iam:*AccessKey*",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::123456789012:user/${aws:username}"
  }
}
```

L'ajout d'un élément `Version` au début de la politique avec la valeur `2012-10-17`, la première version de l'API IAM qui prend en charge les variables de politique, permet de corriger ce problème (marqué en **gras**) :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": 
  {
    "Action": "iam:*AccessKey*",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::123456789012:user/${aws:username}"
  }
}
```

------

# Résolution des problèmes liés aux clés d’accès et aux clés de sécurité FIDO
<a name="troubleshoot_mfa-fido"></a>

Utilisez les informations fournies ici pour vous aider à diagnostiquer les problèmes courants que vous pouvez rencontrer lors de l'utilisation FIDO2 de clés de sécurité.

**Topics**
+ [Je ne peux pas activer ma clé de sécurité FIDO](#troubleshoot_mfa-fido-cant-enable)
+ [Je ne peux pas me connecter à l'aide de ma clé de sécurité FIDO](#troubleshoot_mfa-fido-signin)
+ [J'ai perdu ou cassé ma clé de sécurité FIDO](#troubleshoot_mfa-fido-lost)
+ [Autres problèmes](#troubleshoot_mfa-fido-other-issues)

## Je ne peux pas activer ma clé de sécurité FIDO
<a name="troubleshoot_mfa-fido-cant-enable"></a>

Consultez les solutions suivantes en fonction de votre statut (utilisateur IAM ou administrateur système).

### Utilisateurs IAM
<a name="troubleshoot_mfa-fido-cant-enable-iam-user"></a>

Si vous ne pouvez pas activer votre clé de sécurité FIDO, vérifiez les points suivants :
+ Utilisez-vous une configuration prise en charge ?

  IAM prend en charge les dispositifs de FIDO2 sécurité qui se connectent à vos appareils via USB ou NFC. Bluetooth IAM prend également en charge les authentificateurs de plateforme comme TouchID ou FaceID. IAM ne prend pas en charge l’enregistrement de clés d’accès locales pour Windows Hello. Pour créer et utiliser des clés d’accès, les utilisateurs de Windows doivent utiliser l’[authentification entre appareils](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda), qui consiste à utiliser une clé d’accès provenant d’un appareil, comme un appareil mobile, ou une clé de sécurité matérielle pour se connecter sur un autre appareil, tel qu’un ordinateur portable.

  Pour plus d'informations sur les appareils et les navigateurs que vous pouvez utiliser avec WebAuthn et AWS, voir[Configurations prises en charge pour l’utilisation des clés d’accès et des clés de sécurité](id_credentials_mfa_fido_supported_configurations.md).
+ Utilisez-vous des plug-ins de navigateur ?

  AWS ne prend pas en charge l'utilisation de plugins pour ajouter le support WebAuthn du navigateur. Utilisez plutôt un navigateur qui offre une prise en charge native de la WebAuthn norme.

  Même si vous utilisez un navigateur compatible, il se peut que vous disposiez d'un plugin incompatible avec WebAuthn. Un plug-in incompatible peut vous empêcher d'activer et d'utiliser votre clé de sécurité conforme à FIDO. Désactivez les plug-ins qui pourraient être incompatibles et redémarrer votre navigateur. Réessayez ensuite d’activer la clé de sécurité FIDO.
+ Disposez-vous des autorisations appropriées ?

  Si vous ne rencontrez pas l'un des problèmes de compatibilité ci-dessus, vous n'avez peut-être pas les autorisations appropriées. Contactez votre administrateur système. 

### Administrateurs système
<a name="troubleshoot_mfa-fido-cant-enable-sys-admin"></a>

Si vos utilisateurs IAM ne peuvent pas activer leurs clés de sécurité FIDO bien qu’ils utilisent une configuration prise en charge, vérifiez leurs autorisations. Pour voir un exemple détaillé, veuillez consulter [Didacticiel IAM : permettre aux utilisateurs de gérer leurs informations d'identification et leurs paramètres MFA](tutorial_users-self-manage-mfa-and-creds.md).

## Je ne peux pas me connecter à l'aide de ma clé de sécurité FIDO
<a name="troubleshoot_mfa-fido-signin"></a>

Si vous ne parvenez pas à vous connecter à l' AWS Management Console aide de votre clé de sécurité FIDO, consultez [Configurations prises en charge pour l’utilisation des clés d’accès et des clés de sécurité](id_credentials_mfa_fido_supported_configurations.md) d'abord. Si vous utilisez une configuration prise en charge mais que vous ne pouvez pas vous connecter, contactez votre administrateur système pour obtenir de l'aide. 

## J'ai perdu ou cassé ma clé de sécurité FIDO
<a name="troubleshoot_mfa-fido-lost"></a>

Jusqu'à **huit** dispositifs MFA de n'importe quelle combinaison de [types MFA actuellement pris en charge](https://aws.amazon.com/iam/features/mfa/) peuvent être attribués à un utilisateur. Avec plusieurs dispositifs MFA, vous n'en avez besoin que d'un seul pour vous connecter à la AWS Management Console. Le remplacement d'une clé de sécurité FIDO est semblable à celui d'un jeton TOTP matériel. En cas de perte ou de casse d’un appareil MFA, consultez [Restauration d’une identité protégée par MFA dans IAM](id_credentials_mfa_lost-or-broken.md).

## Autres problèmes
<a name="troubleshoot_mfa-fido-other-issues"></a>

Si vous rencontrez un problème avec les clés de sécurité FIDO qui n'est pas traité ici, effectuez l'une des actions suivantes :
+ Utilisateurs IAM : contactez votre administrateur système.
+ Compte AWS utilisateurs root : contactez le [AWS Support](https://aws.amazon.com/premiumsupport/).

# Résolution des problèmes liés aux rôles IAM
<a name="troubleshoot_roles"></a>

Utilisez ces informations pour identifier et résoudre les problèmes courants que vous pouvez rencontrer lors de l'utilisation des rôles IAM.

**Topics**
+ [Je ne parviens pas à endosser un rôle](#troubleshoot_roles_cant-assume-role)
+ [Un nouveau rôle est apparu dans mon AWS compte](#troubleshoot_roles_new-role-appeared)
+ [Je ne parviens pas à modifier ou à supprimer un rôle dans mon Compte AWS](#troubleshoot_roles_cant-edit-delete-role)
+ [Je ne suis pas autorisé à exécuter : iam : PassRole](#troubleshoot_roles_not-auth-passrole)
+ [Pourquoi ne puis-je pas endosser un rôle avec une session de 12 heures ? (AWS CLI, AWS API)](#troubleshoot_roles_cant-set-session)
+ [Je reçois une erreur lorsque j'essaie de changer de rôle dans la console IAM](#troubleshoot_roles_cant-switch-role-console)
+ [Mon rôle dispose d'une politique qui me permet d'effectuer une action, mais j'obtiens « Accès refusé »](#troubleshoot_roles_session-policy)
+ [Le service n'a pas créé la version de politique par défaut du rôle](#troubleshoot_serviceroles_edited-policy)
+ [Il n'existe aucun cas d'utilisation pour un rôle de service dans la console](#troubleshoot_serviceroles_console-use-case)

## Je ne parviens pas à endosser un rôle
<a name="troubleshoot_roles_cant-assume-role"></a>

Vérifiez les éléments suivants :
+ Pour permettre aux utilisateurs d'assumer à nouveau le rôle actuel au cours d'une session de rôle, spécifiez l'ARN du rôle ou l' Compte AWS ARN comme principal dans la politique de confiance des rôles. Services AWS qui fournissent des ressources de calcul telles qu'Amazon EC2, Amazon ECS, Amazon EKS et Lambda fournissent des informations d'identification temporaires et mettent automatiquement à jour ces informations d'identification. Cela garantit que vous disposez toujours d'un ensemble d'informations d'identification valide. Pour ces services, il n'est pas nécessaire d'endosser à nouveau le rôle actuel pour obtenir des informations d'identification temporaires. Toutefois, si vous avez l'intention de transférer des [balises de session](id_session-tags.md) ou une [politique de session](access_policies.md#policies_session), vous devez endosser à nouveau le rôle actuel. Pour savoir comment modifier une politique d'approbation des rôles afin d'ajouter l'ARN ou Compte AWS l'ARN du rôle principal, consultez[Mise à jour d’une politique d’approbation de rôle](id_roles_update-role-trust-policy.md).
+ Lorsque vous assumez un rôle en utilisant le AWS Management Console, assurez-vous d'utiliser le nom exact de votre rôle. Les noms de rôle sont sensibles à la casse lorsque vous endossez un rôle.
+ Lorsque vous assumez un rôle à l'aide de l' AWS STS API ou AWS CLI, assurez-vous d'utiliser le nom exact de votre rôle dans l'ARN. Les noms de rôle sont sensibles à la casse lorsque vous endossez un rôle. 
+ Lorsque vous endossez un rôle à l’aide d’un fournisseur d’identité fédéré basé sur SAML et que le chiffrement SAML est activé, assurez-vous d’avoir chargé une clé de déchiffrement privée valide pour le fournisseur d’identité SAML. Pour de plus amples informations, veuillez consulter [Gestion des clés de chiffrement SAML](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).
+ Vérifiez que votre politique IAM vous accorde l'autorisation d'appeler `sts:AssumeRole` pour le rôle que vous voulez endosser. L'élément `Action` de votre politique IAM doit vous autoriser à appeler l'action `AssumeRole`. En outre, l'élément `Resource` de votre politique IAM doit spécifier le rôle que vous voulez endosser. Par exemple, l'élément `Resource` peut spécifier un rôle en utilisant son ARN (Amazon Resource Name) ou à l'aide d'un caractère générique (\$1). Par exemple, au moins une politique s'appliquant à vous doit accorder des autorisations similaires à ce qui suit :

  ```
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
  ```
+ Vérifiez que votre identité IAM est balisée avec les balises que la politique IAM requiert. Par exemple, dans la politique d'autorisations suivante, l'élément `Condition` exige que vous, en tant que principal demandant à endosser le rôle, ayez une balise spécifique. Vous devez être balisé avec `department = HR` ou `department = CS`. Dans le cas contraire, vous ne pouvez pas endosser le rôle. Pour en savoir plus sur le balisage des utilisateurs et rôles IAM, veuillez consulter [Tags pour les Gestion des identités et des accès AWS ressources](id_tags.md).

  ```
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {"StringEquals": {"aws:PrincipalTag/department": [
              "HR",
              "CS"
          ]}}
  ```
+ Assurez-vous que vous respectez toutes les conditions spécifiées dans la politique d'approbation du rôle. Une `Condition` peut spécifier une date d'expiration, un ID externe, ou exiger qu'une demande provienne uniquement d'adresses IP spécifiques. Prenons l'exemple suivant. Si la date actuelle se situe après la date spécifiée, la politique ne correspond jamais et, par conséquent, elle ne peut par vous accorder l'autorisation d'endosser le rôle.

  ```
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
      "Condition": {
          "DateLessThan" : {
              "aws:CurrentTime" : "2016-05-01T12:00:00Z"
          }
      }
  ```
+ Vérifiez que l'entité Compte AWS à partir de laquelle vous appelez `AssumeRole` est une entité de confiance pour le rôle que vous assumez. Les entités approuvées sont définies en tant que `Principal` dans la politique d'approbation d'un rôle. L'exemple suivant est une politique de confiance attachée au rôle que vous voulez endosser. Dans cet exemple, l'ID de compte avec l'utilisateur IAM avec lequel vous vous êtes connecté doit être 123456789012. Si votre numéro de compte n'est pas répertorié dans l'élément `Principal` de la politique de confiance du rôle, vous ne pouvez pas endosser le rôle. Peu importent les autorisations qui vous sont accordées dans les politiques d'accès. Notez que l'exemple de politique limite les autorisations aux actions susceptibles de se produire entre le 1er juillet 2017 et le 31 décembre 2017 (UTC), inclus. Si vous vous connectez avant ou après ces dates, la politique de correspond pas et vous ne pouvez pas endosser le rôle. 

  ```
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"},
        "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"}
      }
  ```
+ **Identité source** : les administrateurs peuvent configurer les rôles pour exiger que les identités transmettent une chaîne personnalisée identifiant la personne ou l'application qui exécute des actions AWS, appelée *identité source*. Vérifiez si le rôle endossé exige qu'une identité source soit définie. Pour de plus amples informations sur l'identité source, veuillez consulter [Surveiller et contrôler les actions prises avec les rôles endossés](id_credentials_temp_control-access_monitor.md).

## Un nouveau rôle est apparu dans mon AWS compte
<a name="troubleshoot_roles_new-role-appeared"></a>

Certains AWS services nécessitent que vous utilisiez un type unique de rôle de service directement lié au service. Ce [rôle lié à un service](id_roles.md#iam-term-service-linked-role) est prédéfini par le service et comprend toutes les autorisations nécessaires au service. La configuration d'un service est ainsi simplifiée, étant donné que vous n'avez pas besoin d'ajouter manuellement les autorisations requises. Pour obtenir des informations générales sur les rôles liés à un service, veuillez consulter [Créer un rôle lié à un service](id_roles_create-service-linked-role.md).

Vous utilisez peut être déjà un service lorsqu'il commence à prendre en charge des rôles de service liés à un service. Dans ce cas, il est possible que vous receviez un e-mail vous informant d'un nouveau rôle dans votre compte. Ce rôle comprend toutes les autorisations dont le service a besoin pour effectuer des actions en votre nom. Aucune action de votre part n'est requise pour prendre ce rôle en charge. Cependant, vous ne devez pas supprimer le rôle de votre compte. En effet, la suppression risquerait de supprimer des autorisations dont le service a besoin pour accéder aux ressources AWS . Pour afficher les rôles liés à un service de votre compte, allez sur la page **IAM Roles** (Rôles IAM) de la console IAM. Les rôles liés à un service s'affichent avec **(Rôle lié à un service)** mentionné dans la colonne **Entités de confiance** du tableau.

Pour plus d'informations concernant la prise en charge par les services des rôles liés à un service, reportez-vous à la rubrique [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md) et recherchez les services affichant **Oui **dans la colonne **Rôle lié à un service. ** Pour plus d'informations sur l'utilisation du rôle lié à un service, sélectionnez le lien **Oui**.

## Je ne parviens pas à modifier ou à supprimer un rôle dans mon Compte AWS
<a name="troubleshoot_roles_cant-edit-delete-role"></a>

Vous ne pouvez pas supprimer ni modifier les autorisations d'un [rôle lié à un service](id_roles.md#iam-term-service-linked-role) dans IAM. Ces rôles comportent des approbations et des autorisations prédéfinies requises par le service afin d'exécuter des actions en votre nom. Vous pouvez utiliser la console IAM ou l'API pour modifier uniquement la description d'un rôle lié à un service. AWS CLI Pour afficher les rôles liés à un service de votre compte, rendez-vous sur la page **IAM Roles** (Rôles IAM) de la console. Les rôles liés à un service s'affichent avec **(Rôle lié à un service)** mentionné dans la colonne **Entités de confiance** du tableau. Une bannière sur la page **Récapitulatif** d'un rôle indique aussi que le rôle est lié à un service. Vous pouvez gérer et supprimer ces rôles uniquement via le service lié, si celui-ci prend en charge l'action. Soyez vigilant lorsque vous modifiez ou supprimez un rôle lié à un service car cela peut supprimer des autorisations requises par le service pour accéder aux ressources AWS . 

Pour plus d'informations concernant la prise en charge par les services des rôles liés à un service, reportez-vous à la rubrique [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md) et recherchez les services affichant **Oui **dans la colonne **Rôle lié à un service. ** 

## Je ne suis pas autorisé à exécuter : iam : PassRole
<a name="troubleshoot_roles_not-auth-passrole"></a>

Lorsque vous créez un rôle lié à un service, vous devez être autorisé à transmettre ce rôle au service. Certains services créent automatiquement un rôle lié à un service dans votre compte lorsque vous effectuez une action dans ce service. Par exemple, Amazon EC2 Auto Scaling crée automatiquement le rôle lié au service `AWSServiceRoleForAutoScaling` la première fois que vous créez un groupe Auto Scaling. Si vous essayez de créer un groupe Auto Scaling sans l'autorisation `PassRole`, vous recevez le message d'erreur suivant :

`ClientError: An error occurred (AccessDenied) when calling the PutLifecycleHook operation: User: arn:aws:sts::111122223333:assumed-role/Testrole/Diego is not authorized to perform: iam:PassRole on resource: arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling`

Pour corriger cette erreur, demandez à votre administrateur d'ajouter l'autorisation `iam:PassRole` pour vous.

Pour savoir quels services prennent en charge les rôles liés à un service, veuillez consulter [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md). Pour savoir si un service crée automatiquement un rôle lié à un service, sélectionnez le lien **Oui** pour afficher la documentation du rôle lié à ce service.

## Pourquoi ne puis-je pas endosser un rôle avec une session de 12 heures ? (AWS CLI, AWS API)
<a name="troubleshoot_roles_cant-set-session"></a>

Lorsque vous utilisez les opérations de l' AWS STS `AssumeRole*`API ou de la `assume-role*` CLI pour assumer un rôle, vous pouvez spécifier une valeur pour le `DurationSeconds` paramètre. Vous pouvez spécifier une valeur comprise entre 900 secondes (15 minutes) et la valeur de **durée de session maximale** définie pour le rôle. Si vous spécifiez une valeur supérieure à ce paramètre, l'opération échoue. La valeur maximale de ce paramètre est de 12 heures. Par exemple, si vous spécifiez une durée de session de 12 heures, mais que votre administrateur a défini la durée de session maximale à 6 heures, votre opération échoue. Pour savoir comment afficher la valeur maximale pour votre rôle, veuillez consulter [Mettre à jour la durée de session maximale pour un rôle](id_roles_update-role-settings.md#id_roles_update-session-duration). 

Si vous utilisez la [*création de chaînes de rôles*](id_roles.md#iam-term-role-chaining) (en utilisant un rôle pour endosser un second rôle), votre session est limitée à une heure maximum. Si vous utilisez ensuite le paramètre `DurationSeconds` pour fournir une valeur supérieure à une heure, l'opération échoue. 

## Je reçois une erreur lorsque j'essaie de changer de rôle dans la console IAM
<a name="troubleshoot_roles_cant-switch-role-console"></a>

Les informations que vous entrez sur la page **Changer de rôle** doivent correspondre à celles du rôle. Sinon, l'opération échoue et vous recevez l'erreur suivante :

`Invalid information in one or more fields. Check your information or contact your administrator.`

Si vous recevez cette erreur, confirmez que les informations suivantes sont correctes :
+ **Identifiant de compte ou alias** — L' Compte AWS identifiant est un numéro à 12 chiffres. Votre compte peut avoir un alias, qui est un identifiant convivial tel que le nom de votre entreprise qui peut être utilisé à la place de votre Compte AWS identifiant. Vous pouvez utiliser l'ID de compte ou l'alias dans ce champ.
+ **Role name** (Nom de rôle) : les noms de rôle sont sensibles à la casse. L'ID du compte et le nom du rôle doivent correspondre à ce qui est configuré pour le rôle.

Si vous continuez à recevoir un message d'erreur, contactez votre administrateur pour vérifier les informations précédentes. La politique d'approbation de rôle ou la politique utilisateur IAM peut limiter votre accès. Votre administrateur peut vérifier les autorisations pour ces politiques.

## Mon rôle dispose d'une politique qui me permet d'effectuer une action, mais j'obtiens « Accès refusé »
<a name="troubleshoot_roles_session-policy"></a>

Votre session peut être limitée par les politiques de session. [Lorsque vous [demandez des informations d'identification de sécurité temporaires](id_credentials_temp_request.md) par le biais d'un programme AWS STS, vous pouvez éventuellement transmettre des politiques de session en ligne ou gérées.](access_policies.md#policies_session) Les politiques de session sont des politiques avancées que vous transmettez en tant que paramètre lorsque vous créez par programmation une session d'informations d'identification temporaires pour un rôle. Vous pouvez transmettre un seul document de politique de session en ligne JSON à l'aide du paramètre `Policy`. Vous pouvez utiliser le paramètre `PolicyArns` pour spécifier jusqu'à 10 politiques de session gérées. Les autorisations de la session obtenues sont une combinaison des politiques basées sur l'identité du rôle et des politiques de session. Sinon, si votre administrateur ou un programme personnalisé vous fournit des informations d'identification temporaires, ils peuvent avoir inclus une politique de session pour limiter votre accès.

## Le service n'a pas créé la version de politique par défaut du rôle
<a name="troubleshoot_serviceroles_edited-policy"></a>

Un rôle de service est un rôle qu'un service endosse pour effectuer des actions dans votre compte en votre nom. Lorsque vous configurez certains environnements de AWS service, vous devez définir le rôle que le service doit assumer. Dans certains cas, le service crée le rôle de service et sa politique dans IAM pour vous. Bien que vous puissiez modifier ou supprimer le rôle de service et sa politique depuis IAM, AWS ne le recommande pas. Le rôle et la politique sont destinés à être utilisés uniquement par ce service. Si vous modifiez la politique et configurez un autre environnement, lorsque le service tente d'utiliser le même rôle et la même politique, l'opération peut échouer.

Par exemple, lorsque vous l'utilisez AWS CodeBuild pour la première fois, le service crée un rôle nommé`codebuild-RWBCore-service-role`. Ce rôle de service utilise la politique nommée `codebuild-RWBCore-managed-policy`. Si vous modifiez la politique, elle crée une nouvelle version et enregistre cette version en tant que version par défaut. Si vous effectuez une opération ultérieure dans AWS CodeBuild, le service peut essayer de mettre à jour la politique. Si c'est le cas, vous recevez l'erreur suivante :

`codebuild.amazon.com did not create the default version (V2) of the codebuild-RWBCore-managed-policy policy that is attached to the codebuild-RWBCore-service-role role. To continue, detach the policy from any other identities and then delete the policy and the role.`

Si vous recevez cette erreur, vous devez apporter des modifications dans IAM avant de pouvoir poursuivre votre opération de service. Tout d'abord, définissez la version de la politique par défaut sur V1 et réessayez l'opération. Si V1 a déjà été supprimé, ou si le choix de V1 ne fonctionne pas, nettoyez et supprimez la politique et le rôle existants.

Pour de plus amples informations sur la modification des politiques gérées, veuillez consulter [Modification de politiques gérées par le client (console)](access_policies_manage-edit-console.md#edit-customer-managed-policy-console). Pour plus d'informations sur les versions de politique, veuillez consulter [Gestion des versions des politiques IAM](access_policies_managed-versioning.md). 

**Pour supprimer un rôle de service et sa politique**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation, sélectionnez **Policies** (Politiques).

1. Dans la liste des politiques, sélectionnez le nom de la politique à supprimer.

1. Choisissez l'onglet **Entités attachées** pour afficher les utilisateurs, groupes ou rôles IAM qui utilisent cette politique. Si l'une de ces identités utilise la politique, effectuez les tâches suivantes :

   1. Créez une nouvelle politique gérée avec les autorisations nécessaires. Pour vous assurer que les identités disposent des mêmes autorisations avant et après vos actions, copiez le document de politique JSON à partir de la politique existante. Créez ensuite la nouvelle politique gérée et collez le document JSON comme décrit dans la section [Création de politiques à l'aide de l'éditeur JSON](access_policies_create-console.md#access_policies_create-json-editor).

   1. Pour chaque identité affectée, joignez la nouvelle politique, puis détachez l'ancienne. Pour de plus amples informations, veuillez consulter [Ajout et suppression d'autorisations basées sur l'identité IAM](access_policies_manage-attach-detach.md).

1. Dans le panneau de navigation, sélectionnez **Roles** (Rôles).

1. Dans la liste des rôles, sélectionnez le nom du rôle à supprimer.

1. Cliquez sur l'onglet **Relations d'approbation** pour afficher les entités qui peuvent endosser le rôle. Si une entité autre que le service est répertoriée, effectuez les tâches suivantes :

   1. [Créez un nouveau rôle](id_roles_create_for-user.md#roles-creatingrole-user-console) qui approuve ces entités.

   1. Politique que vous avez créée à l'étape précédente. Si vous avez ignoré cette étape, créez la nouvelle politique gérée maintenant.

   1. Avisez toute personne qui endossait le rôle qu'elle ne peut plus le faire. Donnez-lui des informations sur la façon d'endosser le nouveau rôle et d'avoir les mêmes autorisations.

1. [Supprimez la politique](access_policies_manage-delete-console.md#delete-customer-managed-policy-console).

1. [Supprimez le rôle](id_roles_manage_delete.md#roles-managingrole-deleting-console).

## Il n'existe aucun cas d'utilisation pour un rôle de service dans la console
<a name="troubleshoot_serviceroles_console-use-case"></a>

Certains services exigent que vous créiez manuellement un rôle de service pour accorder au service les autorisations nécessaires pour effectuer des actions en votre nom. Si le service n'est pas répertorié dans la console IAM, vous devez répertorier manuellement le service en tant que principal de confiance. Si la documentation du service ou de la fonctionnalité que vous utilisez ne contient pas d'instructions pour intégrer le service à la liste des principaux de confiance, soumettez des commentaires pour la page.

Pour créer manuellement un rôle de service, vous devez connaître le [principal de service](reference_policies_elements_principal.md#principal-services) du service qui endossera le rôle. Un principal de service est un identifiant utilisé pour accorder des autorisations à un service. Le principal de service est défini par le service. 

Vous pouvez trouver le principal de service pour certains services en vérifiant les éléments suivants :

1. Ouvrir [AWS services qui fonctionnent avec IAM](reference_aws-services-that-work-with-iam.md).

1. Vérifiez si le service indique **Oui** dans la colonne **Rôles liés à un service** .

1. Choisissez le lien **Oui** pour consulter la documentation du rôle lié à ce service.

1. Recherchez la section Autorisations de rôles liés à un service correspondant à ce service pour afficher le [principal du service](reference_policies_elements_principal.md#principal-services).

Vous pouvez créer manuellement un rôle de service à l'aide de [commandes AWS CLI](id_roles_create_for-service.md#roles-creatingrole-service-cli) ou d'[opérations d'API AWS](id_roles_create_for-service.md#roles-creatingrole-service-api). Pour créer manuellement un rôle de service à l'aide de la console IAM, effectuez les tâches suivantes :

1. Créez un rôle IAM à l'aide de votre ID de compte. N'attachez pas de politique et n'accordez aucune autorisation. Pour en savoir plus, consultez [Créer un rôle pour attribuer des autorisations à un utilisateur IAM](id_roles_create_for-user.md).

1. Ouvrez le rôle et modifiez la relation d'approbation. Au lieu d'approuver le compte, le rôle doit approuver le service. Par exemple, mettez à jour l'élément `Principal` suivant :

   ```
   "Principal": { "AWS": "arn:aws:iam::123456789012:root" }
   ```

   Modifiez le principal par la valeur de votre service, par exemple, IAM.

   ```
   "Principal": { "Service": "iam.amazonaws.com" }
   ```

1. Ajoutez les autorisations requises par le service en attachant des politiques d'autorisations au rôle.

1. Revenez au service qui nécessite les autorisations et utilisez la méthode décrite dans la documentation pour informer le service du nouveau rôle de service.

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

# Résolution des problèmes liés à IAM et Amazon S3
<a name="troubleshoot_iam-s3"></a>

Utilisez ces informations pour identifier et résoudre les problèmes courants que vous pouvez rencontrer lors de l'utilisation d'Amazon S3 et IAM.

## Comment accorder un accès anonyme à un compartiment Amazon S3 ?
<a name="troubleshoot_iam-s3_anonymous-bucket-access"></a>

Vous utilisez une politique de compartiment Amazon S3 qui spécifie un caractère générique (\$1) dans l'élément `principal`, ce qui signifie que n'importe qui peut accéder au compartiment. Avec un accès anonyme, n'importe qui (y compris les utilisateurs sans identifiant Compte AWS) pourra accéder au bucket. Pour consulter un exemple de politique, veuillez consulter la rubrique [ Example Cases for Amazon S3 Bucket Policies (cas de politiques de compartiment Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html) dans l’espace * Amazon Simple Storage Service User Guide (guide de l'utilisateur du service simple de stockage Amazon)*.

## Je suis connecté en tant qu'utilisateur Compte AWS root. Pourquoi est-ce que je ne parviens pas à accéder à un compartiment Amazon S3 dans mon compte ?
<a name="troubleshoot_iam-s3_root-bucket-access"></a>

Dans certains cas, un utilisateur IAM peut disposer d'un accès complet à IAM et Amazon S3. Si l'utilisateur IAM affecte une politique de compartiment à un compartiment Amazon S3 sans spécifier l'utilisateur racine comme principal, l'utilisateur racine n'a pas accès au compartiment. Cependant, comme utilisateur racine, il est toujours possible d'accéder au compartiment. Pour ce faire, modifiez la politique de compartiment pour autoriser l'accès à l'utilisateur racine à partir de la console Amazon S3 ou de la AWS CLI. Utilisez le principe suivant, en le *123456789012* remplaçant par l'ID du Compte AWS.

```
"Principal": { "AWS": "arn:aws:iam::123456789012:root" }
```

# Résolution des problèmes liés à la fédération SAML avec IAM
<a name="troubleshoot_saml"></a>

Utilisez ces informations pour identifier et résoudre les problèmes courants que vous pouvez rencontrer lors de l'utilisation de SAML 2.0 et de la fédération avec Gestion des identités et des accès AWS.

**Topics**
+ [Error: Your request included an invalid SAML response. To logout, click here.](#troubleshoot_saml_invalid-response)
+ [Erreur : RoleSessionName obligatoire dans AuthnResponse (service : AWSSecurity TokenService ; code d'état : 400 ; code d'erreur : InvalidIdentityToken)](#troubleshoot_saml_missing-rolesessionname)
+ [Erreur : Non autorisé à exécuter sts : AssumeRoleWith SAML (service : AWSSecurity TokenService ; code d'état : 403 ; code d'erreur : AccessDenied)](#troubleshoot_saml_missing-role)
+ [Erreur : l' RoleSessionName entrée AuthnResponse doit correspondre à [a-zA-Z\$10-9\$1=, .@-] \$12,64\$1 (service : ; code d'état : 400 ; code d'erreur : AWSSecurityTokenService) InvalidIdentityToken](#troubleshoot_saml_invalid-rolesessionname)
+ [Erreur : l'identité de la source doit correspondre à [a-zA-Z\$10-9\$1=, .@-] \$12,64\$1 et ne pas commencer par `"aws:"` (service : ; code d'état : 400 ; code d'erreur : AWSSecurityTokenService) InvalidIdentityToken](#troubleshoot_saml_invalid-sourceidentity)
+ [Erreur : signature de réponse non valide (service : AWSSecurity TokenService ; code d'état : 400 ; code d'erreur : InvalidIdentityToken)](#troubleshoot_saml_invalid-metadata)
+ [Erreur : clé privée non valide.](#troubleshoot_saml_invalid-private-key)
+ [Erreur : échec de la suppression de la clé privée.](#troubleshoot_saml_invalid-remove-key)
+ [Erreur : impossible de supprimer la clé privée, car l’ID de la clé ne correspond pas à une clé privée.](#troubleshoot_saml_invalid-remove-key-mismatch)
+ [Erreur : Impossible d'assumer le rôle : l'émetteur n'est pas présent chez le fournisseur spécifié (service : AWSOpen IdDiscoveryService ; code d'état : 400 ; code d'erreur : AuthSamlInvalidSamlResponseException)](#troubleshoot_saml_issuer-mismatch)
+ [Erreur : Impossible d'analyser les métadonnées.](#troubleshoot_saml_issuer-metadata)
+ [Erreur : impossible de mettre à jour le fournisseur d’identité. Aucune mise à jour n’est définie pour les métadonnées ou l’assertion de chiffrement.](#troubleshoot_saml_unable-to-update)
+ [Erreur : impossible de définir le mode de chiffrement des assertions sur Obligatoire, car aucune clé privée n’est fournie.](#troubleshoot_saml_issuer-private-key-required)
+ [Erreur : impossible d’ajouter et de supprimer des clés privées dans la même requête. Définissez une valeur pour un seul des deux paramètres.](#troubleshoot_saml_add-remove-keys)
+ [Erreur : Le fournisseur spécifié n'existe pas.](#troubleshoot_saml_provider-doesnotexist)
+ [Erreur : le nombre demandé DurationSeconds dépasse ce qui est MaxSessionDuration défini pour ce rôle.](#troubleshoot_saml_duration-exceeds)
+ [Erreur : la limite de deux clés privées est atteinte.](#troubleshoot_saml_private-key-exceeds)
+ [Erreur : la réponse ne contient pas l'audience requise.](#troubleshoot_saml_required-audience)

## Error: Your request included an invalid SAML response. To logout, click here.
<a name="troubleshoot_saml_invalid-response"></a>

Cette erreur peut se produire lorsque la réponse SAML du fournisseur d'identité n'inclut pas d'attribut avec le `Name` défini sur `https://aws.amazon.com/SAML/Attributes/Role`. L'attribut doit contenir un ou plusieurs éléments `AttributeValue`, chacun contenant une paire de chaînes séparées par une virgule :
+ L'ARN d'un rôle auquel l'utilisateur peut être mappé
+ L'ARN du fournisseur SAML

L’erreur peut également se produire lorsque les valeurs d’attribut SAML envoyées par le fournisseur d’identité comportent un espace au début ou à la fin, ou d’autres caractères non valides dans les valeurs d’attribut SAML. Pour plus d’informations sur les valeurs attendues pour les attributs SAML, consultez [Configuration d’assertions SAML pour la réponse d’authentification](id_roles_providers_create_saml_assertions.md)

Pour de plus amples informations, veuillez consulter [Configuration d’assertions SAML pour la réponse d’authentification](id_roles_providers_create_saml_assertions.md). Pour afficher la réponse SAML dans votre navigateur, suivez les étapes répertoriées dans la section [Affichage d’une réponse SAML dans votre navigateur](troubleshoot_saml_view-saml-response.md).

## Erreur : RoleSessionName obligatoire dans AuthnResponse (service : AWSSecurity TokenService ; code d'état : 400 ; code d'erreur : InvalidIdentityToken)
<a name="troubleshoot_saml_missing-rolesessionname"></a>

Cette erreur peut se produire lorsque la réponse SAML du fournisseur d'identité n'inclut pas d'attribut avec le `Name` défini sur `https://aws.amazon.com/SAML/Attributes/RoleSessionName`. La valeur de l'attribut est un identifiant pour l'utilisateur, généralement un ID utilisateur ou une adresse e-mail.

Pour plus d’informations, veuillez consulter [Configuration d’assertions SAML pour la réponse d’authentification](id_roles_providers_create_saml_assertions.md). Pour afficher la réponse SAML dans votre navigateur, suivez les étapes répertoriées dans la section [Affichage d’une réponse SAML dans votre navigateur](troubleshoot_saml_view-saml-response.md).

## Erreur : Non autorisé à exécuter sts : AssumeRoleWith SAML (service : AWSSecurity TokenService ; code d'état : 403 ; code d'erreur : AccessDenied)
<a name="troubleshoot_saml_missing-role"></a>

Cette erreur peut se produire si le rôle IAM spécifié dans la réponse SAML est mal orthographié ou n'existe pas. Assurez-vous d'utiliser le nom exact de votre rôle, car les noms de rôle sont sensibles à la casse. Corrigez le nom du rôle dans la configuration du fournisseur de service SAML.

Vous n'êtes autorisé à accéder que si votre politique d'approbation de rôle inclut l'action `sts:AssumeRoleWithSAML`. Si votre assertion SAML est configurée pour utiliser l'[attribut `PrincipalTag`](id_roles_providers_create_saml_assertions.md#saml_role-session-tags), votre politique d'approbation doit également inclure l'action `sts:TagSession`. Pour de plus amples informations sur les balises de session, veuillez consulter [Transmettez les tags de session AWS STS](id_session-tags.md).

Cette erreur peut se produire si vous n'avez pas d'autorisations `sts:SetSourceIdentity` dans votre politique de confiance de rôle. Si votre assertion SAML est configurée pour utiliser l'attribut [`SourceIdentity`](id_roles_providers_create_saml_assertions.md#saml_sourceidentity), votre politique d'approbation doit également inclure l'action `sts:SetSourceIdentity`. Pour de plus amples informations sur l'identité source, veuillez consulter [Surveiller et contrôler les actions prises avec les rôles endossés](id_credentials_temp_control-access_monitor.md).

Cette erreur peut également se produire si un principal fédéré n’est pas autorisé à endosser le rôle. Le rôle doit disposer d'une politique d'approbation qui spécifie l'ARN du fournisseur d'identité SAML IAM en tant que principal (`Principal`). Le rôle contient également des conditions qui contrôlent les utilisateurs qui peuvent endosser le rôle. Vérifiez que les utilisateurs satisfont les exigences des conditions.

Cette erreur peut également se produire si la réponse SAML n'inclut pas de `Subject` contenant un `NameID`.

Pour plus d’informations, consultez [Permettre aux principaux fédérés SAML 2.0 d'accéder au AWS Management Console](id_roles_providers_enable-console-saml.md) et [Configuration d’assertions SAML pour la réponse d’authentification](id_roles_providers_create_saml_assertions.md). Pour afficher la réponse SAML dans votre navigateur, suivez les étapes répertoriées dans la section [Affichage d’une réponse SAML dans votre navigateur](troubleshoot_saml_view-saml-response.md).

## Erreur : l' RoleSessionName entrée AuthnResponse doit correspondre à [a-zA-Z\$10-9\$1=, .@-] \$12,64\$1 (service : ; code d'état : 400 ; code d'erreur : AWSSecurityTokenService) InvalidIdentityToken
<a name="troubleshoot_saml_invalid-rolesessionname"></a>

Cette erreur peut se produire si la valeur d'attribut `RoleSessionName` est trop longue ou contient des caractères non valides. La longueur valide maximale est de 64 caractères.

Pour plus d’informations, veuillez consulter [Configuration d’assertions SAML pour la réponse d’authentification](id_roles_providers_create_saml_assertions.md). Pour afficher la réponse SAML dans votre navigateur, suivez les étapes répertoriées dans la section [Affichage d’une réponse SAML dans votre navigateur](troubleshoot_saml_view-saml-response.md).

## Erreur : l'identité de la source doit correspondre à [a-zA-Z\$10-9\$1=, .@-] \$12,64\$1 et ne pas commencer par `"aws:"` (service : ; code d'état : 400 ; code d'erreur : AWSSecurityTokenService) InvalidIdentityToken
<a name="troubleshoot_saml_invalid-sourceidentity"></a>

Cette erreur peut se produire si la valeur d'attribut `sourceIdentity` est trop longue ou contient des caractères non valides. La longueur valide maximale est de 64 caractères. Pour de plus amples informations sur l'identité source, veuillez consulter [Surveiller et contrôler les actions prises avec les rôles endossés](id_credentials_temp_control-access_monitor.md).

Pour de plus amples informations sur la création d'assertions SAML, veuillez consulter [Configuration d’assertions SAML pour la réponse d’authentification](id_roles_providers_create_saml_assertions.md). Pour afficher la réponse SAML dans votre navigateur, suivez les étapes répertoriées dans la section [Affichage d’une réponse SAML dans votre navigateur](troubleshoot_saml_view-saml-response.md).

## Erreur : signature de réponse non valide (service : AWSSecurity TokenService ; code d'état : 400 ; code d'erreur : InvalidIdentityToken)
<a name="troubleshoot_saml_invalid-metadata"></a>

Cette erreur peut se produire lorsque les métadonnées du fournisseur d'identité ne correspondent pas aux métadonnées du fournisseur d'identité IAM. Par exemple, le fichier de métadonnées du fournisseur de service d'identité peut avoir changé pour mettre à jour un certificat arrivé à expiration. Téléchargez le fichier de métadonnées SAML mis à jour depuis votre fournisseur de service d'identité. Mettez-le ensuite à jour dans l'entité du fournisseur AWS d'identité que vous définissez dans IAM à l'aide de la commande `aws iam update-saml-provider` CLI multiplateforme ou de l'`Update-IAMSAMLProvider` PowerShellapplet de commande.

## Erreur : clé privée non valide.
<a name="troubleshoot_saml_invalid-private-key"></a>

Cette erreur peut se produire si vous ne formatez pas correctement votre fichier de clé privée. Cette erreur peut fournir des informations supplémentaires sur les raisons pour lesquelles la clé privée n’est pas valide :
+ La clé est chiffrée.
+ Le format de la clé n’est pas reconnu. Le fichier de clé privée doit être un fichier .pem.

Lorsque vous êtes [Création d’un fournisseur d’identité SAML dans IAM](id_roles_providers_create_saml.md) dans le AWS Management Console, vous devez télécharger la clé privée auprès de votre fournisseur d'identité pour la fournir à IAM afin d'activer le chiffrement. La clé privée doit être un fichier .pem qui utilise l’algorithme de chiffrement AES-GCM ou AES-CBC pour déchiffrer les assertions SAML.

## Erreur : échec de la suppression de la clé privée.
<a name="troubleshoot_saml_invalid-remove-key"></a>

Cette erreur peut se produire lorsque le chiffrement SAML est défini sur Obligatoire et que votre requête supprimerait la seule clé de déchiffrement privée pour le fournisseur SAML IAM. Pour plus d’informations sur la rotation des clés privées, consultez [Gestion des clés de chiffrement SAML](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

## Erreur : impossible de supprimer la clé privée, car l’ID de la clé ne correspond pas à une clé privée.
<a name="troubleshoot_saml_invalid-remove-key-mismatch"></a>

Cette erreur peut se produire si la valeur `keyId` de la clé privée ne correspond à aucun des ID de clé des fichiers de clé privée du fournisseur d’identité.

Lorsque vous utilisez [update-saml-provider](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-saml-provider.html)ou [mettez à jour](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html) des opérations d'SAMLProviderAPI pour supprimer des clés privées de chiffrement SAML, la valeur `RemovePrivateKey` saisie doit être un ID de clé valide pour une clé privée attachée à votre fournisseur d'identité.

## Erreur : Impossible d'assumer le rôle : l'émetteur n'est pas présent chez le fournisseur spécifié (service : AWSOpen IdDiscoveryService ; code d'état : 400 ; code d'erreur : AuthSamlInvalidSamlResponseException)
<a name="troubleshoot_saml_issuer-mismatch"></a>

Cette erreur peut se produire si l'émetteur de la réponse SAML ne correspond pas à l'émetteur déclaré dans le fichier de métadonnées de fédération. Le fichier de métadonnées a été chargé AWS lorsque vous avez créé le fournisseur d'identité dans IAM.

## Erreur : Impossible d'analyser les métadonnées.
<a name="troubleshoot_saml_issuer-metadata"></a>

Cette erreur peut se produire si vous ne formatez pas correctement votre fichier de métadonnées.

Lorsque vous [créez ou gérez un fournisseur d'identité SAML](id_roles_providers_create_saml.md#idp-manage-identityprovider-console) dans le AWS Management Console, vous devez récupérer le document de métadonnées SAML auprès de votre fournisseur d'identité.

Ce fichier de métadonnées inclut le nom de l'auteur, des informations d'expiration et des clés qui peuvent être utilisées pour valider les réponses d'authentification (assertions) SAML reçues du fournisseur d'identité (IdP). Le fichier de métadonnées doit être codé au format UTF-8 sans marque d'ordre d'octet (BOM). Pour supprimer la marque d'ordre d'octet (BOM), vous pouvez coder le fichier au format UTF-8 à l'aide d'un outil d'édition de texte, tel que Notepad\$1\$1.

Le certificat X.509 inclus comme partie du document des métadonnées SAML doit utiliser une taille de clé au moins égale à 1 024 bits. De plus, le certificat X.509 doit également être exempt de toute extension répétée. Vous pouvez utiliser des extensions, mais elles ne peuvent apparaître qu'une seule fois dans le certificat. Si le certificat X.509 ne répond à aucune des conditions, la création de l’IdP échoue et renvoie une erreur « impossible d’analyser les métadonnées ».

Comme défini par la [version 1.0 du profil d’interopérabilité des métadonnées SAML V2.0](https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop-os.html), IAM n’évalue pas et ne prend aucune mesure concernant l’expiration des certificats X.509 dans les documents de métadonnées SAML. Si vous êtes préoccupé par les certificats X.509 expirés, nous vous recommandons de surveiller les dates d’expiration des certificats et de les renouveler conformément aux politiques de gouvernance et de sécurité de votre organisation.

## Erreur : impossible de mettre à jour le fournisseur d’identité. Aucune mise à jour n’est définie pour les métadonnées ou l’assertion de chiffrement.
<a name="troubleshoot_saml_unable-to-update"></a>

Cette erreur peut se produire si vous utilisez les opérations de l’`update-saml-provider` CLI ou de l’API `UpdateSAMLProvider`, mais que vous ne fournissez pas de valeurs de mise à jour dans les paramètres de votre requête. Pour plus d’informations sur la mise à jour de votre fournisseur SAML IAM, consultez. [Création d’un fournisseur d’identité SAML dans IAM](id_roles_providers_create_saml.md)

## Erreur : impossible de définir le mode de chiffrement des assertions sur Obligatoire, car aucune clé privée n’est fournie.
<a name="troubleshoot_saml_issuer-private-key-required"></a>

Cette erreur peut se produire lorsque vous n’avez pas encore chargé de clé de déchiffrement privée et que vous tentez de définir le chiffrement SAML sur Obligatoire sans inclure de clé privée dans votre requête.

Assurez-vous qu’une clé privée est définie pour votre fournisseur SAML IAM lorsque vous utilisez une `create-saml-provider` CLI, une API `CreateSAMLProvider`, une `update-saml-provider` CLI ou des opérations d’API `UpdateSAMLProvider` pour exiger des assertions SAML chiffrées. 

## Erreur : impossible d’ajouter et de supprimer des clés privées dans la même requête. Définissez une valeur pour un seul des deux paramètres.
<a name="troubleshoot_saml_add-remove-keys"></a>

Cette erreur peut se produire si des valeurs d’ajout et de suppression de clés privées sont incluses dans la même requête.

Lorsque vous utilisez [update-saml-provider](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-saml-provider.html)ou [mettez à jour](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html) des opérations d'SAMLProviderAPI pour faire pivoter des fichiers de clé privée de chiffrement SAML, vous pouvez uniquement ajouter ou supprimer une clé privée dans votre demande. Si vous ajoutez une clé privée tout en supprimant une clé privée, l’opération échoue. Pour plus d’informations sur la rotation des clés privées, consultez [Gestion des clés de chiffrement SAML](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

## Erreur : Le fournisseur spécifié n'existe pas.
<a name="troubleshoot_saml_provider-doesnotexist"></a>

Cette erreur peut se produire si le nom du fournisseur dans l’assertion SAML ne correspond pas au nom du fournisseur dans IAM. Pour plus d’informations sur l'affichage du nom du fournisseur, veuillez consulter [Création d’un fournisseur d’identité SAML dans IAM](id_roles_providers_create_saml.md).

## Erreur : le nombre demandé DurationSeconds dépasse ce qui est MaxSessionDuration défini pour ce rôle.
<a name="troubleshoot_saml_duration-exceeds"></a>

Cette erreur peut se produire si vous assumez un rôle depuis l'API AWS CLI or. 

Lorsque vous utilisez les opérations de la [assume-role-with-saml](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)CLI ou de l'API [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) pour assumer un rôle, vous pouvez spécifier une valeur pour le `DurationSeconds` paramètre. Vous pouvez spécifier une valeur comprise entre 900 secondes (15 minutes) et la durée maximale de la session définie pour le rôle. Si vous spécifiez une valeur supérieure à ce paramètre, l'opération échoue. Par exemple, si vous spécifiez une durée de session de 12 heures, mais que votre administrateur a défini la durée de session maximale à 6 heures, votre opération échoue. Pour savoir comment afficher la valeur maximale pour votre rôle, veuillez consulter [Mettre à jour la durée de session maximale pour un rôle](id_roles_update-role-settings.md#id_roles_update-session-duration).

## Erreur : la limite de deux clés privées est atteinte.
<a name="troubleshoot_saml_private-key-exceeds"></a>

Cette erreur peut se produire si vous essayez d’ajouter une clé privée à votre fournisseur d’identité.

Vous pouvez enregistrer jusqu’à deux clés privées pour chaque fournisseur d’identité. Lorsque vous utilisez [update-saml-provider](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-saml-provider.html)ou [mettez à jour](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html) des opérations d'SAMLProviderAPI pour ajouter une troisième clé privée, l'opération échoue. 

Supprimez les clés privées expirées avant d’ajouter une nouvelle clé privée. Pour plus d’informations sur la rotation des clés privées, consultez [Gestion des clés de chiffrement SAML](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

## Erreur : la réponse ne contient pas l'audience requise.
<a name="troubleshoot_saml_required-audience"></a>

Cette erreur peut se produire s'il existe une incompatibilité entre l'URL d'audience et le fournisseur d'identité dans la configuration SAML. Assurez-vous que l'identifiant de la partie dépendante de votre fournisseur d'identité (IdP) correspond exactement à l'URL d'audience (ID d'entité) fournie dans la configuration SAML.