Disabilitare le ACL per tutti i nuovi bucket e applicare Object Ownership - 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à.

Disabilitare le ACL per tutti i nuovi bucket e applicare Object Ownership

Ti consigliamo di disabilitare le ACL sui bucket Amazon S3. È possibile farlo applicando l'impostazione Proprietario del bucket applicato per S3 Proprietà dell'oggetto. Una volta applicata questa impostazione, le ACL verranno disabilitate e si possiederanno automaticamente e si avrà il pieno controllo su tutti gli oggetti del bucket. Per richiedere che tutti i nuovi bucket vengano creati con gli ACL disattivati, utilizza le politiche AWS Identity and Access Management (IAM) o le politiche di controllo dei AWS Organizations servizi (SCP), come descritto nella sezione successiva.

Per applicare la proprietà degli oggetti per i nuovi oggetti senza disabilitare le ACL, è possibile eseguire l'impostazione proprietario del bucket preferito. Una volta applicata questa impostazione, si consiglia fortemente di aggiornare la policy del bucket per richiedere l'ACL predefinitabucket-owner-full-control   per tutte le richieste PUT sul tuo bucket. I client devono anch'essi essere aggiornati per inviare l'ACL predefinita bucket-owner-full-control al tuo bucket da altri account.

Disabilitazione degli ACL per tutti i nuovi bucket (proprietario del bucket applicato)

La seguente policy IAM di esempio nega l'autorizzazione s3:CreateBucket per un utente IAM o un ruolo specifico a meno che non venga applicata l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto. La coppia chiave-valore nel blocco di Condition specifica s3:x-amz-object-ownership come chiave e l'impostazione BucketOwnerEnforced come valore corrispondente. In altre parole, l'utente IAM può creare bucket solo se imposta Proprietario del bucket applicato per Proprietà dell'oggetto e disabilita le ACL. Puoi anche utilizzare questa policy come SCP limite per la tua organizzazione. AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireBucketOwnerFullControl", "Action": "s3:CreateBucket", "Effect": "Deny", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-object-ownership": "BucketOwnerEnforced" } } } ] }

Richiedere l'ACL bucket-owner-full-control predefinito per le operazioni di Amazon PUT S3 (preferibilmente il proprietario del bucket)

Con l'impostazione proprietario del bucket preferito per Object Ownership, in qualità di proprietario del bucket possiedi e hai il pieno controllo sui nuovi oggetti che gli altri account scrivono sul tuo bucket con l'ACL predefinita bucket-owner-full-control. Tuttavia, se altri account scrivono oggetti nel tuo bucket senza l'ACL predefinita bucket-owner-full-control, l'object writer mantiene il pieno controllo degli accessi. In qualità di proprietario del bucket, è possibile implementare una policy del bucket che consenta la scrittura solo se si specifica l'ACL predefinita bucket-owner-full-control.

Nota

Se le ACL sono disabilitate con l'impostazione Proprietario del bucket applicato, in qualità di proprietario del bucket possiedi automaticamente e hai il controllo completo di tutti gli oggetti del bucket. Non è necessario utilizzare questa sezione per aggiornare la policy del bucket per applicare la proprietà degli oggetti per il proprietario del bucket.

La seguente policy del bucket specifica che l'account 111122223333 può caricare oggetti DOC-EXAMPLE-BUCKET solo quando l'ACL dell'oggetto è impostata su bucket-owner-full-control. Assicurati di sostituire 111122223333 con un account reale e DOC-EXAMPLE-BUCKET con il nome del tuo bucket.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Only allow writes to my bucket with bucket owner full control", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/ExampleUser" ] }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

Di seguito è riportata un'operazione di copia di esempio che include l'ACL bucket-owner-full-control predefinito utilizzando AWS Command Line Interface (AWS CLI).

aws s3 cp file.txt s3://DOC-EXAMPLE-BUCKET --acl bucket-owner-full-control

Dopo che la policy del bucket è diventata efficace, se il client non include l'ACL predefinita bucket-owner-full-control, l'operazione non riuscirà e l'uploader riceverà il seguente errore:

Si è verificato un errore (AccessDenied) durante la chiamata dell' PutObject operazione: Accesso negato.

Nota

Se i client hanno bisogno di accedere agli oggetti dopo il caricamento, sarà necessario concedere autorizzazioni aggiuntive per l'account di caricamento. Per informazioni sulla concessione agli account dell'accesso alle risorse, consulta la sezione Procedure guidate di esempio: gestione dell'accesso alle risorse di Amazon S3.