Applicazione delle eliminazioni condizionali sui bucket Amazon S3 - Amazon Simple Storage Service

Applicazione delle eliminazioni condizionali sui bucket Amazon S3

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.

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

Esempio 1: consentire le eliminazioni condizionali solo utilizzando l’intestazione If-Match con il valore ETag

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. 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 *

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 valore *. 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" } } } ] }