View a markdown version of this page

Problembehandlung bei Fehlermeldungen mit Zugriffsverweigerung mit Autorisierungs-ID (Vorschau) - AWS Identitäts- und Zugriffsverwaltung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Problembehandlung bei Fehlermeldungen mit Zugriffsverweigerung mit Autorisierungs-ID (Vorschau)

Wichtig

Access Troubleshooter befindet sich in der öffentlichen Vorschauversion. Die APIs können sich ändern.

-Übersicht

Wann AWS lehnt eine Anfrage für eine unterstützte API ab, die Fehlerantwort „Zugriff verweigert“ enthält in der Regel eine Autorisierungs-ID. Diese ID verweist auf die Autorisierungsbewertung für diese verweigerte Anfrage. Um die Einzelheiten der Bewertung abzurufen und zu ermitteln, was die Ablehnung verursacht hat, richten Sie eine Anfrage an die GetRequestAuthorizationDetails Geben Sie eine API ein und geben Sie die Autorisierungs-ID an, oder öffnen Sie den Link in der Fehlermeldung. Auf diese Weise können Sie die Ursache einer abgelehnten Anfrage in einem einzigen Anruf ermitteln, anstatt Ablehnungen einzeln zu lösen.

Anmerkung

AWS garantiert nicht für jede abgelehnte Anfrage eine Autorisierungs-ID. Siehe Wenn Sie keine Autorisierungs-ID erhalten in diesem Dokument.

Das folgende Beispiel zeigt eine Fehlermeldung „Zugriff verweigert“, die eine Richtlinie enthält ARN, ein Link zum AWS Management-Konsoleund eine Autorisierungs-ID:

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

Konzepte und Definitionen

  • Einzelheiten zur Autorisierung. Zu den Autorisierungsdetails gehören der Anforderungskontext, die durchgeführten Bewertungen und die Richtlinien, die evaluiert wurden.

  • Autorisierungs-ID. Eine eindeutige Kennung, die in einer unterstützten Fehlerantwort „Zugriff verweigert“ enthalten ist. Es bezieht sich auf die Autorisierungsbewertung für diese verweigerte Anfrage und ist der Wert, den Sie an das übergeben AWS Management-Konsole Link oder GetRequestAuthorizationDetails API.

  • Kontext anfordern. Die Werte der Bedingungskontextschlüssel, die für die Anfrage ausgewertet wurden. Dazu gehören globale Bedingungskontextschlüssel und dienstspezifische Bedingungskontextschlüssel.

  • Bewertung. Für jeden action/resource Paar in der Anfrage, die angewendeten Bedingungskontextschlüssel und das ausgewertete Ergebnis: ALLOW, EXPLICIT_DENY (eine Richtlinie hat die Aktion ausdrücklich verweigert), oder IMPLICIT_DENY (keine Richtlinie hat die Aktion zugelassen), und ein Verweis auf jede Richtlinie und Aussage, die mit den action/resource Paar. Jede Referenz ist eine Richtlinie EINE ARNE (für verwaltete Richtlinien) oder eine URI (für eingebettete und andere nicht verwaltete Richtlinien), die während der gesamten Antwort wiederverwendet wird.

  • Richtlinien, die bei der Autorisierung bewertet wurden. Die Richtlinien AWS für die Anfrage in Betracht gezogen, einschließlich der Richtlinien, die nicht den action/resource Paar. Jeder Eintrag gibt den Richtlinientyp an (z. B. identitätsbasiert, ressourcenbasiert, SCP, RCP, Zugriffsgrenze oder Sitzungsrichtlinie) und dasselbe ARN (für verwaltete Richtlinien) oder URI, der in den Bewertungen verwendet wurde (für integrierte und andere nicht verwaltete Richtlinien). Verwenden Sie den GARN oder URI, um eine Richtlinie wieder der Bewertung zuzuordnen, die darauf verwiesen hat. Das Feld „Angehängt an“ zeigt den Prinzipal FARN des Prinzips, dem die evaluierte Richtlinie zugeordnet ist.

Verwenden Sie diese Ergebnisse zusammen, um zu ermitteln, welche Richtlinie den Zugriff verweigert hat und warum. Die Bewertung spiegelt die Richtlinien wider, wie sie zum Zeitpunkt der Verweigerung waren. Die Richtlinien könnten sich seitdem geändert haben.

AWS nimmt automatisch eine Autorisierungs-ID in die Antworten auf Fehler mit verweigertem Zugriff für unterstützte APIs auf, Autorisierungs-IDs können jedoch nicht garantiert werden. In in einigen Fällen, AWS zeichnet die Autorisierungsdetails für eine Ablehnung nicht auf, und die Fehlerantwort enthält keine Autorisierungs-ID. Wenn Details aufgezeichnet werden, sind sie möglicherweise nicht sofort verfügbar, weil AWS zeichnet sie asynchron auf. Wenn ein Anruf bei GetRequestAuthorizationDetails gibt eine Antwort zurück, die nicht gefunden wurde, warten Sie eine kurze Zeit und versuchen Sie es erneut. AWS speichert die Autorisierungsdetails für 24 Stunden nach der Ablehnung.

Problembehebung mit dem AWS Management Console

Wählen Sie den Link in der Fehlermeldung „Zugriff verweigert“, um die Autorisierungsdetails in der Access Troubleshooter Console zu öffnen.

  • Worauf Sie achten sollten. In der Access Troubleshooter Console wird die Bewertung für jeden angezeigt action/resource Paar in der Anfrage, das Ergebnis jeder Anfrage (Allow, Explicit deny, oder Implicit deny) und die Richtlinien, die in Betracht gezogen wurden. Finden Sie das Paar, das abgelehnt wurde, und die Richtlinie, die die Ablehnung verursacht hat. Sehen Sie sich den folgenden Screenshot als Beispiel an:

    Screenshot der Access Troubleshooter Console mit einer expliziten und einer impliziten Ablehnung.
  • Stellen Sie fest, ob die Ablehnung beabsichtigt war. Überprüfen Sie die Bewertung, bevor Sie eine Richtlinie ändern. Eine Ablehnung kann richtig sein, und die Ursache liegt manchmal eher im Kontext der Anfrage als in der Richtlinie. Beispielsweise könnte bei einer Anfrage ein erwartetes Sitzungs-Tag fehlen oder sie stammt aus einem unerwarteten Netzwerkpfad.

  • So lösen Sie die Ablehnung auf. Suchen Sie die entsprechende Richtlinie und aktualisieren Sie sie, um das Zugriffsproblem zu beheben. Für eine ausdrückliche Ablehnung entfernen Sie oder schränken Sie das Feld ein Deny Aussage für die Aktion. Für eine implizite Ablehnung fügen Sie eine Allow Aussage für die Aktion. Weitere Informationen finden Sie unter IAM-Richtlinien bearbeiten.

Wer kann auf die Autorisierungsdetails zugreifen. Bei einer Anfrage innerhalb eines einzelnen Kontos oder einer einzelnen Organisation gilt: Jeder, dem Zugriff gewährt wurde iam:GetRequestAuthorizationDetails kann auf die Details der Anfrage zugreifen. Bei einer Anfrage, die mehrere Organisationen umfasst, kann ein Benutzer in einer bestimmten Organisation nur die Details sehen, die sich auf seine eigene Organisation beziehen.

Problembehandlung mit AWS API oder AWS CLI

Um eine Ablehnung zu beheben, verwenden Sie die AWS API oder AWS CLI:

  1. Suchen Sie die Autorisierungs-ID in der Fehlerantwort „Zugriff verweigert“.

  2. Rufen Sie an GetRequestAuthorizationDetails mit der Autorisierungs-ID, im selben AWS-Region wo die Ablehnung stattgefunden hat. Das folgende Beispiel zeigt AWS CLI Befehl:

    aws iam-toolbox get-request-authorization-details \ --region us-east-1 \ --authorization-id EXAMPLE1a2b3c4d5e6f7g8h9i0j
  3. Überprüfen Sie die Bewertungsergebnisse, um zu ermitteln, welche Richtlinien den Zugriff verweigert haben und aus welchem Grund der Zugriff verweigert wurde.

  4. Aktualisieren Sie die identifizierten Richtlinien, um das Zugriffsproblem zu beheben. Weitere Informationen finden Sie unter IAM-Richtlinien bearbeiten.

Wenn Sie keine Autorisierungs-ID erhalten

AWS gibt in den folgenden Fällen keine Autorisierungs-ID zurück:

  • Die Autorisierung ist zu umfangreich, um sie aufzuzeichnen. Wenn eine Anfrage eine große Anzahl von Richtlinien umfasst, AWS kann beschließen, die Anfrage nicht aufzuzeichnen.

  • Der Dienst wird noch nicht unterstützt. Siehe Unterstützte -Services.

  • Die API wird nicht unterstützt. Einige APIs innerhalb eines unterstützten Dienstes geben keine Autorisierungs-ID zurück.

  • Der Anforderungstyp wird nicht unterstützt. Dazu gehören Anfragen, die von einem Dienst in Ihrem Namen gestellt werden, und anonyme Anfragen.

Wenn Sie keine Autorisierungs-ID erhalten, finden Sie weitere Informationen unter Beheben von Fehlermeldungen bei verweigertem Zugriff für andere Möglichkeiten, die Ablehnung zu diagnostizieren.

Weitere Überlegungen

Erforderliche Berechtigungen. Um anzurufen GetRequestAuthorizationDetails, Sie benötigen Berechtigungen für iam:GetRequestAuthorizationDetails Aktion.

Regionale API. GetRequestAuthorizationDetails ist eine regionale API. Nenn es genauso AWS-Region wo der Fehler „Zugriff verweigert“ und die Autorisierungs-ID generiert wurden.

Cross-organization Anfragen. Wenn eine abgelehnte Anfrage mehr als eine Organisation betrifft, GetRequestAuthorizationDetails gibt nur die Details zurück, die zu Ihrer eigenen Organisation gehören. Dies gilt in beide Richtungen: Wenn Sie der Organisation des abgelehnten Anrufers angehören, werden nur die Details angezeigt, die sich auf diese Organisation beziehen. Wenn Sie der Organisation der abgelehnten Ressource angehören, werden Ihnen nur die Details angezeigt, die sich auf diese Organisation beziehen. Details, die einer anderen Organisation gehören, wie die Richtlinien dieser Organisation oder Kontextschlüsselwerte, werden nicht zurückgegeben.

Wenn Sie die Fehlermeldung „Zugriff verweigert“ von einer API, einem Dienst oder einer Region erhalten, die noch keine Autorisierungs-ID enthält, finden Sie weitere Informationen unter Beheben von Fehlermeldungen bei verweigertem Zugriff.

Unterstützte -Services

Die Unterstützung für Access Troubleshooter wird schrittweise überall eingeführt AWS Dienste und AWS-Region. Die folgenden Dienste unterstützen Access Troubleshooter:

  • Die meisten APIs in AWS Identity and Access Management

  • Die meisten APIs in Amazon Kinesis Data Streams

  • Die meisten APIs in AWS -Security-Token-Service

  • Die meisten APIs in AWS Step Functions