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à.
Quando applichi l'impostazione imposta del proprietario del bucket per S3 Object Ownership, le liste di controllo degli accessi (ACLs) sono disabilitate e tu, in qualità di proprietario del bucket, possiedi automaticamente tutti gli oggetti nel tuo bucket. ACLs non influiscono più sulle autorizzazioni per gli oggetti nel bucket. Puoi utilizzare le policy per concedere autorizzazioni. Tutte le richieste PUT
S3 devono specificare l'ACL predefinita bucket-owner-full-control
o non specificare una ACL; in caso contrario non andranno a buon fine. Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disattivazione ACLs del bucket.
Se viene specificato un'ACL non valida o le autorizzazioni ACL del bucket garantiscono l'accesso al di fuori del tuo Account AWS, potrebbero essere visualizzate le seguenti risposte di errore.
AccessControlListNotSupported
Dopo aver applicato l'impostazione forzata del proprietario del Bucket per la proprietà degli oggetti, sono disabilitati. ACLs Le richieste di impostazione ACLs o aggiornamento hanno ACLs esito negativo e restituiscono il codice di AccessControlListNotSupported
errore. 400
Le richieste di lettura ACLs sono ancora supportate. Le richieste di lettura restituiscono ACLs sempre una risposta che mostra il pieno controllo del proprietario del bucket. Nelle PUT
operazioni, è necessario specificare il controllo completo del proprietario del bucket ACLs o non specificare un ACL. Altrimenti, le tue operazioni PUT
falliranno.
Il put-object
AWS CLI comando di esempio seguente include l'public-read
ACL predefinito.
aws s3api put-object --bucket
amzn-s3-demo-bucket
--keyobject-key-name
--bodydoc-example-body
--acl public-read
Se il bucket utilizza l'impostazione forzata del proprietario del bucket per disabilitare ACLs, questa operazione ha esito negativo e l'uploader riceve il seguente messaggio di errore:
Si è verificato un errore (AccessControlListNotSupported) durante la chiamata dell'PutObject operazione: il bucket non lo consente ACLs
InvalidBucketAclWithObjectOwnership
Se desideri disattivare l'impostazione forzata del proprietario del bucket ACLs, l'ACL del bucket deve dare il pieno controllo solo al proprietario del bucket. L'ACL del bucket non può consentire l'accesso a un gruppo esterno o a qualsiasi altro gruppo. Account AWS Ad esempio, se la tua CreateBucket
richiesta imposta Bucket owner enforced e specifica un bucket ACL che fornisce l'accesso a un bucket ACL che fornisce l'accesso a un server esterno Account AWS, la richiesta ha esito negativo e restituisce il codice di errore. 400
InvalidBucketAclWithObjectOwnership
Allo stesso modo, se la tua richiesta PutBucketOwnershipControls
imposta il proprietario del bucket applicato su un bucket con un ACL di bucket che concede autorizzazioni ad altri, la richiesta avrà esito negativo.
Esempio : l'ACL del bucket esistente concede l'accesso pubblico in lettura
Ad esempio, se un ACL bucket esistente concede l'accesso pubblico in lettura, non potrai applicare l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto finché queste autorizzazioni ACL non vengono migrate a una policy del bucket e l'ACL bucket non viene ripristinata sull'ACL privata di default. Per ulteriori informazioni, consulta Prerequisiti per la disabilitazione ACLs.
Questo esempio di ACL di bucket concede l'accesso pubblico in lettura:
{ "Owner": { "ID": "
852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
Il put-bucket-ownership-controls
AWS CLI comando di esempio seguente applica l'impostazione Bucket owner enforced per Object Ownership:
aws s3api put-bucket-ownership-controls --bucket
amzn-s3-demo-bucket
--ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
Poiché l'ACL del bucket consente l'accesso pubblico in lettura, la richiesta sarà respinta e restituirà il seguente codice di errore:
Si è verificato un errore (InvalidBucketAclWithObjectOwnership) durante la chiamata dell' PutBucketOwnershipControls operazione: l'impostazione di Bucket not have ACLs set with ObjectOwnership BucketOwnerEnforced