Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso risolvere l'errore "You don't have permissions to edit bucket policy" quando provo a modificare una policy di bucket in Amazon S3?
Ricevo l'errore "You don't have permissions to edit bucket policy" quando modifico la policy del mio bucket Amazon Simple Storage Service (Amazon S3).
Breve descrizione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Ricevi questo errore per i seguenti motivi:
- L'utente o il ruolo AWS Identity and Access Management (AWS IAM) non ha le autorizzazioni per le chiamate alle API s3:GetBucketPolicy e s3:PutBucketPolicy.
- La policy del bucket nega l'autorizzazione all'identità IAM per s3:GetBucketPolicy e s3:PutBucketPolicy.
- Hai attivato la funzionalità Blocco dell'accesso pubblico Amazon S3 per il bucket.
- Le policy di controllo dei servizi di AWS Organizations non consentono l'accesso ad Amazon S3.
Per risolvere l'errore, verifica che l'utente o il ruolo IAM abbia l'autorizzazione s3:GetBucketPolicy per visualizzare la policy del bucket e l'autorizzazione s3:PutBucketPolicy per modificarla. Se non esiste una policy utente IAM per concederti l'accesso, aggiungine una. Se non hai le autorizzazioni necessarie, utilizza un'altra identità IAM con accesso al bucket e modifica la policy del bucket. Se nessuno ha accesso alla policy del bucket, utilizza il comando AWS CLI delete-bucket-policy per eliminare la policy e ricrearla.
Se devi aggiungere una policy di lettura pubblica, disattiva la funzione Blocco dell'accesso pubblico Amazon S3 del bucket. Se utilizzi AWS Organizations, verifica di non disporre di policy di controllo dei servizi che neghino esplicitamente le azioni di Amazon S3. Inoltre, verifica di poter aggiungere eccezioni per l'operazione.
Risoluzione
Controlla le autorizzazioni per s3:GetBucketPolicy e s3:PutBucketPolicy
Per verificare le autorizzazioni del ruolo, completa i seguenti passaggi:
- Apri la console IAM.
- Seleziona l'identità utilizzata per accedere alla policy del bucket, ad esempio Utente o Ruolo.
- Seleziona il nome dell'identità IAM che utilizzi per accedere alla policy del bucket.
- Nella scheda Autorizzazioni dell'identità IAM, espandi ogni policy per visualizzare il relativo documento di policy JSON.
- Nei documenti di policy JSON, cerca le policy correlate all'accesso ad Amazon S3. Quindi verifica di avere le autorizzazioni per le azioni s3:GetBucketPolicy e s3:PutBucketPolicy sul bucket.
Il seguente esempio di policy IAM consente all'identità IAM di eseguire le azioni s3:GetBucketPolicy e s3:PutBucketPolicy su DOC-EXAMPLE-BUCKET::
Nota: l'istruzione AccessS3Console nella precedente policy IAM garantisce l'accesso alla console Amazon S3. Non è specifica per le modifiche della policy del bucket.{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyBucketPolicy", "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": "AccessS3Console", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" } ] } - Nei documenti di policy JSON, cerca le istruzioni con "Effect": "Deny". Quindi verifica che non neghino all'identità IAM l'accesso a s3:GetBucketPolicy o s3:PutBucketPolicy.
- Assicurati che il bucket ARN (esempio: arn:aws:s3:::DOC-EXAMPLE-BUCKET) sia presente nella sezione Resource (Risorse) della policy.
Nota: s3:GetBucketPolicy e s3:PutBucketPolicy sono azioni a livello di bucket. - Controlla se hai applicato condizioni globali, come aws:SourceIP, nella policy IAM per limitare le azioni s3:GetBucketPolicy e s3:PutBucketPolicy. Se queste condizioni limitano l'accesso, rimuovile o aggiornale.
Aggiungi una policy del bucket se non esiste
Se non riesci a individuare policy che concedono le autorizzazioni s3:GetBucketPolicy o s3:PutBucketPolicy. aggiungi una policy per concederle all'identità IAM. Se individui policy che negano l'accesso a s3:GetBucketPolicy o s3:PutBucketPolicy, rimuovile. Per istruzioni sulla modifica delle autorizzazioni IAM, consulta Modificare le autorizzazioni per un utente IAM.
Utilizza un'altra identità IAM con accesso al bucket e modifica la policy del bucket
Per verificare la policy del bucket, completa i seguenti passaggi:
- Apri la console Amazon S3.
- Dall'elenco dei bucket, apri il bucket con la policy che desideri modificare.
- Scegli la scheda Autorizzazioni.
- Scegli Policy del bucket.
- Cerca le istruzioni con "Effect": "Deny".
- Modifica la policy del bucket per aggiornare qualsiasi istruzione "Effect": "Deny" che neghi all'identità IAM l'accesso a s3:GetBucketPolicy o s3:PutBucketPolicy. Per istruzioni, consulta la sezione Per creare o modificare una policy del bucket in Aggiunta di una policy di bucket utilizzando la console di Amazon S3.
- Controlla se la policy del bucket include condizioni come aws:PrincipalArn che limitano le azioni s3:GetBucketPolicy e s3:PutBucketPolicy dell'entità IAM. Se queste condizioni limitano l'accesso, rimuovile o aggiornale.
Elimina e ricrea la policy del bucket se nega l'accesso a tutti
Se la policy del bucket nega a tutti l'accesso a s3:GetBucketPolicy, s3:PutBucketPolicy o a tutte le azioni di Amazon S3 (s3:*), elimina la policy del bucket. Se accidentalmente non hai più accesso al bucket, per cui non riesci a eliminare la policy, riottieni l'accesso al bucket. Dopo aver eliminato la policy del bucket, puoi crearne una nuova.
Disattiva il Blocco dell'accesso pubblico Amazon S3
Se la policy del bucket garantisce l'accesso pubblico, disattiva il Blocco dell'accesso pubblico Amazon S3 per il bucket. Per ulteriori informazioni, consulta Blocco dell'accesso pubblico allo storage Amazon S3 e Significato di "pubblico".
Nota: per impedire l'accesso pubblico a bucket privati, attiva il Blocco dell'accesso pubblico Amazon S3 per il bucket prima di disattivarlo a livello di account AWS.
Per AWS Organizations, elimina le policy di controllo dei servizi che non consentono l'accesso ad Amazon S3
Se utilizzi AWS Organizations, rivedi le policy di controllo dei servizi (SCP). Cerca eventuali istruzioni che negano esplicitamente l'azione s3:PutBucketPolicy o qualsiasi altra azione di policy di Amazon S3. Elimina le SCP che applicano l'effetto Deny alle azioni s3:* quando l'organizzazione non richiede le policy.
Il seguente esempio di policy nega l'accesso a tutte le azioni di Amazon S3:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }
- Argomenti
- Storage
- Lingua
- Italiano
Video correlati

