View a markdown version of this page

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

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

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. La Null condizione garantisce la presenza dell'If-Matchintestazione e l's3:GetObjectautorizzazione 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 *

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-Matchintestazione. 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:DeleteObjectautorizzazione) 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" } } } ] }