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à.
Risoluzione dei problemi
Quando esegui l'impostazione Proprietario del bucket applicato per Proprietà dell'oggetto S3, le liste di controllo degli accessi (ACL) vengono disabilitate e tu, in qualità di proprietario del bucket, possiedi automaticamente tutti gli oggetti nel bucket. Le ACL 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 disabilitazione degli ACL per il 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 Proprietario del bucket applicato per Proprietà dell'oggetto, le ACL vengono disabilitate. Le richieste di impostazione degli ACL o di aggiornamento degli ACL hanno esito negativo e restituiscono il codice AccessControlListNotSupported di errore. 400 Le richieste di lettura delle ACL sono ancora supportate. Le richieste di lettura delle ACL restituiscono sempre una risposta che mostra il pieno controllo per il proprietario del bucket. Nelle operazioni PUT è necessario specificare le ACL di controllo completo del proprietario del bucket o non specificare un'ACL. Altrimenti, le tue operazioni PUT falliranno.
Il put-object AWS CLI comando di esempio seguente include l'public-readACL predefinito.
aws s3api put-object --bucketamzn-s3-demo-bucket--keyobject-key-name--bodydoc-example-body--acl public-read
Se il bucket utilizza l'impostazione Proprietario del bucket applicato per disabilitare le ACL, questa operazione non va a buon fine e l'uploader riceve il seguente messaggio di errore:
Si è verificato un errore (AccessControlListNotSupported) durante la chiamata all'PutObject operazione: il bucket non consente gli ACL
InvalidBucketAclWithObjectOwnership
Se desideri applicare l'impostazione Proprietario del bucket applicato per disabilitare le ACL, l'ACL bucket dovrà fornire il controllo completo solo al proprietario del bucket. L'ACL del bucket non può dare accesso a un gruppo esterno Account AWS o a un altro gruppo. Ad esempio, se la tua CreateBucket richiesta imposta il proprietario del bucket e specifica un ACL del bucket che fornisce l'accesso a un oggetto esterno Account AWS, la richiesta ha esito negativo con un 400 errore e restituisce il codice di errore. 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 delle ACL.
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 imposta dal proprietario del bucket per Object Ownership:
aws s3api put-bucket-ownership-controls --bucketamzn-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 all' PutBucketOwnershipControls operazione: Bucket non può avere ACL impostati con l'impostazione's ObjectOwnership BucketOwnerEnforced