

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Applicazione delle eliminazioni condizionali sui bucket Amazon S3
<a name="conditional-delete-enforce"></a>

 Utilizzando le policy di bucket Amazon S3, è possibile applicare l’intestazione `If-Match` con le eliminazioni condizionali per gli oggetti nei bucket per uso generico. Se l’intestazione `If-Match` non esiste, la richiesta verrà rifiutata con un errore `403 Access Denied`. Una policy di bucket è una policy basata su risorse che puoi utilizzare per concedere autorizzazioni di accesso al bucket e agli oggetti che contiene. Solo il proprietario del bucket può associare una policy a un bucket. Per ulteriori informazioni sulle policy di bucket, consulta [Policy dei bucket per Amazon S3](bucket-policies.md). 

Gli esempi seguenti mostrano come utilizzare le condizioni in una policy di bucket per forzare i client a utilizzare l’intestazione HTTP `If-Match`.

**Topics**
+ [Esempio 1: consentire le eliminazioni condizionali solo utilizzando l’intestazione `If-Match` con il valore `ETag`](#conditional-writes-enforce-ex1)
+ [Esempio 2: consentire le eliminazioni condizionali solo utilizzando l’intestazione `If-Match` con il valore `*`](#conditional-deletes-enforce-ex2)

## Esempio 1: consentire le eliminazioni condizionali solo utilizzando l’intestazione `If-Match` con il valore `ETag`
<a name="conditional-writes-enforce-ex1"></a>

Puoi utilizzare questa policy di bucket per consentire solo le eliminazioni condizionali con le richieste `DeleteObject` e `DeleteObjects` che includono l’intestazione `If-Match` con il valore `ETag`. La `Null` condizione garantisce la presenza dell'`If-Match`intestazione e l'`s3:GetObject`autorizzazione viene concessa perché le eliminazioni condizionali con un ETag valore specifico richiedono entrambe le autorizzazioni. `s3:DeleteObject` `s3:GetObject` Tutte le eliminazioni non condizionali vengono negate e le eliminazioni condizionali vengono autorizzate.

```
{
    "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/*"
        }
    ]
}
```

## Esempio 2: consentire le eliminazioni condizionali solo utilizzando l’intestazione `If-Match` con il valore `*`
<a name="conditional-deletes-enforce-ex2"></a>

Puoi utilizzare questa policy di bucket per consentire solo le eliminazioni condizionali con le richieste `DeleteObject` e `DeleteObjects` che includono l’intestazione `If-Match` con il valore `*`. La `Null` condizione garantisce la presenza dell'`If-Match`intestazione. Poiché non `s3:GetObject` è concessa, le eliminazioni condizionali con un ETag valore specifico avranno esito negativo. Solo `If-Match: *` (operazione che verifica l'esistenza dell'oggetto e richiede solo l'`s3:DeleteObject`autorizzazione) avranno esito positivo. Tutte le eliminazioni non condizionali verrebbero negate e solo `If-Match: *` le eliminazioni condizionali avrebbero esito positivo.

```
{
    "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"
                }
            }
        }
    ]
}
```