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ésoudre les messages d'erreur relatifs à l'accès refusé avec l'ID d'autorisation (version préliminaire)
Important
L'utilitaire de résolution des problèmes d'accès est en version préliminaire publique.
Vue d’ensemble
En cas AWS de refus d'une demande pour une API prise en charge, la réponse d'erreur d'accès refusé inclut généralement un ID d'autorisation. Cet ID fait référence à l'évaluation de l'autorisation pour cette demande refusée. Pour récupérer les détails de l'évaluation et identifier la cause du refus, envoyez une demande à l'GetRequestAuthorizationDetailsAPI et fournissez l'ID d'autorisation, ou ouvrez le lien présent dans le message d'erreur. Cela vous permet d'identifier la cause d'une demande refusée en un seul appel, plutôt que de résoudre les refus un par un.
Note
AWS ne garantit pas un identifiant d'autorisation pour chaque demande refusée. Voir Lorsque vous ne recevez pas d'identifiant d'autorisation dans ce document.
L'exemple suivant montre un message d'erreur d'accès refusé qui inclut un ARN de politique, un lien vers la console de
User: arn:aws:iam::123456789012:user/janedoe is not authorized to perform: iam:CreateInstanceProfile on resource: arn:aws:iam::123456789012:instance-profile/my-instance-profile with an explicit deny in an identity-based policy: arn:aws:iam::123456789012:policy/ExampleDenyPolicy. Go to https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/authorization-details/EXAMPLE1a2b3c4d5e6f7g8h9i0j for complete details, or call the GetRequestAuthorizationDetails API with the following authorization id: EXAMPLE1a2b3c4d5e6f7g8h9i0j
Concepts et définitions
-
Détails de l'autorisation. Les détails de l'autorisation incluent le contexte de la demande, les évaluations effectuées et les politiques qui ont été évaluées.
-
ID d'autorisation. Identifiant unique inclus dans une réponse d'erreur d'accès refusé prise en charge. Il fait référence à l'évaluation de l'autorisation pour cette demande refusée et correspond à la valeur que vous transmettez au lien
AWS de la console de gestion ou à l' GetRequestAuthorizationDetailsAPI. -
Contexte de la demande. Les valeurs des clés de contexte conditionnelles évaluées pour la demande. Cela inclut les clés de contexte de condition globales et les clés de contexte de condition spécifiques au service.
-
Évaluation. Pour chaque action/resource paire de la demande, les clés de contexte des conditions appliquées et le résultat évalué :
ALLOW,EXPLICIT_DENY(une politique a explicitement refusé l'action), ouIMPLICIT_DENY(aucune politique n'a autorisé l'action), et une référence à chaque stratégie et instruction correspondant à la action/resource paire. Chaque référence est un ARN de politique (pour les politiques gérées) ou un URI (pour les politiques en ligne et autres politiques non gérées) qui est réutilisé dans la réponse. -
Politiques évaluées lors de l'autorisation. Les politiques AWS prises en compte pour la demande, y compris les politiques qui ne correspondaient pas à la action/resource paire. Chaque entrée indique le type de politique (par exemple, basée sur l'identité, basée sur les ressources, SCP, RCP, limite d'autorisations ou politique de session) et le même ARN (pour les politiques gérées) ou URI que celui utilisé dans les évaluations (pour les politiques en ligne et autres politiques non gérées). Utilisez l'ARN ou l'URI pour faire correspondre une politique à l'évaluation qui l'a référencée. Le champ « Attaché à » indique l'ARN principal du principal auquel la politique évaluée est attachée.
Utilisez ces résultats conjointement pour identifier quelle politique a refusé l'accès et pourquoi. L'évaluation reflète les politiques telles qu'elles étaient au moment du refus. Les politiques ont peut-être changé depuis lors.
AWS inclut automatiquement un identifiant d'autorisation dans les réponses d'erreur d'accès refusé pour les API prises en charge, mais les identifiants d'autorisation ne sont pas garantis. Dans certains cas, AWS n'enregistre pas les détails d'autorisation en cas de refus et la réponse d'erreur n'inclut pas d'ID d'autorisation. Lorsque des informations sont enregistrées, elles peuvent ne pas être disponibles immédiatement, car elles sont AWS enregistrées de manière asynchrone. Si un appel GetRequestAuthorizationDetails renvoie une réponse introuvable, patientez quelques instants et réessayez. AWS conserve les informations d'autorisation pendant 24 heures après le refus.
Résoudre les problèmes à l'aide du AWS Console de gestion
Cliquez sur le lien figurant dans le message d'erreur d'accès refusé pour ouvrir les détails de l'autorisation dans la console de résolution des problèmes d'accès.
-
Ce qu'il faut rechercher. La console Access Troubleshooter affiche l'évaluation de chaque action/resource paire de la demande, le résultat de chacune d'elles (
AllowExplicit deny, ouImplicit deny) et les politiques prises en compte. Trouvez la paire qui a été refusée et la politique à l'origine du refus. Consultez la capture d'écran suivante à titre d'exemple :
-
Déterminez si le refus était intentionnel. Passez en revue l'évaluation avant de modifier une politique. Un refus peut être correct, et la cause en est parfois le contexte de la demande plutôt que la politique. Par exemple, il se peut qu'une requête ne comporte pas une balise de session attendue ou qu'elle provienne d'un chemin réseau inattendu.
-
Comment résoudre le refus. Localisez la politique correspondante et mettez-la à jour pour résoudre le problème d'accès. En cas de refus explicite, supprimez ou limitez la
Denydéclaration relative à l'action. Pour un refus implicite, ajoutez uneAllowdéclaration pour l'action. Pour de plus amples informations, veuillez consulter Modification de politiques IAM.
Qui peut accéder aux informations d'autorisation. Pour une demande au sein d'un seul compte ou d'une seule organisation, toute personne à qui l'accès est autorisé iam:GetRequestAuthorizationDetails peut accéder aux détails de la demande. Pour une demande qui concerne plusieurs organisations, un utilisateur d'une organisation donnée ne peut voir que les informations relatives à sa propre organisation.
Résoudre les problèmes en utilisant AWS API ou AWS CLI
Pour résoudre un refus à l'aide de l' AWS API ou AWS CLI :
-
Localisez l'ID d'autorisation dans la réponse d'erreur d'accès refusé.
-
Appelez
GetRequestAuthorizationDetailsavec l'ID d'autorisation, à l' Région AWS endroit même où le refus s'est produit. L'exemple suivant montre la AWS CLI commande :aws iam-toolbox get-request-authorization-details \ --region us-east-1 \ --authorization-id EXAMPLE1a2b3c4d5e6f7g8h9i0j -
Passez en revue les résultats de l'évaluation pour identifier les politiques qui ont refusé l'accès et la raison de ce refus.
-
Mettez à jour les politiques identifiées pour résoudre le problème d'accès. Pour de plus amples informations, veuillez consulter Modification de politiques IAM.
Lorsque vous ne recevez pas d'identifiant d'autorisation
AWS ne renvoie pas d'identifiant d'autorisation dans les cas suivants :
-
L'autorisation est trop importante pour être enregistrée. Lorsqu'une demande implique un grand nombre de politiques, vous AWS pouvez décider de ne pas l'enregistrer.
-
Le service n'est pas encore pris en charge. Consultez Services pris en charge.
-
L'API n'est pas prise en charge. Certaines API d'un service pris en charge ne renvoient pas d'identifiant d'autorisation.
-
Le type de demande n'est pas pris en charge. Cela inclut les demandes faites par un service en votre nom et les demandes anonymes.
Si vous ne recevez pas d'identifiant d'autorisation, découvrez Résolution des problèmes liés aux messages d’erreur d’accès rejeté d'autres moyens de diagnostiquer le refus.
Considérations supplémentaires
Autorisations requises. Pour appelerGetRequestAuthorizationDetails, vous devez disposer des autorisations nécessaires pour effectuer l'iam:GetRequestAuthorizationDetailsaction.
API régionale. GetRequestAuthorizationDetailsest une API régionale. Appelez-le de la même manière Région AWS que l'erreur d'accès refusé et l'ID d'autorisation ont été générés.
Cross-organization demandes. Lorsqu'une demande refusée concerne plus d'une organisation, GetRequestAuthorizationDetails renvoie uniquement les informations qui appartiennent à votre propre organisation. Cela vaut dans les deux sens : si vous faites partie de l'organisation de l'appelant refusé, vous ne voyez que les informations relatives à cette organisation. Si vous faites partie de l'organisation de la ressource refusée, seuls les détails relatifs à cette organisation s'affichent. Les informations appartenant à une autre organisation, telles que les politiques de cette organisation ou les valeurs clés contextuelles de cette organisation, ne sont pas renvoyées.
Si vous recevez une erreur d'accès refusé provenant d'une API, d'un service ou d'une région qui n'inclut pas encore d'identifiant d'autorisation, consultezRésolution des problèmes liés aux messages d’erreur d’accès rejeté.
Services pris en charge
La prise en charge de GetRequestAuthorizationDetails est déployée progressivement sur AWS les API et Région AWS. Le (s) service (s) suivant (s) prend en charge GetRequestAuthorizationDetails :
-
La plupart des API dans IAM