Impor exclusões condicionais em buckets do Amazon S3 - Amazon Simple Storage Service

Impor exclusões condicionais em buckets do Amazon S3

Ao usar políticas de bucket do Amazon S3, você pode impor o cabeçalho If-Match com exclusões condicionais para objetos em buckets de uso geral. Se o cabeçalho If-Match não existir, a solicitação será negada com um 403 Access Denied. Uma política de bucket é baseada em recursos que você pode usar para conceder permissões de acesso ao bucket e aos objetos contidos nele. Só o proprietário do bucket pode associar uma política a um bucket. Para obter mais informações sobre políticas de bucket, consulte Políticas de bucket para o Amazon S3.

Os exemplos a seguir mostram como usar condições em uma política de bucket para forçar os clientes a usar o cabeçalho HTTP If-Match.

Exemplo 1: permitir somente exclusões condicionais que usam o cabeçalho If-Match com o valor ETag

Você pode usar essa política de bucket para permitir somente exclusões condicionais que usam solicitações DeleteObject e DeleteObjects que incluem o cabeçalho If-Match com o valor ETag. Nesse caso, todas as exclusões não condicionais seriam negadas e as exclusões condicionais seriam aceitas.

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

Exemplo 2: permitir somente exclusões condicionais que usam o cabeçalho If-Match com o valor *

Você pode usar essa política de bucket para permitir somente exclusões condicionais que usam solicitações DeleteObject e DeleteObjects que incluem o cabeçalho If-Match com o valor *. Nesse caso, todas as exclusões não condicionais seriam negadas e as exclusões condicionais seriam aceitas.

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