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à.
Gli errori di accesso negato (HTTP403 Forbidden
) vengono visualizzati quando si nega in AWS modo esplicito o implicito una richiesta di autorizzazione.
-
Un rifiuto esplicito si verifica quando una politica contiene una
Deny
dichiarazione per l'azione specifica. AWS -
Un diniego implicito si verifica quando non è presente un'istruzione
Deny
applicabile e non è presente neppure un'istruzioneAllow
applicabile.
Poiché una policy AWS Identity and Access Management (IAM) nega implicitamente un principio IAM per impostazione predefinita, la policy deve consentire esplicitamente al principale di eseguire un'azione. In caso contrario, la policy nega implicitamente l'accesso. Per ulteriori informazioni, consulta la sezione Differenza tra rifiuti espliciti e impliciti nella Guida all'utente IAM. Per informazioni sulla logica di valutazione delle policy che determina se una richiesta di accesso è consentita o negata, consulta Logica di valutazione delle policy nella Guida all'utente IAM.
Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta Autorizzazioni necessarie per le operazioni API di Amazon S3.
I seguenti argomenti trattano le cause più comuni degli errori di accesso negato in Amazon S3.
Nota
Per gli errori di accesso negato (HTTP403 Forbidden
), Amazon S3 non addebita alcun costo al proprietario del bucket quando la richiesta viene avviata al di fuori dell' AWS account individuale del proprietario del bucket o dell'organizzazione del proprietario del bucket. AWS
Nota
Se si sta cercando di risolvere un problema di permessi, inizia dalla sezione Esempi di messaggi di accesso negato e di risoluzione dei problemi, quindi passa alla sezione Policy di bucket e policy IAM. Assicurati inoltre di seguire le indicazioni contenute in Suggerimenti per la verifica delle autorizzazioni.
Esempi di messaggi di accesso negato e di risoluzione dei problemi
Amazon S3 ora include un contesto aggiuntivo negli errori di accesso negato (HTTP 403
Forbidden
) per le richieste effettuate a risorse all'interno dello stesso Account AWS. Questo nuovo contesto include il tipo di policy che ha negato l'accesso, il motivo del rifiuto e le informazioni sull'utente o sul ruolo IAM che ha richiesto l'accesso alla risorsa.
Questo contesto aggiuntivo aiuta a risolvere i problemi di accesso, a identificare la causa principale degli errori di accesso negato e a correggere i controlli di accesso errati aggiornando le policy pertinenti. Questo contesto aggiuntivo è disponibile anche nei log. AWS CloudTrail I messaggi di errore di accesso negato avanzato per le richieste relative allo stesso account sono ora disponibili in tutte le regioni Regioni AWS, incluse quelle della AWS GovCloud (US) Regions Cina.
Per la maggior parte, i messaggi di errore di accesso negato sono visualizzati nel formato User
. In questo esempio, user-arn
is not authorized to perform
action
on "resource-arn
"
because context
è il nome della risorsa Amazon (ARN) dell'utente che non riceve l'accesso, user-arn
è l'azione di servizio che la policy nega e action
è l'ARN della risorsa su cui agisce la policy. Il campo resource-arn
rappresenta un contesto aggiuntivo sul tipo di policy che spiega perché la policy ha negato l'accesso.context
Quando una policy nega esplicitamente l'accesso perché contiene un'istruzione Deny
, il messaggio di errore di accesso negato include la frase with an
explicit deny in a
. Quando la policy nega implicitamente l'accesso, il messaggio di errore di accesso negato include la frase type
policybecause no
.type
policy allows the
action
action
Importante
-
I messaggi di accesso migliorato negato vengono restituiti solo per le richieste dello stesso account. Le richieste incrociate restituiscono un messaggio generico
Access Denied
.Per informazioni sulla logica di valutazione delle policy che determina se una richiesta di accesso multi-account è consentita o negata, consulta Logica di valutazione delle policy di accesso a più account nella Guida all'utente IAM. Per una guida che mostra come concedere l'accesso multi-account, consulta Esempio 2: il proprietario del bucket concede autorizzazioni per il bucket multiaccount.
-
I messaggi di errore di accesso negato non vengono restituiti per le richieste effettuate ai bucket di directory. Le richieste di directory bucket restituiscono un messaggio generico
Access Denied
. -
Se più policy dello stesso tipo negano una richiesta di autorizzazione, il messaggio di errore Accesso negato non specifica il numero di policy.
-
Se più tipi di policy negano una richiesta di autorizzazione, il messaggio di errore include solo uno di questi tipi di policy.
-
Se una richiesta di accesso viene rifiutata per più motivi, il messaggio di errore include solo uno dei motivi del rifiuto.
Gli esempi seguenti mostrano il formato dei diversi tipi di messaggi di errore di accesso negato e come risolvere i problemi di ciascun tipo di messaggio.
Accesso negato a causa di una policy di controllo delle risorse - rifiuto esplicito
-
Cerca un'
Deny
informativa sull'azione nelle tue politiche di controllo delle risorse ()RCPs. Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la tua RCP rimuovendo l'istruzione
Deny
. Per ulteriori informazioni, consulta Aggiornamento di una policy di controllo delle risorse (RCP) nella Guida all'utente AWS Organizations .
An error occurred (AccessDenied) when calling the GetObject operation: User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a resource control policy
Accesso negato a causa di una policy di controllo dei servizi: diniego implicito
-
Verifica la presenza di un'
Allow
istruzione mancante per l'azione nelle tue politiche di controllo del servizio (SCPs). Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la tua SCP aggiungendo l'istruzione
Allow
. Per ulteriori informazioni, consulta Aggiornamento di una SCP nella Guida per l'utente di AWS Organizations .
User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject because no service control policy allows the s3:GetObject action
Accesso negato a causa di una policy di controllo dei servizi: diniego esplicito
-
Cerca un'
Deny
informativa sull'azione nelle tue politiche di controllo dei servizi (SCPs). Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la tua SCP modificando l'istruzione
Deny
per consentire all'utente l'accesso necessario. Per un esempio di come si può fare, consulta Impedire agli utenti e ai ruoli IAM di apportare modifiche specifiche, con un'eccezione per un ruolo di amministratore specificato, nella Guida all'utente AWS Organizations . Per ulteriori informazioni sull'aggiornamento dell'SCP, consulta Aggiornamento di un SCP nella Guida all'utente di AWS Organizations .
User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject with an explicit deny in a service control policy
Accesso negato a causa di una policy dell'endpoint VPC: diniego implicito
-
Verificare la mancanza di un'istruzione
Allow
per l'azione nelle policy degli endpoint del cloud privato virtuale (VPC). Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la tua policy sugli endpoint VPC aggiungendo l'iistruzione
Allow
. Per ulteriori informazioni, consulta Aggiornamento di una policy dell'endpoint VPC nella AWS PrivateLink Guida.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no VPC endpoint policy allows the s3:GetObject action
Accesso negato a causa di una policy dell'endpoint VPC: diniego esplicito
-
Verifica la presenza di un'istruzione esplicita
Deny
per l'azione nelle policy dell'endpoint del cloud privato virtuale (VPC). Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiornare la policy dell'endpoint VPC modificando l'istruzione
Deny
per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzioneDeny
per utilizzare la chiave di condizioneaws:PrincipalAccount
con l'operatore di condizioneStringNotEquals
per consentire l'accesso al principale specifico, come mostrato in Esempio 7: Esclusione di alcuni principali da un'istruzione Deny. Per ulteriori informazioni sull'aggiornamento delle policy degli endpoint VPC, consulta Aggiornamento di una policy degli endpoint VPC nella Guida a AWS PrivateLink .
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a VPC endpoint policy
Accesso negato a causa di limiti delle autorizzazioni: diniego implicito
-
Verifica la presenza di un'istruzione
Allow
mancante relativa all'azione nel limite delle autorizzazioni. Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna il limite delle autorizzazioni aggiungendo l'istruzione
Allow
relativa alla tua policy IAM. Per ulteriori informazioni, consulta Limiti delle autorizzazioni per le entità IAM e Modifica delle policy IAM nella Guida dell'utente IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" because no permissions boundary allows the s3:GetObject action
Accesso negato a causa di un limite delle autorizzazioni: diniego esplicito
-
Verifica la presenza di un'istruzione
Deny
esplicita relativa all'azione nel limite delle autorizzazioni. Per l’esempio seguente, l'operazione ès3:GetObject
. -
Aggiornare il limite delle autorizzazioni modificando l'istruzione
Deny
nella policy IAM per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'Deny
istruzione per utilizzare la chiave diaws:PrincipalAccount
condizione con l'operatore diStringNotEquals
condizione per consentire l'accesso principale specifico, come mostrato in aws:PrincipalAccountnella Guida per l'utente di IAM. Per ulteriori informazioni, consulta Limiti delle autorizzazioni per le entità IAM e Modifica delle policy IAM nella Guida dell'utente IAM.
User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject with an explicit deny in a permissions boundary
Accesso negato a causa di policy di sessione: diniego implicito
-
Verifica la presenza di un'istruzione
Allow
mancante relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la tua policy di sessione aggiungendo l'istruzione
Allow
. Per ulteriori informazioni, consulta Policy di sessione e Modifica delle policy IAM nella Guida all'utente IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no session policy allows the s3:GetObject action
Accesso negato a causa di policy di sessione: diniego esplicito
-
Verifica la presenza di un'istruzione
Deny
esplicita relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l'operazione ès3:GetObject
. -
Aggiornare la policy di sessione modificando l'istruzione
Deny
per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzioneDeny
per utilizzare la chiave di condizioneaws:PrincipalAccount
con l'operatore di condizioneStringNotEquals
per consentire l'accesso al principale specifico, come mostrato in Esempio 7: Esclusione di alcuni principali da un'istruzione Deny. Per ulteriori informazioni sull'aggiornamento delle policy di sessione, consulta Policy di sessione e Modifica delle policy IAM nella Guida all'utente IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a session policy
Accesso negato a causa di policy basate sulle risorse: diniego implicito
Nota
Per policy basate sulle risorse si intendono policy come quelle relative ai bucket e ai punti di accesso.
-
Verifica la presenza di un'istruzione
Allow
mancante relativa all'azione nella tua policy basata sulle risorse. Controlla anche se l'impostazioneIgnorePublicAcls
di Blocco dell'accesso pubblico S3 è applicata a livello di bucket, punto di accesso o account. Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la tua policy aggiungendo l'istruzione
Allow
. Per ulteriori informazioni, consulta Policy basate sulle risorse e Modifica delle policy IAM nella Guida all'utente IAM.Potrebbe anche essere necessario modificare l'impostazione
IgnorePublicAcls
di Blocco dell'accesso pubblico per il bucket, il punto di accesso o l'account. Per ulteriori informazioni, consulta Accesso negato a causa delle impostazioni di Blocco accesso pubblico e Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no resource-based policy allows the s3:GetObject action
Accesso negato a causa di policy basate sulle risorse: diniego esplicito
Nota
Per policy basate sulle risorse si intendono policy come quelle relative ai bucket e ai punti di accesso.
-
Verifica la presenza di un'istruzione
Deny
esplicita relativa all'azione nella tua policy basata sulle risorse. Controlla anche se l'impostazioneRestrictPublicBuckets
di Blocco dell'accesso pubblico S3 è applicata a livello di bucket, punto di accesso o account. Per l'esempio seguente, l'operazione ès3:GetObject
. -
Aggiorna la policy modificando l'istruzione
Deny
per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'istruzioneDeny
per utilizzare la chiave di condizioneaws:PrincipalAccount
con l'operatore di condizioneStringNotEquals
per consentire l'accesso al principale specifico, come mostrato in Esempio 7: Esclusione di alcuni principali da un'istruzione Deny. Per ulteriori informazioni sull'aggiornamento della policy basata sulle risorse, consulta Policy basate sulle risorse e Modifica delle policy IAM nella Guida all'utente IAM.Potrebbe anche essere necessario modificare l'impostazione
RestrictPublicBuckets
di Blocco dell'accesso pubblico per il bucket, il punto di accesso o l'account. Per ulteriori informazioni, consulta Accesso negato a causa delle impostazioni di Blocco accesso pubblico e Configurazione delle impostazioni di blocco dell'accesso pubblico per i bucket S3.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a resource-based policy
Accesso negato a causa di policy basate sull'identità: diniego implicito
-
Verifica l'eventuale mancanza di un'istruzione
Allow
per l'azione nelle politicy basate sull'identità collegate all'identità. Nell'esempio seguente, l'azione ès3:GetObject
collegata all'utenteMaryMajor
. -
Aggiorna la tua policy aggiungendo l'istruzione
Allow
. Per ulteriori informazioni, consulta Policy basate sull'identità e Modifica delle policy IAM nella Guida dell'utente IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no identity-based policy allows the s3:GetObject action
Accesso negato a causa di policy basate sull'identità: diniego esplicito
-
Verifica la presenza di un’istruzione
Deny
esplicita per l'azione nelle politicy basate sull'identità collegate all'identità. Nell'esempio seguente, l'azione ès3:GetObject
collegata all'utenteMaryMajor
. -
Aggiorna la policy modificando l'istruzione
Deny
per consentire all'utente l'accesso necessario. Ad esempio, puoi aggiornare la tuaDeny
dichiarazione per utilizzare la chiave diaws:PrincipalAccount
condizione con l'operatore diStringNotEquals
condizione per consentire l'accesso principale specifico, come mostrato in aws:PrincipalAccountnella Guida per l'utente di IAM. Per ulteriori informazioni, consulta Policy basate sull'identità e Modifica delle policy IAM nella Guida dell'utente IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in an identity-based policy
Accesso negato a causa delle impostazioni di Blocco accesso pubblico
La funzione Blocco dell'accesso pubblico Amazon S3 fornisce le impostazioni per i punti di accesso, i bucket e gli account per aiutare a gestire l'accesso pubblico alle risorse Amazon S3. Per ulteriori informazioni su cosa si intende con il termine "pubblico" in Amazon S3, consulta Significato di "pubblico".
Per impostazione predefinita, i nuovi bucket, punti di accesso e oggetti non consentono l'accesso pubblico. Tuttavia, gli utenti possono modificare le policy dei bucket, le policy dei punti di accesso, le policy degli utenti IAM, le autorizzazioni degli oggetti o le liste di controllo degli accessi (ACLs) per consentire l'accesso pubblico. Le impostazioni di S3 Block Public Access hanno la precedenza su queste politiche, autorizzazioni e. ACLs Da aprile 2023, tutte le impostazioni di Blocco dell'accesso pubblico sono attivate per impostazione predefinita per i nuovi bucket.
Quando Amazon S3 riceve una richiesta di accesso a un bucket o a un oggetto, determina se per il bucket o l'account del proprietario del bucket è applicata un'impostazione di blocco dell'accesso pubblico. Se la richiesta è stata effettuata tramite un punto di accesso, Amazon S3 controlla anche la presenza di impostazioni di blocco dell'accesso pubblico per il punto di accesso. Se è presente un'impostazione di blocco dell'accesso pubblico che vieta l'accesso richiesto, Amazon S3 rifiuta la richiesta.
Il blocco dell'accesso pubblico di Amazon S3 comprende quattro impostazioni. Queste impostazioni sono indipendenti e possono essere usate in qualunque combinazione. Ogni impostazione può essere applicata a un punto di accesso, un bucket o un intero account. AWS Se le impostazioni di blocco dell'accesso pubblico per il punto di accesso, il bucket o l'account differiscono, Amazon S3 applica la combinazione più restrittiva di punto di accesso, bucket e account.
Quando Amazon S3 valuta se un'operazione è vietata da un'impostazione di accesso pubblico al blocco, rifiuta qualsiasi richiesta che violi l'impostazione di un punto di accesso, un bucket o un account.
Le quattro impostazioni fornite da Blocco dell'accesso pubblico Amazon S3 sono le seguenti:
-
BlockPublicAcls
- Questa impostazione si applica alle richiestePutBucketAcl
,PutObjectAcl
,PutObject
,CreateBucket
,CopyObject
ePOST Object
. L'impostazioneBlockPublicAcls
causa il seguente comportamento:-
PutBucketAcl
ePutObjectAcl
falliscono se la lista di controllo degli accessi (ACL) specificata è pubblica. -
PutObject
fallisce se la richiesta include una ACL pubblica. -
Se questa impostazione è applicata a un account, le chiamate
CreateBucket
hanno esito negativo con una risposta HTTP400
(Bad Request
) se la richiesta include un'ACL pubblica.
Ad esempio, quando l'accesso è negato per una richiesta
CopyObject
a causa dell'impostazioneBlockPublicAcls
, si riceve il seguente messaggio:An error occurred (AccessDenied) when calling the CopyObject operation: User: arn:aws:sts::
123456789012
:user/MaryMajor
is not authorized to perform: s3:CopyObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" because public access control lists (ACLs) are blocked by the BlockPublicAcls block public access setting. -
-
IgnorePublicAcls
— L'IgnorePublicAcls
impostazione fa sì che Amazon S3 ignori tutto il pubblico ACLs su un bucket e tutti gli oggetti in esso contenuti. Se l'autorizzazione della richiesta è concessa solo da una ACL pubblica, l'impostazioneIgnorePublicAcls
comporta il rifiuto della richiesta.Qualsiasi negazione derivante dall'impostazione di
IgnorePublicAcls
è implicita. Ad esempio, seIgnorePublicAcls
nega una richiestaGetObject
a causa di una ACL pubblica, si riceve il seguente messaggio:User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no resource-based policy allows the s3:GetObject action -
BlockPublicPolicy
- Questa impostazione si applica alle richiestePutBucketPolicy
ePutAccessPointPolicy
.L'impostazione di
BlockPublicPolicy
per un bucket fa sì che Amazon S3 rifiuti le chiamate aPutBucketPolicy
se la policy del bucket specificata consente l'accesso pubblico. Questa impostazione fa sì che Amazon S3 rifiuti anche le chiamate aPutAccessPointPolicy
per tutti i punti di accesso dello stesso account del bucket, se la policy specificata consente l'accesso pubblico.Impostando
BlockPublicPolicy
per un punto di accesso, Amazon S3 rifiuta le chiamate aPutAccessPointPolicy
ePutBucketPolicy
effettuate attraverso il punto di accesso se la policy specificata (per il punto di accesso o il bucket sottostante) consente l'accesso pubblico.Ad esempio, quando l'accesso viene negato a una richiesta di
PutBucketPolicy
a causa dell'impostazioneBlockPublicPolicy
, si riceve il seguente messaggio:An error occurred (AccessDenied) when calling the PutBucketPolicy operation: User: arn:aws:sts::
123456789012
:user/MaryMajor
is not authorized to perform: s3:PutBucketPolicy on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" because public policies are blocked by the BlockPublicPolicy block public access setting. -
RestrictPublicBuckets
— L'RestrictPublicBuckets
impostazione limita l'accesso a un punto di accesso o a un bucket con una politica pubblica solo ai Servizio AWS principali e agli utenti autorizzati all'interno dell'account del proprietario del bucket e dell'account del proprietario del punto di accesso. Questa impostazione blocca tutti gli accessi tra account al punto di accesso o al bucket (ad eccezione Servizio AWS dei principali), pur consentendo agli utenti all'interno dell'account di gestire il punto di accesso o il bucket. Questa impostazione rifiuta anche tutte le chiamate anonime (o non firmate).Qualsiasi negazione derivante dall'impostazione di
RestrictPublicBuckets
è esplicita. Ad esempio, seRestrictPublicBuckets
nega una richiesta diGetObject
a causa di un bucket pubblico o di una policy del punto di accesso, si riceve il seguente messaggio:User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a resource-based policy
Per ulteriori informazioni su queste impostazioni, consultare Impostazioni di blocco dell'accesso pubblico. Per rivedere e aggiornare queste impostazioni, consulta Configurazione del blocco dell'accesso pubblico.
Policy di bucket e policy IAM
Operazioni a livello di bucket
Se non esiste una policy relativa al bucket, il bucket consente implicitamente le richieste provenienti da qualsiasi identità AWS Identity and Access Management (IAM) presente nell'account del proprietario del bucket. Inoltre, il bucket rifiuta implicitamente le richieste provenienti da qualsiasi altra identità IAM da qualsiasi altro account e le richieste anonime (non firmate). Tuttavia, se non esiste una policy utente IAM, al richiedente (a meno che non sia l'utente Account AWS root) viene implicitamente negato di effettuare qualsiasi richiesta. Per ulteriori informazioni su questa logica di valutazione, consulta Determinazione se una richiesta è consentita o rifiutata in un account nella Guida per l'utente di IAM.
Operazioni a livello di oggetti
Se l'oggetto è di proprietà dell'account proprietario del bucket, la policy di bucket e la policy degli utenti IAM funzioneranno allo stesso modo per le operazioni a livello di oggetto e per le operazioni a livello di bucket. Ad esempio, se non esiste una policy del bucket, il bucket consente implicitamente le richieste di oggetti da qualsiasi identità IAM nell'account del proprietario del bucket. Inoltre, il bucket rifiuta implicitamente le richieste di oggetti provenienti da qualsiasi altra identità IAM da qualsiasi altro account e le richieste anonime (non firmate). Tuttavia, se non esiste una policy utente IAM, al richiedente (a meno che non sia l'utente Account AWS root) viene implicitamente negato di effettuare richieste di oggetti.
Se l'oggetto è di proprietà di un account esterno, l'accesso all'oggetto può essere concesso solo tramite le liste di controllo dell'accesso agli oggetti ()ACLs. La policy di bucket e la policy degli utenti IAM possono ancora essere utilizzate per rifiutare le richieste di oggetti.
Pertanto, per assicurarsi che la policy del bucket o dell'utente IAM non provochi un errore di Accesso negato (403 Forbidden), verificare che siano soddisfatti i seguenti requisiti:
-
Per l'accesso con lo stesso account, non deve esserci un'istruzione
Deny
esplicita per il richiedente a cui stai cercando di concedere le autorizzazioni nella policy di bucket né nella politica degli utenti IAM. Se desideri concedere le autorizzazioni utilizzando solo la policy di bucket e la policy degli utenti IAM, deve esserci almeno un'istruzioneAllow
esplicita in una di queste policy. -
Per l'accesso multi-account, non deve essere presente un'istruzione esplicita
Deny
contro il richiedente a cui si sta cercando di concedere le autorizzazioni, né nella policy del bucket né in quella dell'utente IAM. Per concedere le autorizzazioni per più account utilizzando solo la policy di bucket e la policy utente IAM, assicurati che sia la policy di bucket sia la policy utente IAM del richiedente includano un'istruzione esplicitaAllow
.
Nota
Le istruzioni Allow
in una policy di bucket si applicano solo agli oggetti di proprietà dello stesso account proprietario del bucket. Tuttavia, le istruzioni Deny
in una policy di bucket si applicano a tutti gli oggetti indipendentemente dalla proprietà dell'oggetto.
Per rivedere o modificare la policy di bucket
Nota
Per visualizzare o modificare una policy di bucket, devi disporre dell'autorizzazione s3:GetBucketPolicy
.
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).
-
Nell'elenco Bucket scegli il nome del bucket per il quale vuoi visualizzare o modificare una policy di bucket.
-
Scegli la scheda Autorizzazioni.
-
In Policy del bucket, scegli Modifica. Viene visualizzata la pagina Modifica la policy del bucket.
Per rivedere o modificare la tua policy sui bucket utilizzando AWS Command Line Interface (AWS CLI), usa il get-bucket-policy
Nota
Se rimani bloccato all'accesso a un bucket a causa di una politica del bucket errata, accedi AWS Management Console utilizzando le credenziali dell'utente Account AWS root. Per riottenere l'accesso al tuo bucket, assicurati di eliminare la policy del bucket errata utilizzando le credenziali dell'utente root. Account AWS
Suggerimenti per la verifica delle autorizzazioni
Per verificare se il richiedente dispone delle autorizzazioni adeguate per eseguire un'operazione Amazon S3, prova quanto segue:
-
Identifica il richiedente. Se si tratta di una richiesta non firmata, significa che è una richiesta anonima senza una policy utente IAM. Se si tratta di una richiesta che utilizza un URL prefirmato, la policy utente è la stessa dell'utente o del ruolo IAM che ha firmato la richiesta.
-
Assicurati di utilizzare il ruolo o l'utente IAM corretto. Puoi verificare il tuo utente o ruolo IAM controllando l'angolo in alto a destra di o utilizzando il AWS Management Console aws sts get-caller-identitycomando.
-
Controlla tutte le policy IAM collegate al ruolo o all'utente IAM. È possibile utilizzare uno dei seguenti metodi:
-
Esamina i vari tipi di policy IAM.
-
Se necessario, modifica la policy utente IAM.
-
Consulta i seguenti esempi di policy che negano o consentono esplicitamente l'accesso:
-
Policy utente IAM di autorizzazione esplicita: IAM: consente e rifiuta l'accesso a più servizi a livello di programmazione e nella console
-
Policy esplicita di allow bucket: concessione delle autorizzazioni a più account per caricare oggetti o impostare oggetti per l'accesso pubblico ACLs
-
Politica esplicita di negazione degli utenti IAM AWS: nega l'accesso in base alla richiesta AWS Regione AWS
-
Policy di bucket di rifiuto esplicito: Richiesta SSE-KMS per tutti gli oggetti scritti in un bucket
-
Impostazioni ACL di Amazon S3
Quando controlli le impostazioni ACL, controlla innanzitutto le impostazioni Object Ownership per verificare se ACLs sono abilitate nel bucket. Tieni presente che le autorizzazioni ACL possono essere utilizzate solo per concedere autorizzazioni e non possono essere utilizzate per rifiutare le richieste. ACLs inoltre, non possono essere utilizzate per concedere l'accesso ai richiedenti che vengono rifiutati mediante negazioni esplicite nelle policy dei bucket o nelle politiche degli utenti IAM.
L'opzione Proprietà dell'oggetto è impostata su Bucket owner enforced.
Se l'impostazione applicata al proprietario del bucket è abilitata, è improbabile che le impostazioni ACL causino un errore di accesso negato (403 proibito) perché questa impostazione disabilita tutto ciò che si applica al bucket e agli oggetti. ACLs Bucket owner enforced è l'impostazione predefinita (e consigliata) per i bucket Amazon S3.
L'opzione Proprietà dell'oggetto è impostata su Proprietario del bucket preferito o Autore dell'oggetto
Le autorizzazioni ACL continuano a essere valide con l'impostazione Proprietario del bucket preferito o Autore dell'oggetto. Esistono due tipi di oggetti: bucket e object. ACLs ACLs ACLs Per le differenze tra questi due tipi di autorizzazioni ACLs, vedere Mappatura delle autorizzazioni ACL e delle autorizzazioni dei criteri di accesso.
A seconda dell'azione della richiesta rifiutata, controlla le autorizzazioni ACL per il bucket o l'oggetto:
-
Se Amazon S3 ha rifiutato una richiesta
LIST
,PUT
oggetto,GetBucketAcl
oPutBucketAcl
, controlla le autorizzazioni ACL per il tuo bucket.Nota
Non è possibile concedere le autorizzazioni agli oggetti
GET
con le impostazioni ACL dei bucket. -
Se Amazon S3 ha rifiutato una
GET
richiesta su un oggetto S3 o PutObjectAclrichiedi, quindi esamina le autorizzazioni ACL per l'oggetto.Importante
Se l'account proprietario dell'oggetto è diverso dall'account proprietario del bucket, l'accesso all'oggetto non è controllato dalla policy di bucket.
Risoluzione di un errore di accesso negato (403 Accesso negato) derivante da una richiesta oggetto GET
durante la proprietà di un oggetto multi-account
Esamina le impostazioni dell'opzione Proprietà dell'oggetto del bucket per determinare il proprietario dell'oggetto. Se hai accesso all'oggetto ACLs, puoi anche controllare l'account del proprietario dell'oggetto. (Per visualizzare l'account del proprietario dell'oggetto, controlla l'impostazione ACL dell'oggetto nella console Amazon S3.) In alternativa, puoi anche eseguire una richiesta GetObjectAcl
per trovare l'ID canonico del proprietario dell'oggetto per verificare l'account del proprietario. Per impostazione predefinita, ACLs concedi autorizzazioni esplicite per le GET
richieste all'account del proprietario dell'oggetto.
Dopo aver verificato che il proprietario dell'oggetto sia diverso dal proprietario del bucket, a seconda del caso d'uso e del livello di accesso, scegli uno dei seguenti metodi per risolvere l'errore di accesso negato (403 Accesso negato):
-
Disabilita ACLs (consigliato): questo metodo si applica a tutti gli oggetti e può essere eseguito dal proprietario del bucket. Questo metodo assegna automaticamente il ruolo di proprietario del bucket e il controllo completo su ogni oggetto in esso contenuto. Prima di implementare questo metodo, verificate i prerequisiti per la disabilitazione. ACLs Per informazioni su come impostare il bucket su Bucket owner enforced (consigliata), consulta l'argomento relativo all'impostazione della proprietà dell'oggetto su un bucket esistente.
Importante
Per evitare un errore di accesso negato (403 Forbidden), assicurati di migrare le autorizzazioni ACL a una policy bucket prima di disabilitarla. ACLs Per ulteriori informazioni, consulta Esempi di policy di bucket per la migrazione delle autorizzazioni delle ACL.
-
Cambiare il proprietario dell'oggetto in proprietario del bucket: questo metodo può essere applicato a singoli oggetti, ma solo il proprietario dell'oggetto (o un utente con le autorizzazioni appropriate) può modificare la proprietà di un oggetto. Potrebbero essere applicati costi aggiuntivi a
PUT
Per ulteriori informazioni, consulta la pagina Prezzi di Amazon S3. Questo metodo garantisce al proprietario del bucket la piena proprietà dell'oggetto, consentendogli di controllare l'accesso all'oggetto tramite una policy di bucket. Per modificare la proprietà dell'oggetto, procedi in uno dei seguenti modi:
-
Tu (il proprietario del bucket) puoi copiare nuovamente l'oggetto nel bucket.
-
È possibile modificare l'impostazione dell'opzione Proprietà dell'oggetto per il bucket impostandola su Proprietario del bucket preferito. Se il controllo delle versioni è disabilitato, gli oggetti nel bucket vengono sovrascritti. Se il controllo delle versioni è abilitato, nel bucket verranno visualizzate versioni duplicate dello stesso oggetto, per le quali il proprietario può impostare una regola del ciclo di vita per la scadenza. Per istruzioni su come modificare le impostazioni dell'opzione Proprietà dell'oggetto, consulta Impostazione di Object Ownership su un bucket esistente.
Nota
Quando aggiorni l'impostazione dell'opzione Proprietà dell'oggetto impostandola su Proprietario del bucket preferito, l'impostazione viene applicata solo ai nuovi oggetti caricati nel bucket.
-
È possibile fare in modo che il proprietario dell'oggetto carichi nuovamente l'oggetto con l'ACL
bucket-owner-full-control
predefinita dell'oggetto.
Nota
Per i caricamenti multi-account, nella tua policy di bucket dovrai disporre anche dell'ACL
bucket-owner-full-control
dell'oggetto predefinito. Per una policy di bucket di esempio, consulta Concedere autorizzazioni multi-account per il caricamento di oggetti a garanzia del controllo completo da parte del proprietario del bucket. -
-
Mantenere l'autore dell'oggetto come proprietario dell'oggetto: questo metodo non modifica il proprietario dell'oggetto, ma consente di concedere l'accesso agli oggetti singolarmente. Per concedere l'accesso a un oggetto, devi disporre dell'autorizzazione
PutObjectAcl
per l'oggetto. Quindi, per correggere l'errore Accesso negato (403 Forbidden), aggiungi il richiedente come beneficiario per accedere all'oggetto nell'oggetto. ACLs Per ulteriori informazioni, consulta Configurazione ACLs.
Impostazioni dell'opzione S3 Blocco dell'accesso pubblico
Se la richiesta fallita riguarda l'accesso pubblico o le policy pubbliche, controllare le impostazioni di Blocco dell'accesso pubblico S3 sull'account, sul bucket o sul punto di accesso. Per ulteriori informazioni sulla risoluzione dei problemi relativi agli errori di accesso negato relativi alle impostazioni di Blocco dell'accesso pubblico S3, consulta Accesso negato a causa delle impostazioni di Blocco accesso pubblico.
Impostazioni della crittografia Amazon S3
Amazon S3 supporta la crittografia lato server nel bucket. La crittografia lato server è la crittografia dei dati nella posizione di destinazione eseguita dall'applicazione o dal servizio che li riceve. Amazon S3 crittografa i dati a livello di oggetto mentre li scrive su dischi nei data AWS center e li decrittografa per te quando vi accedi.
Per impostazione predefinita, Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. Amazon S3 consente inoltre di specificare il metodo di crittografia lato server durante il caricamento degli oggetti.
Per esaminare lo stato della crittografia lato server e le impostazioni della crittografia del bucket
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).
-
Nell'elenco Bucket, scegli il bucket per cui vuoi controllare le impostazioni della crittografia.
-
Scegliere la scheda Properties (Proprietà).
-
Scorri verso il basso fino alla sezione Crittografia predefinita e visualizza le impostazioni dell'opzione Tipo di crittografia.
Per verificare le impostazioni di crittografia utilizzando il AWS CLI, usa il get-bucket-encryptioncomando.
Per controllare lo stato della crittografia dell'oggetto
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).
-
Nell'elenco Bucket scegli il nome del bucket contenente l'oggetto.
-
Nell'elenco Nome scegli il nome dell'oggetto per cui desideri aggiungere o modificare la crittografia.
Viene visualizzata la pagina dei dettagli dell'oggetto.
-
Scorri verso il basso fino alla sezione Impostazioni crittografia lato server per visualizzare le impostazioni della crittografia lato server dell'oggetto.
Per verificare lo stato di crittografia degli oggetti utilizzando il AWS CLI, usa il head-objectcomando.
Requisiti relativi a crittografia e autorizzazioni
Amazon S3 supporta tre tipi di crittografia lato server:
-
Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)
-
Crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS)
-
Crittografia lato server con chiavi fornite dal cliente (SSE-C)
In base alle impostazioni di crittografia correnti, verifica che siano soddisfatti i seguenti requisiti relativi alle autorizzazioni:
-
SSE-S3: non sono richieste autorizzazioni aggiuntive.
-
SSE-KMS (con una chiave gestita dal cliente): per caricare oggetti, è necessaria l'autorizzazione
kms:GenerateDataKey
per la AWS KMS key . Per scaricare oggetti ed eseguire caricamenti di oggetti in più parti, è necessaria l'autorizzazionekms:Decrypt
per la chiave KMS. -
SSE-KMS (con un Chiave gestita da AWS): il richiedente deve appartenere allo stesso account proprietario della chiave KMS.
aws/s3
Il richiedente deve inoltre disporre delle autorizzazioni Amazon S3 corrette per accedere all'oggetto. -
SSE-C (con una chiave fornita dal cliente): non sono richieste autorizzazioni aggiuntive. Puoi configurare la policy di bucket per richiedere e limitare la crittografia lato server con chiavi di crittografia fornite dal cliente per gli oggetti nel bucket.
Se l'oggetto è crittografato con una chiave gestita dal cliente, assicurati che la policy della chiave KMS ti consenta di eseguire le operazioni kms:GenerateDataKey
o kms:Decrypt
. Per istruzioni su come verificare la policy della chiave KMS, consulta Visualizzazione di una policy di chiave nella Guida per gli sviluppatori di AWS Key Management Service .
Impostazioni dell'opzione S3 Blocco oggetti
Se nel bucket è abilitata la funzionalità S3 Blocco oggetti e l'oggetto è protetto da un periodo di conservazione o da un blocco a fini legali, Amazon S3 restituisce un errore di accesso negato (403 Accesso negato) quando si tenta di eliminare l'oggetto.
Per verificare se l'opzione Blocco oggetti è abilitata per il bucket
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).
-
Nell'elenco Bucket scegli il nome del bucket da controllare.
-
Scegliere la scheda Properties (Proprietà).
-
Scorri verso il basso fino alla sezione Blocco oggetti. Verifica se l'impostazione dell'opzione Blocco oggetti è abilitata o disabilitata.
Per determinare se l'oggetto è protetto da un periodo di conservazione o da un blocco a fini legali, visualizza le informazioni relative al blocco dell'oggetto.
Se l'oggetto è protetto da un periodo di conservazione o da un blocco a fini legali, verifica quanto segue:
-
Se la versione dell'oggetto è protetta dalla modalità di conservazione della conformità, non è possibile eliminarla definitivamente. Una
DELETE
richiesta permanente da parte di qualsiasi richiedente, incluso l'utente Account AWS root, genererà un errore di accesso negato (403 proibito). Inoltre, considera che quando invii una richiestaDELETE
per un oggetto protetto dalla modalità di conservazione della conformità, Amazon S3 crea un contrassegno di eliminazione per l'oggetto. -
Se la versione dell'oggetto è protetta con la modalità di conservazione della governance e disponi dell'autorizzazione
s3:BypassGovernanceRetention
, è possibile aggirare la protezione ed eliminare definitivamente la versione. Per ulteriori informazioni, consulta Bypassare la modalità Governance. -
Se la versione dell'oggetto è protetta da un blocco a fini legali, una richiesta
DELETE
permanente può generare un errore di accesso negato (403 Accesso negato). Per eliminare definitivamente la versione dell'oggetto, è necessario rimuovere il blocco a fini legali applicato alla versione dell'oggetto. Per rimuovere un blocco a fini legali, devi disporre dell'autorizzaziones3:PutObjectLegalHold
. Per ulteriori informazioni sulla rimozione di un blocco a fini legali, consulta Configurazione di S3 Object Lock.
Policy di endpoint VPC
Se si accede ad Amazon S3 utilizzando un endpoint di cloud privato virtuale (VPC), assicurarsi che la policy dell'endpoint VPC non blocchi l'accesso alle risorse di Amazon S3. Per impostazione predefinita, la policy degli endpoint VPC consente di eseguire tutte le richieste indirizzate ad Amazon S3. È inoltre possibile configurare la policy degli endpoint VPC per limitare determinate richieste. Per informazioni su come controllare le policy degli endpoint VPC, consulta le seguenti risorse:
AWS Organizations politiche
Se fai Account AWS parte di un'organizzazione, AWS Organizations le policy possono impedirti di accedere alle risorse Amazon S3. Per impostazione predefinita, AWS Organizations le policy non bloccano alcuna richiesta ad Amazon S3. Tuttavia, assicurati che AWS Organizations le tue policy non siano state configurate per bloccare l'accesso ai bucket S3. Per istruzioni su come controllare le tue AWS Organizations politiche, consulta le seguenti risorse:
-
Accesso negato a causa di una policy di controllo dei servizi: diniego implicito
-
Accesso negato a causa di una policy di controllo dei servizi: diniego esplicito
-
Accesso negato a causa di una policy di controllo delle risorse - rifiuto esplicito
-
Elenco di tutte le policy nella Guida all'utente di AWS Organizations
Inoltre, se si è configurato in modo errato la policy del bucket per un account membro in modo da negare a tutti gli utenti l'accesso al bucket S3, è possibile sbloccare il bucket avviando una sessione privilegiata per l'account membro in IAM. Una volta avviata una sessione privilegiata, è possibile eliminare la policy del bucket configurata in modo errato per riottenere l'accesso al bucket. Per ulteriori informazioni, consulta Eseguire un'attività privilegiata su un account AWS Organizations membro nella Guida per l'AWS Identity and Access Management utente.
Impostazioni del punto di accesso
Se ricevi un errore di accesso negato (403 Accesso negato) mentre effettui richieste tramite i punti di accesso Amazon S3, potresti dover controllare quanto segue:
-
Le configurazioni per i punti di accesso
-
La policy utente IAM utilizzata per i punti di accesso
-
La policy di bucket utilizzata per gestire o configurare i punti di accesso multi-account
Configurazioni e policy dei punti di accesso
-
Quando si crea un punto di accesso, è possibile scegliere di impostare Internet o VPC come origine della rete. Se l'origine della rete è impostata si "Solo VPC", Amazon S3 rifiuterà tutte le richieste effettuate al punto di accesso che non provengono dal VPC specificato. Per verificare l'origine della rete del punto di accesso, consulta Creazione di access point limitati a un cloud privato virtuale.
-
Con i punti di accesso, puoi anche configurare impostazioni personalizzate dell'opzione Blocco dell'accesso pubblico, che funzionano in modo simile alle impostazioni di Blocco dell'accesso pubblico a livello di bucket o account. Per verificare le impostazioni personalizzate dell'opzione Blocco dell'accesso pubblico, consulta Gestione dell'accesso pubblico agli access point.
-
Per effettuare con successo richieste ad Amazon S3 utilizzando i punti di accesso, assicurati che il richiedente disponga delle autorizzazioni IAM necessarie. Per ulteriori informazioni, consulta Configurazione delle policy IAM per l'utilizzo degli access point.
-
Se la richiesta interessa punti di accesso multi-account, assicurati che il proprietario del bucket abbia aggiornato la policy di bucket per autorizzare le richieste provenienti dal punto di accesso. Per ulteriori informazioni, consulta Concessione delle autorizzazioni per i punti di accesso multi-account.
Se l'errore Accesso negato (403 Forbidden) persiste dopo aver controllato tutti gli elementi di questo argomento, recupera l'ID della richiesta Amazon S3 e contattalo per ulteriori informazioni. Supporto