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.
Fehlerbehebung
Wenn Sie die erzwungene Einstellung des Bucket-Besitzers für S3 Object Ownership anwenden, sind die Zugriffskontrolllisten (ACLs) deaktiviert und Sie als Bucket-Besitzer sind automatisch Eigentümer aller Objekte in Ihrem Bucket. ACLs wirkt sich nicht mehr auf die Berechtigungen für die Objekte in Ihrem Bucket aus. Sie können Richtlinien verwenden, um Berechtigungen zu erteilen. Alle PUT
-Anfragen von S3 müssen entweder die vordefinierte ACL bucket-owner-full-control
oder keine ACL angeben. Andernfalls schlagen diese Anfragen fehl. Weitere Informationen finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.
Wenn eine ungültige ACL angegeben ist oder Bucket-ACL-Berechtigungen Zugriff außerhalb Ihres AWS-Konto gewähren, werden möglicherweise die folgenden Fehlerantworten angezeigt.
AccessControlListNotSupported
Nachdem Sie die erzwungene Einstellung für Objekteigentum angewendet haben, ACLs sind sie deaktiviert. Anfragen zum Setzen ACLs oder Aktualisieren ACLs schlagen mit einem 400
Fehler fehl und geben den AccessControlListNotSupported
Fehlercode zurück. Leseanfragen ACLs werden weiterhin unterstützt. Leseanfragen geben ACLs immer eine Antwort zurück, aus der hervorgeht, dass der Bucket-Besitzer die volle Kontrolle hat. In Ihren PUT
Vorgängen müssen Sie entweder Vollzugriff für den Bucket-Besitzer angeben ACLs oder keine ACL angeben. Andernfalls schlagen Ihre PUT
-Operationen fehl.
Der folgende put-object
AWS CLI Beispielbefehl beinhaltet die gespeicherte public-read
ACL.
aws s3api put-object --bucket
amzn-s3-demo-bucket
--keyobject-key-name
--bodydoc-example-body
--acl public-read
Wenn der Bucket die Einstellung Bucket owner erforced zur Deaktivierung verwendet ACLs, schlägt dieser Vorgang fehl und der Uploader erhält die folgende Fehlermeldung:
Beim Aufrufen der PutObject Operation ist ein Fehler aufgetreten (AccessControlListNotSupported): Der Bucket erlaubt es nicht ACLs
InvalidBucketAclWithObjectOwnership
Wenn Sie die Einstellung Bucket Owner erforced auf Deaktivierung anwenden möchten ACLs, darf Ihre Bucket-ACL nur dem Bucket-Besitzer die volle Kontrolle geben. Ihre Bucket-ACL kann keiner externen AWS-Konto oder anderen Gruppe Zugriff gewähren. Wenn Ihre CreateBucket
Anfrage beispielsweise den Bucket Owner erforced festlegt und eine Bucket-ACL angibt, die Zugriff auf eine externe Komponente gewährt AWS-Konto, schlägt Ihre Anfrage mit einem 400
Fehler fehl und gibt den InvalidBucketAclWithObjectOwnership
Fehlercode zurück. Wenn Ihre PutBucketOwnershipControls
-Anfrage die Einstellung Bucket-Eigentümer erzwungen mit einer Bucket-ACL festlegt, die anderen Berechtigungen erteilt, schlägt die Anfrage ebenfalls fehl.
Beispiel : Vorhandene Bucket-ACL gewährt öffentlichen Lesezugriff
Wenn beispielsweise eine vorhandene Bucket-ACL öffentlichen Lesezugriff gewährt, können Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft erst anwenden, wenn Sie diese ACL-Berechtigungen zu einer Bucket-Richtlinie migrieren und Ihre Bucket-ACL auf die private Standard-ACL zurücksetzen. Weitere Informationen finden Sie unter Voraussetzungen für die Deaktivierung ACLs.
Diese Beispiel-Bucket-ACL gewährt öffentlichen Lesezugriff:
{ "Owner": { "ID": "
852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
Der folgende put-bucket-ownership-controls
AWS CLI Beispielbefehl wendet die Einstellung Bucket owner erforced für Object Ownership an:
aws s3api put-bucket-ownership-controls --bucket
amzn-s3-demo-bucket
--ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
Da die Bucket-ACL öffentlichen Lesezugriff gewährt, schlägt die Anforderung fehl und gibt den folgenden Fehlercode zurück:
Beim Aufrufen der PutBucketOwnershipControls Operation ist ein Fehler aufgetreten (InvalidBucketAclWithObjectOwnership): Die Einstellung von Bucket kann nicht mit ACLs ObjectOwnership gesetzt worden sein BucketOwnerEnforced