Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Wie kann ich Daten erhalten, die mir bei der Behebung von IAM-Zugriffsverweigerungsfehlern oder Fehlern des unautorisierten Zugriffs helfen?
Ich erhalte die Fehlermeldung „access denied“ oder „unauthorized“, wenn ich auf eine AWS-Ressource zugreife. Ich benötige Daten zur Behebung dieser Fehler bei API-Aufrufen von AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement).
Kurzbeschreibung
Verwende Amazon Athena-Abfragen oder die WS Command Line Interface (AWS CLI), um Fehlerprotokolle für fehlgeschlagene IAM-API-Aufrufe abzurufen. Befolge dann die Anweisungen zurBehebung von Fehlern bei verweigertem Zugriff oder nicht autorisierten Operationen mithilfe einer IAM-Richtlinie.
Behebung
Hinweis: Wenn du beim Ausführen von AWS-CLI-Befehlen Fehlermeldungen erhältst, stelle sicher, dass du die neueste Version der AWS-CLI verwendest.
Verwendung von Athena-Abfragen, um Fehler bei IAM-API-Aufrufen zu beheben, indem du CloudTrail-Protokolle durchsuchst
**Hinweis:**Bevor du beginnst, musst du einenPfad für die Anmeldungin einem Amazon Simple Storage Service (Amazon S3)-Bucket erstellt haben. Dies liegt daran, dass Athena Ereignisse verwendet, die in AWS-CloudTrail-Protokolldateien aufgezeichnet wurden und für diesen Pfad an einen Amazon-S3-Bucket übermittelt werden.
1. Befolge die Schritte im Abschnitt Athena-Tabelle erstellen unter Wie erstelle ich automatisch Tabellen in Athena, um AWS-CloudTrail-Protokolle zu durchsuchen?
**Hinweis:**Athena-Tabellen, die automatisch erstellt werden, befinden sich in derselben AWS-Region wie dein Amazon-S3-Bucket.
2.Öffne dieAthena-Konsoleund wähle dann das Pluszeichen**„+“,**um eine neue Abfrage zu erstellen.
3.Gib die folgende Beispielabfrage ein und wähle dannAusführen.
In dieser Beispielabfrage verwendet das Zeitformat das ISO-8601-Basisformat mit derZ-Variablen für UTC.
Hinweis:Ersetze your-arndurch dieIAM-Amazon-Ressourcennamen (ARN)für deine Ressourcen undyour-tabledurch den Namen deiner Tabelle.
SELECT from_iso8601_timestamp(eventTime) AS "Time", useridentity.arn AS "Identity ARN", eventID AS "Event ID", eventsource AS "Service", eventname AS "Action", errorCode AS "Error", errorMessage AS "Message" FROM your-table WHERE from_iso8601_timestamp(eventtime) >= from_iso8601_timestamp('2019-10-29T06:40:00Z') AND from_iso8601_timestamp(eventtime) < from_iso8601_timestamp('2019-10-29T06:55:00Z') AND userIdentity.arn = 'your-arn' AND eventType = 'AwsApiCall' AND errorCode is not null AND (lower(errorCode) LIKE '%accessdenied%' OR lower(errorCode) LIKE '%unauthorized%') ORDER BY eventTime desc
4.In dieser Beispieltabelle werden Berechtigungsfehler für die Identität ARN aufgeführt:
| Time | Event ID | Service | Action | Error | Message | |-----------------------------|--------------------------------------|--------------------------|--------------|--------------|----------------------------------------------------------------------------------------------------------------------| | 2019-10-29 06:52:45.000 UTC | 0406f0c1-47a8-4f71-8a94-18267b84042a | cloudtrail.amazonaws.com | LookupEvents | AccessDenied | User: arn:aws:iam::account:user/username is not authorized to perform: cloudtrail:LookupEvents with an explicit deny in an identity-based policy | | 2019-10-29 06:41:48.000 UTC | 14e5e77c-f682-45e1-8c88-12d15af293dd | cloudtrail.amazonaws.com | LookupEvents | AccessDenied | User: arn:aws:iam::account:user/username is not authorized to perform: cloudtrail:LookupEvents because no identity-based policy allows the cloudtrail:LookupEvents action |
**Hinweis:**Bei der Ausgabe von CloudTrail-Ereignissen kann es bis zu 15 Minuten dauern, bis Ergebnisse geliefert werden.
5.Du kannst optional Fehler für alle Benutzer abrufen, indem du diese Zeile aus der Beispielabfrage entfernst:
AND userIdentity.arn = 'your-arn'
6. Du kannst optional alle Fehler aus einem ausgewählten Zeitraum abrufen, indem du diese Zeile aus der Beispielabfrage entfernst:
AND (lower(errorCode) LIKE '%accessdenied%' OR lower(errorCode) LIKE '%unauthorized%')
Verwendung der AWS CLI, um Fehler bei API-Aufrufen von IAM-Berechtigungen zu beheben
**Hinweis:**Für dieses AWS CLI-Skript ist der JSON-Befehlszeilenprozessor jq erforderlich. Das Tutorial und Anweisungen zum Herunterladen findest du unterJSON-Ausgabeformat. Führe für Distributionen, die das Paket yum verwenden, den folgenden Befehl aus:
$ sudo yum install jq
1.Führe den folgenden AWS CLI-Befehl aus:
**Hinweis:**Ersetze your-arndurch dieIAM-ARNsfür deine Ressourcen.
( echo "Time,Identity ARN,Event ID,Service,Action,Error,Message"; aws cloudtrail lookup-events --start-time "2019-10-29T06:40:00Z" --end-time "2019-10-29T06:55:00Z" --query "Events[*].CloudTrailEvent" --output text \ | jq -r ". | select(.userIdentity.arn == \"your-arn\" and .eventType == \"AwsApiCall\" and .errorCode != null and (.errorCode | ascii_downcase | (contains(\"accessdenied\") or contains(\"unauthorized\")))) | [.eventTime, .userIdentity.arn, .eventID, .eventSource, .eventName, .errorCode, .errorMessage] | @csv" ) | column -t -s'",'
**Hinweis:**Die Anzahl der Suchanfragen an CloudTrail ist auf zwei Anfragen pro Sekunde, pro Konto und pro Region begrenzt. Wenn dieser Grenzwert überschritten wird, tritt ein Drosselungsfehler auf.
2.In dieser Beispieltabelle werden Berechtigungsfehler für den Identitäts-ARN aus dem angegebenen Zeitraum aufgelistet.
**Hinweis:**Du kannst nach Ereignissen suchen, die in den letzten 90 Tagen in einer Region aufgetreten sind.
Time Event ID Service Action Error Message 2019-10-29T06:52:45Z 0406f0c1-47a8-4f71-8a94-18267b84042a cloudtrail.amazonaws.com LookupEvents AccessDenied User: arn:aws:iam::account:user/username is not authorized to perform: cloudtrail:LookupEvents with an explicit deny in an identity-based policy 2019-10-29T06:41:48Z 14e5e77c-f682-45e1-8c88-12d15af293dd cloudtrail.amazonaws.com LookupEvents AccessDenied User: arn:aws:iam::account:user/username is not authorized to perform: cloudtrail:LookupEvents because no identity-based policy allows the cloudtrail:LookupEvents action
3.(Optional) Rufe Fehler für alle Benutzer ab, indem du diese Zeile entfernst:
.userIdentity.arn == \"your-arn\" and
4.(Optional) Rufe alle Fehler aus dem ausgewählten Zeitraum ab, indem du diese Zeile entfernst:
and (.errorCode | ascii_downcase | (contains(\"accessdenied\") or contains(\"unauthorized\")))
Behebung unzulässiger Fehler
Athena und die vorherigen AWS-CLI-Beispielausgaben sind fürLookupEvents-API-Aufrufe von CloudTrail relevant.
IAM-Richtlinien, die den Zugriff verweigern, weil sie eine Verweigerungsanweisung enthält, enthalten in der Fehlermeldung einen bestimmten Satz fürexplizite und implizite Verweigerungen. Explizite Verweigerungsfehler in IAM enthalten den Ausdruck „with an explicit deny in a <type> policy“. Implizite Verweigerungsfehler in IAM enthalten den Satz „because no <type> policy allows the <action> action“.
Die AusgabecloudTrail:LookupEvents mit einer expliziten Deny-Ausgabe weist darauf hin, dass eine zugehörige IAM-Richtlinie falsch ist.
Eine explizite Zugriffsverweigerung kann bei jedem dieser Richtlinientypen erfolgen. Zum Beispiel identitätsbasierte Richtlinien, ressourcenbasierte Richtlinien, Berechtigungsgrenzen, SCPs von Organisationen und Sitzungsrichtlinien. Explizite Ablehnungsanweisungen haben immer Vorrang vor Zulassungsanweisungen. Die explizite Ablehnung ist in der identitätsbasiertenRichtlinie für IAM-Benutzer enthalten.
Die Angabecloudtrail:LookupEvents because no identity-based policy allowszeigt an, dass die identitätsbasierte Richtlinie diese API-Aktion nicht zulässt, was zu einer impliziten Ablehnung führt. In der identitätsbasierten Richtlinie fehlt eine explizite Zulassungsanweisung für die API-AktionCloudTrail:LookupEvents.
Folgende Richtlinientypen wurden von AWS ausgewertet, um den Zugriff sicherzustellen:
- SCPs für AWS-Organisationen
- Ressourcenbasierte Richtlinien
- Grenzen der IAM-Berechtigungen
- Sitzungsrichtlinien
- Identitätsbasierte Richtlinien
Weitere Informationen darüber, wie IAM-Richtlinien bewertet und verwaltet werden, findest du unterLogik der RichtlinienbewertungundVerwaltung von IAM-Richtlinien.
Weitere Informationen
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 5 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- Wie behebe ich „Abfrage-Timeout“-Fehler, wenn ich Daten von Athena nach QuickSight SPICE importiere?AWS OFFICIALAktualisiert vor einem Jahr