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. ACLswirkt sich nicht mehr auf die Berechtigungen für die Objekte in Ihrem Bucket aus. Sie können Richtlinien verwenden, um Berechtigungen zu erteilen. Bei allen PUT
S3-Anfragen müssen entweder die bucket-owner-full-control
gespeicherten ACL Daten angegeben werden oder nicht. Andernfalls schlagen diese Anfragen fehl. ACL Weitere Informationen finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.
Wenn ein ungültiger Wert angegeben ACL ist oder ACL Bucket-Berechtigungen Zugriff außerhalb Ihrer Rechte gewähren AWS-Konto, werden möglicherweise die folgenden Fehlermeldungen angezeigt.
AccessControlListNotSupported
Nachdem Sie die erzwungene Einstellung „Bucket-Besitzer“ 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 den Bucket-Besitzer mit Vollzugriff angeben ACLs oder keinenACL. Andernfalls schlagen Ihre PUT
-Operationen fehl.
Der folgende put-object
AWS CLI Beispielbefehl beinhaltet den Befehl public-read
cannedACL.
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 verwendetACLs, 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öchtenACLs, ACL darf Ihr Bucket nur dem Bucket-Besitzer die volle Kontrolle geben. Ihr Bucket ACL kann keiner externen AWS-Konto oder einer anderen Gruppe Zugriff gewähren. Wenn Ihre CreateBucket
Anfrage beispielsweise den Bucket owner enforced festlegt und einen Bucket ACL angibt, der Zugriff auf einen externen Bucket gewährt AWS-Konto, schlägt Ihre Anfrage mit einem 400
Fehler fehl und gibt den InvalidBucketAclWithObjectOwnership
Fehlercode zurück. Ebenso schlägt die Anfrage fehl, wenn Sie in Ihrer PutBucketOwnershipControls
Anfrage festlegen, dass der Bucket Owner für einen Bucket durchgesetzt wirdACL, der über einen Bucket verfügt, der anderen Berechtigungen gewährt.
Beispiel : Ein vorhandener Bucket ACL gewährt öffentlichen Lesezugriff
Wenn ein vorhandener Bucket beispielsweise öffentlichen Lesezugriff ACL gewährt, können Sie die vom Bucket-Besitzer erzwungene Einstellung für Objekteigentum erst anwenden, wenn Sie diese ACL Berechtigungen in eine Bucket-Richtlinie migrieren und Ihren Bucket ACL auf die Standardeinstellung privat ACL zurücksetzen. Weitere Informationen finden Sie unter Voraussetzungen für die Deaktivierung ACLs.
Dieser 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 erzwungene Einstellung Bucket owner für Object Ownership an:
aws s3api put-bucket-ownership-controls --bucket
amzn-s3-demo-bucket
--ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
Da der Bucket öffentlichen Lesezugriff ACL gewährt, schlägt die Anfrage fehl und gibt den folgenden Fehlercode zurück:
Beim Aufrufen der PutBucketOwnershipControls Operation ist ein Fehler aufgetreten (InvalidBucketAclWithObjectOwnership): Bucket kann nicht mit ObjectOwnership der BucketOwnerEnforced Einstellung ACLs gesetzt worden sein