Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Warum kann ich keinen Amazon S3-Inventarbericht erstellen?
Ich habe einen Amazon Simple Storage Service (Amazon S3)-Inventarbericht konfiguriert, aber er wurde nicht zugestellt und ich habe die Fehlermeldung „Access Denied“ (Zugriff verweigert) erhalten.
Kurzbeschreibung
Du erhältst die folgende Fehlermeldung:
"Access denied Inventory export for 2021-02-19 failed because S3 doesn't have access to the destination bucket or KMS key. Ask the owner of the destination bucket or KMS key to grant the necessary access and then try again." („Zugriff verweigert Der Inventarexport für den 19.02.2021 ist fehlgeschlagen, weil S3 keinen Zugriff auf den Ziel-Bucket oder den KMS-Schlüssel hat. Bitte den Besitzer des Ziel-Buckets oder des KMS-Schlüssels, den erforderlichen Zugriff zu gewähren, und versuche es dann erneut.“)
Um einen Amazon S3-Inventarbericht zu erstellen und die vorhergehende Fehlermeldung zu verhindern, musst du die folgenden Anforderungen erfüllen:
- Erlaube dem Quell-Bucket, den Amazon S3-Inventarbericht in den Ziel-Bucket hochzuladen.
- Bewahre den Ziel-Bucket und den Quell-Bucket in derselben AWS-Region auf, in der du das Amazon S3-Inventar eingerichtet hast.
- Gewähre Amazon S3 Zugriff auf den AWS Key Management Service (AWS KMS)-Schlüssel, der zum Verschlüsseln der Inventarberichtsdatei verwendet wird.
Hinweis: Es kann bis zu 48 Stunden dauern, bis Amazon S3 den ersten Inventarbericht übermittelt.
Lösung
Erlaube dem Quell-Bucket, den Amazon S3-Inventarbericht in den Ziel-Bucket hochzuladen
Vergewissere dich, dass deine Bucket-Richtlinie das Hochladen des Quell-Buckets in den Ziel-Bucket zulässt.
Beispiel für eine Bucket-Richtlinie, die die PutObject-Aktion beinhaltet:
{ "Version": "2012-10-17", "Id": "S3PolicyId", "Statement": [ { "Sid": "InventoryAndAnalyticsExamplePolicy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::destinationbucket/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" }, "StringEquals": { "aws:SourceAccount": "123456789012", "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
Schließe s3.amazonaws.com von jeder Deny-Anweisung aus, die sich auf eine PutObject-Aktion auswirken könnte. Ein explizites Deny hat Vorrang vor Allow-Anweisungen.
Die folgende Beispiel-Bucket-Richtlinie verweigert den Zugriff auf s3.amazonaws.com und ermöglicht nur den Zugriff auf einen bestimmten IP-Adressbereich:
{ "Version": "2012-10-17", "Id": "S3PolicyId", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::destinationbucket", "arn:aws:s3:::destinationbucket/*" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24" } } } ] }
Im Folgenden findest du eine aktualisierte Version der vorherigen Bucket-Richtlinie, die den Zugriff auf s3.amazonaws.com ermöglicht:
{ "Version": "2012-10-17", "Id": "S3PolicyId", "Statement": [ { "Sid": "IPAllow", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::destinationbucket", "arn:aws:s3:::destinationbucket/*" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24" }, "ArnNotLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" } }, "Principal": "*" }, { "Sid": "InventoryAndAnalyticsExamplePolicy", "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::destinationbucket/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" }, "StringEquals": { "aws:SourceAccount": "123456789012", "s3:x-amz-acl": "bucket-owner-full-control" } }, "Principal": { "AWS": [ "s3.amazonaws.com" ] } } ] }
Vergewissere dich, dass sich dein Ziel-Bucket in derselben Region wie der Quell-Bucket befindet
Öffne die Amazon-S3-Konsole. Navigiere zu deiner Bucket-Liste und überprüfe in der Spalte „Regionen“, ob sich dein Ziel-Bucket und dein Quell-Bucket in derselben Region befinden.
Wenn sich dein Quell- und Ziel-Bucket in unterschiedlichen Regionen befinden, erstelle einen neuen Bucket oder wähle einen neuen Bucket aus.
Hinweis: Bis du Objekte überträgst, verbleiben die zum Bucket gehörenden Objekte in der Region, in der du den Bucket erstellt hast. Weitere Informationen findest du unter Buckets im Überblick.
Gewähre Zugriff auf den AWS-KMS-Schlüssel, der zum Verschlüsseln der Inventarberichtsdatei verwendet wird
Wenn du deinen Amazon S3-Bucket mit einem AWS-KMS-Schlüssel verschlüsselt hast, gewährst du Amazon S3 Zugriff auf deinen AWS-KMS-Schlüssel.
Führe die folgenden Schritte aus:
-
Öffne die AWS-KMS-Konsole.
Hinweis: Verwende das AWS-Konto, dem der AWS-KMS-Schlüssel gehört, um dich anzumelden. -
Wähle im Navigationsbereich Vom Kunden verwaltete Schlüssel aus.
-
Wähle unter Vom Kunden verwaltete Schlüssel den AWS-KMS-Schlüssel aus, den du zum Verschlüsseln der Inventarberichtsdatei verwendest.
-
Wähle für Schlüsselrichtlinie die Option Zur Richtlinienansicht wechseln aus.
-
Wähle Bearbeiten aus.
-
Füge unter Schlüsselrichtlinie bearbeiten der vorhandenen Schlüsselrichtlinie die folgende Schlüsselrichtlinie hinzu:
{ "Sid": "Allow Amazon S3 use of the KMS key", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "source-account-id" }, "ArnLike": { "aws:SourceARN": "arn:aws:s3:::source-bucket-name" } } }
-
Wähle Save changes (Änderungen speichern) aus.
Hinweis: Überprüfe die Spalte Letzter Export unter Inventarkonfigurationen in der Amazon S3-Konsole. Eine leere Letzter Export-Spalte kann darauf hinweisen, dass Amazon S3 den Inventarbericht nicht übermittelt hat. Wenn Amazon S3 den Inventarbericht übermittelt hat, findest du den Inventarbericht im angegebenen Pfad im Ziel-Bucket.
Serverzugriffsprotokolle und CloudTrail-Verlauf überprüfen
Prüfe deine Serverzugriffsprotokolle, um festzustellen, ob Änderungen an deinen Bucket-Richtlinien vorgenommen wurden, die den Versand gestoppt haben. Beispiele für Protokollformate findest du unter Amazon S3-Serverzugriffsprotokollformat.
Das Folgende ist ein Beispiel für einen Protokolleintrag, der zeigt, dass eine Änderung an deiner Bucket-Richtlinie vorgenommen wurde:
REST.PUT.BUCKETPOLICY
Du kannst auch in deinem AWS CloudTrail-Ereignisverlauf nach der PutBucketPolicy-API-Aktion suchen. Wenn die PutBucketPolicy-Aktion vor mehr als 90 Tagen ausgeführt wurde, musst du die CloudTrail-Protokolle in Amazon S3 abfragen. Weitere Informationen findest du unter Amazon S3-Informationen in CloudTrail auf der GitHub-Website von AWS Docs.
Präfixfilter für den Inventarbereich überprüfen
Wenn du einen Präfixfilter konfiguriert hast und dein Inventarbericht nach 48 Stunden nicht zugestellt wird, überprüfe deine Präfixkonfiguration. Stelle sicher, dass der Präfixfilter mit einem vorhandenen Präfix in dem inventarisierten Bucket übereinstimmt. Entferne Leerzeichen, Tippfehler und führende Schrägstriche.
Ähnliche Informationen
CloudTrail-Ereignisprotokollierung für S3-Buckets und -Objekte aktivieren
Berechtigungen für S3 Inventory-, S3 Analytics- und S3 Inventory-Berichte verwalten

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 6 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr