Aplicación de eliminaciones condicionales en buckets de Amazon S3 - Amazon Simple Storage Service

Aplicación de eliminaciones condicionales en buckets de Amazon S3

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.

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.

Ejemplo 1: Permitir solo eliminaciones condicionales mediante el encabezado If-Match con el valor ETag

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 *

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