Deaktivieren von ACLs für alle neuen Buckets und Durchsetzung von Object Ownership - Amazon Simple Storage Service

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.

Deaktivieren von ACLs für alle neuen Buckets und Durchsetzung von Object Ownership

Wir empfehlen, ACLs für Ihre Amazon-S3-Buckets zu deaktivieren. Wenden Sie dazu die Einstellung „Bucket-Eigentümer erzwungen“ für S3 Object Ownership an. Wenn Sie diese Einstellung anwenden, sind ACLs deaktiviert und Sie besitzen automatisch alle Objekte in Ihrem Bucket und haben die volle Kontrolle über sie. Um zu verlangen, dass alle neuen Buckets mit deaktivierten ACLs erstellt werden, verwenden Sie AWS Identity and Access Management (IAM) -Richtlinien oder AWS Organizations Service Control Policies (SCPs), wie im nächsten Abschnitt beschrieben.

Um den Objektbesitz für neue Objekte zu erzwingen, ohne ACLs zu deaktivieren, können Sie die bevorzugte Einstellung des Bucket-Eigentümers anwenden. Wenn Sie diese Einstellung anwenden, empfehlen wir Ihnen dringend, Ihre Bucket-Richtlinie so zu aktualisieren, dass die vordefinierte bucket-owner-full-control-ACL für alle PUT-Anforderungen an Ihren Bucket erforderlich ist. Aktualisieren Sie unbedingt auch Ihre Clients, damit sie die vordefinierte bucket-owner-full-control-ACL von anderen Konten an Ihren Bucket senden.

Deaktivieren von ACLs für alle neuen Buckets (Bucket-Eigentümer erzwungen)

Die folgende IAM-Beispielrichtlinie verweigert die s3:CreateBucket-Berechtigung für einen bestimmten IAM-Benutzer oder eine bestimmte IAM-Rolle, es sei denn, die Einstellung „Bucket-Eigentümer erzwungen“ wird für die Objekteigentümerschaft angewendet. Das Schlüssel-Wert-Paar im Condition-Block gibt s3:x-amz-object-ownership als Schlüssel und die BucketOwnerEnforced-Einstellung als seinen Wert an. Mit anderen Worten, der IAM-Benutzer kann nur dann Buckets erstellen, wenn er die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft festgelegt und ACLs deaktiviert hat. Sie können diese Richtlinie auch als Grenz-SCP für Ihre Organisation verwenden. AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireBucketOwnerFullControl", "Action": "s3:CreateBucket", "Effect": "Deny", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-object-ownership": "BucketOwnerEnforced" } } } ] }

Die gespeicherte bucket-owner-full-control ACL für Amazon S3 PUT S3-Operationen erforderlich (Bucket-Besitzer bevorzugt)

Mit der bevorzugten Einstellung des Bucket-Eigentümers für Object Ownership besitzen Sie als Bucket-Eigentümer die volle Kontrolle über neue Objekte, die andere Konten mit der vordefinierten bucket-owner-full-control-ACL in Ihren Bucket schreiben. Wenn jedoch andere Konten Objekte in Ihren Bucket schreiben, ohne die bucket-owner-full-control vordefinierte ACL behält der Objekt-Writer den vollen Zugriff auf die Kontrolle. Sie als Bucket-Eigentümer können eine Bucket-Richtlinie implementieren, die Schreibvorgänge nur zulässt, wenn sie die von bucket-owner-full-control vordefinierte ACL angeben.

Anmerkung

Wenn Sie ACLs mit der Einstellung „Bucket-Eigentümer erzwungen“ deaktiviert haben, besitzen Sie als Bucket-Eigentümer automatisch alle Objekte in Ihrem Bucket und haben die volle Kontrolle über diese Objekte. Sie müssen diesen Abschnitt nicht verwenden, um Ihre Bucket-Richtlinie zu aktualisieren, um den Objekteigentümer für den Bucket-Eigentümer durchzusetzen.

Die folgende Bucket-Richtlinie gibt an, dass das Konto 111122223333 nur dann Objekte in DOC-EXAMPLE-BUCKET hochladen kann, wenn die ACL des Objekts auf bucket-owner-full-control festgelegt ist. Achten Sie darauf, 111122223333 durch Ihr Konto und DOC-EXAMPLE-BUCKET durch den Namen Ihres Buckets zu ersetzen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Only allow writes to my bucket with bucket owner full control", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/ExampleUser" ] }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

Im Folgenden finden Sie ein Beispiel für eine Kopieroperation, die die vordefinierte bucket-owner-full-control-ACL über die AWS Command Line Interface (AWS CLI) einschließt.

aws s3 cp file.txt s3://DOC-EXAMPLE-BUCKET --acl bucket-owner-full-control

Nachdem die Bucket-Richtlinie in Kraft gesetzt wurde und der Client die vordefinierte bucket-owner-full-control-ACL nicht enthält, schlägt der Vorgang fehl und der Uploader erhält den folgenden Fehler:

Beim Aufrufen des PutObject Vorgangs ist ein Fehler aufgetreten (AccessDenied): Zugriff verweigert.

Anmerkung

Wenn Clients nach dem Hochladen Zugriff auf Objekte benötigen, müssen Sie dem hochladenden Konto zusätzliche Berechtigungen erteilen. Informationen zum Erteilen von Zugriff auf Ihre Ressourcen für Konten finden Sie unter Exemplarische Vorgehensweisen, die Richtlinien verwenden, um den Zugriff auf Ihre Amazon S3 S3-Ressourcen zu verwalten.