

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.

# Erzwingen von bedingten Löschungen auf Amazon S3 Buckets
<a name="conditional-delete-enforce"></a>

 Durch die Verwendung von Amazon 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 `403 Access Denied` abgelehnt. 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](bucket-policies.md). 

Die folgenden Beispiele zeigen, wie Bedingungen in einer Bucket-Richtlinie verwendet werden, um Clients dazu zu zwingen, einen `If-Match`-HTTP-Header zu verwenden.

**Topics**
+ [Beispiel 1: Nur bedingte Löschungen unter Verwendung der Kopfzeile `If-Match` mit dem Wert `ETag` zulassen](#conditional-writes-enforce-ex1)
+ [Beispiel 2: Nur bedingte Löschungen unter Verwendung des `If-Match`-Headers mit dem `*`-Wert zulassen](#conditional-deletes-enforce-ex2)

## Beispiel 1: Nur bedingte Löschungen unter Verwendung der Kopfzeile `If-Match` mit dem Wert `ETag` zulassen
<a name="conditional-writes-enforce-ex1"></a>

Mit dieser Bucket-Richtlinie können Sie nur bedingte Löschungen mit `DeleteObject` und `DeleteObjects` Anfragen zulassen, die den `If-Match` Header mit dem `ETag` Wert enthalten. Die `Null` Bedingung stellt sicher, dass der `If-Match` Header vorhanden ist, und die `s3:GetObject` Berechtigung wird erteilt, da bedingte Löschungen mit einem bestimmten ETag Wert `s3:DeleteObject` sowohl als auch `s3:GetObject` Berechtigungen erfordern. 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: Nur bedingte Löschungen unter Verwendung des `If-Match`-Headers mit dem `*`-Wert zulassen
<a name="conditional-deletes-enforce-ex2"></a>

Mit dieser Bucket-Richtlinie können Sie nur bedingte Löschungen mit `DeleteObject` und `DeleteObjects` Anfragen zulassen, die den `If-Match` Header mit dem `*` Wert enthalten. Die `Null` Bedingung stellt sicher, dass der `If-Match` Header vorhanden ist. Da sie nicht gewährt `s3:GetObject` wird, schlagen bedingte Löschungen mit einem bestimmten ETag Wert fehl. Nur das Löschen `If-Match: *` (das prüft das Vorhandensein eines Objekts und erfordert nur eine `s3:DeleteObject` Genehmigung) ist erfolgreich. Alle nicht bedingten Löschungen würden verweigert, und nur `If-Match: *` 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"
                }
            }
        }
    ]
}
```