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.
Argomenti
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
può caricare oggetti 111122223333
solo quando l'ACL dell'oggetto è impostata su DOC-EXAMPLE-BUCKET
bucket-owner-full-control
. Assicurati di sostituire
con un account reale e 111122223333
con il nome del tuo bucket.DOC-EXAMPLE-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.