Bedingte Löschungen für Amazon S3 S3-Buckets erzwingen - 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.

Bedingte Löschungen für Amazon S3 S3-Buckets erzwingen

Mithilfe von Amazon S3 S3-Bucket-Richtlinien können Sie If-Match Header mit bedingten Löschungen für Objekte in Allzweck-Buckets erzwingen. Wenn der If-Match Header nicht existiert, wird die Anfrage mit einem abgelehnt. 403 Access Denied Eine Bucket-Richtlinie ist eine auf Ressourcen basierende Richtlinie, die Sie verwenden können, um Zugriffsberechtigungen für Ihren Bucket und die darin enthaltenen Objekte zu erteilen. Nur der Bucket-Eigentümer kann einem Bucket eine Richtlinie zuordnen. Weitere Informationen zu Bucket-Richtlinien finden Sie unter Bucket-Richtlinien für Amazon S3.

Die folgenden Beispiele zeigen, wie Bedingungen in einer Bucket-Richtlinie verwendet werden, um Clients zur Verwendung des If-Match HTTP-Headers zu zwingen.

Beispiel 1: Erlauben Sie nur bedingte Löschungen, indem Sie den If-Match Header mit dem ETag Wert verwenden

Sie können diese Bucket-Richtlinie verwenden, um nur bedingte Löschungen mithilfe von DeleteObject DeleteObjects Anfragen zuzulassen, die den If-Match Header mit dem ETag Wert enthalten. Alle nicht bedingten Löschungen würden verweigert und bedingte Löschungen würden erfolgreich sein.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowConditionalDeletes", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Alice" }, "Action": "s3:DeleteObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "Null": { "s3:if-match": "false" } } }, { "Sid": "AllowGetObjectBecauseConditionalDeleteIfMatchETag", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Alice" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Beispiel 2: Erlaube nur bedingte Löschungen, wenn der Header mit dem Wert verwendet wird If-Match*

Sie können diese Bucket-Richtlinie verwenden, um nur bedingte Löschungen mithilfe von DeleteObject DeleteObjects Anfragen zuzulassen, die den If-Match Header mit * dem Wert enthalten. Alle nicht bedingten Löschungen würden verweigert und bedingte Löschungen würden erfolgreich sein.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowConditionalDeletes", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Alice" }, "Action": "s3:DeleteObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "Null": { "s3:if-match": "false" } } } ] }