

# Aplicación de eliminaciones condicionales en buckets de Amazon S3
<a name="conditional-delete-enforce"></a>

 Mediante el uso de las políticas de bucket de Amazon S3, puede aplicar el encabezado `If-Match` con eliminaciones condicionales para objetos en los buckets de uso general. Si el encabezado `If-Match` no existe, la solicitud se rechazará con un `403 Access Denied`. Una política de bucket está basada en recursos que puede utilizar para conceder permisos de acceso al bucket y a los objetos que contiene. Solo el propietario del bucket puede asociar una política a un bucket. Para obtener más información acerca de las políticas de bucket, consulte [Políticas de buckets para Amazon S3](bucket-policies.md). 

En los ejemplos siguientes, se muestra cómo utilizar condiciones en una política de bucket para que los clientes utilicen el encabezado HTTP `If-Match`.

**Topics**
+ [Ejemplo 1: Permitir solo eliminaciones condicionales mediante el encabezado `If-Match` con el valor `ETag`](#conditional-writes-enforce-ex1)
+ [Ejemplo 2: Permitir solo eliminaciones condicionales mediante el encabezado `If-Match` con el valor `*`](#conditional-deletes-enforce-ex2)

## Ejemplo 1: Permitir solo eliminaciones condicionales mediante el encabezado `If-Match` con el valor `ETag`
<a name="conditional-writes-enforce-ex1"></a>

Puede usar esta política de bucket para permitir solo las eliminaciones condicionales mediante las solicitudes de `DeleteObject` y `DeleteObjects` que incluyen el encabezado `If-Match` con el valor `ETag`. Se rechazarían todas las eliminaciones no condicionales y se aprobarían las eliminaciones condicionales. 

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

## Ejemplo 2: Permitir solo eliminaciones condicionales mediante el encabezado `If-Match` con el valor `*`
<a name="conditional-deletes-enforce-ex2"></a>

Puede usar esta política de bucket para permitir solo las eliminaciones condicionales mediante las solicitudes de `DeleteObject` y `DeleteObjects` que incluyen el encabezado `If-Match` con el valor `*`. Se rechazarían todas las eliminaciones no condicionales y se aprobarían las eliminaciones condicionales. 

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