

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: Erlaube nur bedingte Löschungen, wenn der `If-Match`Header mit dem `ETag-Wert` verwendet wird](#conditional-writes-enforce-ex1)
+ [`Beispiel 2: Erlaube nur bedingte Löschungen, wenn der If-MatchHeader mit dem Wert * verwendet wird`](#conditional-deletes-enforce-ex2)

## Beispiel 1: Erlaube nur bedingte Löschungen, wenn der `If-Match`Header mit dem `ETag-Wert` verwendet wird
<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` Erlaubnis wird erteilt, da für bedingte Löschungen mit einem bestimmten ETag-Wert `s3:DeleteObject` sowohl `s3:GetObject` Berechtigungen als auch Berechtigungen erforderlich sind. 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 If-MatchHeader mit dem Wert * verwendet wird`
<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) wird erfolgreich sein. Alle bedingungslosen 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"
                }
            }
        }
    ]
}
```