Risolvi i problemi relativi all'accesso negato (403 Forbidden) errori in Amazon S3 - Amazon Simple Storage Service

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à.

Risolvi i problemi relativi all'accesso negato (403 Forbidden) errori in Amazon S3

Gli errori di accesso negato (HTTP403 Forbidden) compaiono quando 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'istruzione Allow applicabile.

Poiché una politica AWS Identity and Access Management (IAM) nega implicitamente un IAM principio per impostazione predefinita, la politica deve consentire esplicitamente al principale di eseguire un'azione. In caso contrario, la policy nega implicitamente l'accesso. Per ulteriori informazioni, consulta La differenza tra negazioni esplicite e implicite nella Guida per l'utente. IAM Per informazioni sulla logica di valutazione delle politiche che determina se una richiesta di accesso è consentita o negata, vedere Logica di valutazione delle politiche nella Guida per l'IAMutente.

Per ulteriori informazioni sulle autorizzazioni alle API operazioni S3 in base ai tipi di risorse S3, consulta. Autorizzazioni richieste per le operazioni di Amazon API 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 stai cercando di risolvere un problema di autorizzazioni, inizia dalla sezione, quindi vai alla Accedi agli esempi di messaggi negati e scopri come risolverli sezione. Politiche e politiche di Bucket IAM Assicurati inoltre di seguire le indicazioni contenute in. Suggerimenti per la verifica delle autorizzazioni

Accedi agli esempi di messaggi negati e scopri come risolverli

Amazon S3 ora include un contesto aggiuntivo negli errori di accesso negato (HTTP403 Forbidden) per le richieste effettuate alle 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'IAMutente o sul ruolo che ha richiesto l'accesso alla risorsa.

Questo contesto aggiuntivo consente di risolvere i problemi di accesso, identificare la causa principale degli errori di accesso negato e correggere i controlli di accesso errati aggiornando le politiche pertinenti. Questo contesto aggiuntivo è disponibile anche nei AWS CloudTrail log. I messaggi di errore con accesso negato avanzato per le richieste relative allo stesso account sono ora disponibili in tutte le Regioni AWS regioni, incluse quelle AWS GovCloud (US) Regions cinesi.

Per la maggior parte, i messaggi di errore di accesso negato sono visualizzati nel formato User user-arn is not authorized to perform action on "resource-arn" because context. In questo esempio: user-arn è l'Amazon Resource Name (ARN) dell'utente che non riceve l'accesso, action è l'azione di servizio negata dalla policy, e resource-arn è la risorsa su ARN cui agisce la politica. Il context questo campo rappresenta un contesto aggiuntivo sul tipo di policy che spiega perché la policy ha negato l'accesso.

Quando una policy nega esplicitamente l'accesso perché contiene una Deny dichiarazione, il messaggio di errore di accesso negato include la frase. with an explicit deny in a type policy Quando la politica nega implicitamente l'accesso, il messaggio di errore di accesso negato include la frase. because no type policy allows the action action

Importante
  • I messaggi di accesso negato avanzato vengono restituiti solo per le richieste relative allo stesso account. Le richieste tra account restituiscono un messaggio generico. Access Denied

    Per informazioni sulla logica di valutazione delle politiche che determina se una richiesta di accesso tra account è consentita o negata, consulta Logica di valutazione delle politiche tra account nella Guida per l'IAMutente. Per una procedura dettagliata che mostra come concedere l'accesso a più account, consulta. Esempio 2: il proprietario del bucket concede autorizzazioni per il bucket multiaccount

  • I messaggi di errore Enhanced Access Denied non vengono restituiti per le richieste effettuate ai bucket di directory. Le richieste di directory bucket restituiscono un messaggio genericoAccess Denied.

  • Se più policy dello stesso tipo di policy negano una richiesta di autorizzazione, il messaggio di errore di 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 diversi 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 ogni tipo di messaggio.

Accesso negato a causa di una politica di controllo delle risorse: rifiuto esplicito

  1. Cerca una Deny dichiarazione relativa all'azione nelle tue politiche di controllo delle risorse ()RCPs. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la tua RCP rimuovendo la Deny dichiarazione. Per ulteriori informazioni, consulta Aggiornare una politica di controllo delle risorse (RCP) nella Guida AWS Organizations per l'utente.

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

  1. Verifica la presenza di un'Allowistruzione mancante relativa all'azione nelle tue politiche di controllo del servizio (SCPs). Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna il tuo SCP aggiungendo la Allow dichiarazione. Per ulteriori informazioni, consulta la sezione Aggiornamento di un SCP file nella Guida AWS Organizations per l'utente.

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

  1. Cerca un'Denyinformativa sull'azione nelle tue politiche di controllo dei servizi (SCPs). Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la tua SCP modificando l'Denyinformativa per consentire all'utente l'accesso necessario. Per un esempio di come eseguire questa operazione, consulta Impedire a IAM utenti e ruoli di apportare modifiche specifiche, con un'eccezione per un ruolo di amministratore specificato nella Guida per l'AWS Organizations utente. Per ulteriori informazioni sull'aggiornamento del tuoSCP, consulta Updating an SCP nella Guida AWS Organizations per l'utente.

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 VPC sugli endpoint: negazione implicita

  1. Verifica la presenza di un'Allowistruzione mancante relativa all'azione nelle policy degli endpoint del cloud privato virtuale (VPC). Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la policy VPC degli endpoint aggiungendo la Allow dichiarazione. Per ulteriori informazioni, consulta Aggiornare una policy per VPC gli endpoint 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 sugli VPC endpoint: rifiuto esplicito

  1. Verifica la presenza di una Deny dichiarazione esplicita per l'azione nelle policy degli endpoint del cloud privato virtuale ()VPC. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la policy VPC degli endpoint modificando l'Denyistruzione per consentire all'utente l'accesso necessario. Ad esempio, puoi aggiornare la tua Deny dichiarazione per utilizzare la chiave di aws:PrincipalAccount condizione con l'operatore di StringNotEquals condizione per consentire l'accesso principale specifico, come mostrato inEsempio 7: esclusione di determinati principi da una dichiarazione Deny. Per ulteriori informazioni sull'aggiornamento della policy relativa agli VPC endpoint, consulta Aggiornare una policy sugli VPC endpoint nella AWS PrivateLink Guida.

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

  1. Verifica la presenza di un’istruzione Allow mancante relativa all'azione nel limite delle autorizzazioni. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna i limiti delle autorizzazioni aggiungendo la Allow dichiarazione alla tua policy. IAM Per ulteriori informazioni, consulta Limiti delle autorizzazioni per le IAM entità e Modifica delle IAM politiche nella Guida per l'IAMutente.

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

  1. Verifica la presenza di un’istruzione Deny esplicita relativa all'azione nel limite delle autorizzazioni. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna i limiti delle autorizzazioni modificando l'Denyinformativa nella tua IAM politica per consentire all'utente l'accesso necessario. Ad esempio, puoi aggiornare la tua Deny dichiarazione per utilizzare la chiave di aws:PrincipalAccount condizione con l'operatore di StringNotEquals condizione per consentire l'accesso principale specifico, come mostrato in aws:PrincipalAccount nella Guida per l'utente di IAM. Per ulteriori informazioni, consulta Limiti delle autorizzazioni per IAM le entità e Modifica delle IAM politiche nella Guida per l'IAMutente.

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

  1. Verifica la presenza di un’istruzione Allow mancante relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la tua policy di sessione aggiungendo l’istruzione Allow. Per ulteriori informazioni, vedere Criteri di sessione e IAMCriteri di modifica nella Guida per l'IAMutente.

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

  1. Verifica la presenza di un’istruzione Deny esplicita relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la politica di sessione modificando l'Denyinformativa per consentire all'utente l'accesso necessario. Ad esempio, è possibile aggiornare l'Denyistruzione per utilizzare la chiave di aws:PrincipalAccount condizione con l'operatore di StringNotEquals condizione per consentire l'accesso principale specifico, come mostrato inEsempio 7: esclusione di determinati principi da una dichiarazione Deny. Per ulteriori informazioni sull'aggiornamento dei criteri di sessione, vedere Criteri di sessione e Modifica dei IAM criteri nella Guida per l'IAMutente.

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 politiche basate sulle risorse si intendono politiche come le politiche dei bucket e le politiche dei punti di accesso.

  1. Verifica la presenza di un’istruzione Allow mancante relativa all'azione nella tua policy basata sulle risorse. Controlla anche se l'impostazione IgnorePublicAcls S3 Block Public Access è applicata a livello di bucket, punto di accesso o account. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la tua policy aggiungendo l'istruzione Allow. Per ulteriori informazioni, consulta Politiche basate sulle risorse e Modifica delle IAM politiche nella Guida per l'utente. IAM

    Potrebbe inoltre essere necessario modificare l'impostazione di IgnorePublicAcls blocco dell'accesso pubblico per il bucket, l'access point o l'account. Per ulteriori informazioni, consulta Accesso negato a causa delle impostazioni di blocco dell'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 politiche basate sulle risorse si intendono politiche come quelle relative ai bucket e alle policy relative ai punti di accesso.

  1. Verifica la presenza di un’istruzione Deny esplicita relativa all'azione nella tua policy basata sulle risorse. Controlla anche se l'impostazione RestrictPublicBuckets S3 Block Public Access è applicata a livello di bucket, punto di accesso o account. Per l’esempio seguente, l'operazione è s3:GetObject.

  2. Aggiorna la tua politica modificando l'Denyinformativa per consentire all'utente l'accesso necessario. Ad esempio, puoi aggiornare la tua Deny dichiarazione per utilizzare la chiave di aws:PrincipalAccount condizione con l'operatore di StringNotEquals condizione per consentire l'accesso principale specifico, come mostrato inEsempio 7: esclusione di determinati principi da una dichiarazione Deny. Per ulteriori informazioni sull'aggiornamento della politica basata sulle risorse, vedere Criteri basati sulle risorse e Modifica IAM dei criteri nella Guida per l'utente. IAM

    Potrebbe inoltre essere necessario modificare l'impostazione di RestrictPublicBuckets 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 dell'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

  1. 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 associata all'utenteMaryMajor.

  2. Aggiorna la tua policy aggiungendo l'istruzione Allow. Per ulteriori informazioni, vedere Criteri basati sull'identità e Modifica dei IAM criteri nella Guida per l'IAMutente.

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

  1. 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 associata all'utente. MaryMajor

  2. Aggiorna la tua politica modificando l'Denyinformativa per consentire all'utente l'accesso necessario. Ad esempio, puoi aggiornare la tua Deny dichiarazione in modo da utilizzare la chiave di aws:PrincipalAccount condizione con l'operatore di StringNotEquals condizione per consentire l'accesso principale specifico, come mostrato in aws:PrincipalAccount nella Guida per l'utente di IAM. Per ulteriori informazioni, consulta Politiche basate sull'identità e Modifica delle IAM politiche nella Guida per l'IAMutente.

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 dell'accesso pubblico

La caratteristica di blocco dell'accesso pubblico di Amazon S3 fornisce le impostazioni per access point, bucket e account con cui è possibile gestire l'accesso pubblico alle risorse di Amazon S3. Per ulteriori informazioni su cosa si intende con il termine "pubblico" in Amazon S3, consulta Significato di "pubblico".

Per impostazione predefinita, nuovi bucket, access point e oggetti non consentono l'accesso pubblico. Tuttavia, gli utenti possono modificare le policy dei bucket, le policy dei punti di accesso, le policy IAM degli utenti, 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 questi criteri, autorizzazioni e. ACLs A partire da aprile 2023, tutte le impostazioni di Block Public Access sono abilitate 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 access point, Amazon S3 controlla anche la presenza di impostazioni di blocco dell'accesso pubblico per l'access point. 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, a un bucket o a un intero AWS account. Se le impostazioni di blocco dell'accesso pubblico per l'access point, il bucket o l'account sono diverse, Amazon S3 applica la combinazione più restrittiva di impostazioni.

Quando Amazon S3 valuta se un'operazione è vietata da un'impostazione di blocco dell'accesso pubblico, rifiuta qualsiasi richiesta che viola un'impostazione a livello di access point, bucket o account.

Le quattro impostazioni fornite da Amazon S3 Block Public Access sono le seguenti:

  • BlockPublicAcls— Questa impostazione si applica a PutBucketAclPutObjectAcl,PutObject, CreateBucketCopyObject, e POST Object richieste. L'BlockPublicAclsimpostazione causa il seguente comportamento:

    • PutBucketAcle PutObjectAcl le chiamate hanno esito negativo se la lista di controllo degli accessi specificata (ACL) è pubblica.

    • PutObjectle chiamate hanno esito negativo se la richiesta include un messaggio pubblicoACL.

    • Se questa impostazione viene applicata a un account, CreateBucket le chiamate hanno esito negativo con una risposta HTTP 400 (Bad Request) se la richiesta include un account pubblicoACL.

    Ad esempio, quando viene negato l'accesso a una CopyObject richiesta a causa dell'BlockPublicAclsimpostazione, viene visualizzato 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'IgnorePublicAclsimpostazione fa sì che Amazon S3 ignori tutto il pubblico ACLs su un bucket e tutti gli oggetti in esso contenuti. Se l'autorizzazione della tua richiesta è concessa solo da un pubblicoACL, l'IgnorePublicAclsimpostazione rifiuta la richiesta.

    Qualsiasi rifiuto derivante dall'IgnorePublicAclsimpostazione è implicito. Ad esempio, se IgnorePublicAcls nega una GetObject richiesta a causa di un messaggio pubblicoACL, riceverai 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 PutAccessPointPolicy richieste PutBucketPolicy e.

    L'impostazione BlockPublicPolicy di un bucket fa sì che Amazon S3 rifiuti le chiamate PutBucketPolicy a se la policy del bucket specificata consente l'accesso pubblico. Questa impostazione fa sì che Amazon S3 rifiuti anche le chiamate verso tutti i punti PutAccessPointPolicy di accesso dello stesso account del bucket se la politica specificata consente l'accesso pubblico.

    L'impostazione BlockPublicPolicy di un punto di accesso fa sì che Amazon S3 rifiuti le chiamate verso PutAccessPointPolicy e PutBucketPolicy che vengono effettuate tramite il punto di accesso se la politica specificata (per il punto di accesso o il bucket sottostante) consente l'accesso pubblico.

    Ad esempio, quando l'accesso viene negato a una PutBucketPolicy richiesta a causa dell'BlockPublicPolicyimpostazione, ricevi 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'RestrictPublicBucketsimpostazione limita l'accesso a un punto di accesso o a un bucket con criteri pubblici solo ai responsabili e Servizio AWS 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 rifiuto derivante dall'impostazione è esplicito. RestrictPublicBuckets Ad esempio, se RestrictPublicBuckets nega una GetObject richiesta a causa di una politica pubblica relativa al bucket o al punto di accesso, riceverai 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

Politiche e politiche di Bucket IAM

Operazioni a livello di bucket

Se non esiste una policy relativa al bucket, il bucket consente implicitamente le richieste provenienti da qualsiasi AWS Identity and Access Management (IAM) identità presente nell'account del proprietario del bucket. Il bucket inoltre nega implicitamente le richieste provenienti da qualsiasi altra IAM identità proveniente da qualsiasi altro account e le richieste anonime (non firmate). Tuttavia, se non esiste una politica IAM utente, al richiedente (a meno che non sia l'utente Account AWS root) viene implicitamente negato di effettuare richieste. Per ulteriori informazioni su questa logica di valutazione, consulta Determinare se una richiesta è rifiutata o consentita all'interno di un account nella Guida per l'IAMutente.

Operazioni a livello di oggetti

Se l'oggetto è di proprietà dell'account proprietario del bucket, la policy del bucket e la policy IAM utente 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 relativa al bucket, il bucket consente implicitamente le richieste di oggetti provenienti da qualsiasi identità presente nell'account del proprietario del bucket. IAM Il bucket inoltre nega implicitamente le richieste di oggetti provenienti da qualsiasi altra IAM identità da qualsiasi altro account e le richieste anonime (non firmate). Tuttavia, se non esiste alcuna politica IAM utente, 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 bucket e la policy IAM utente possono ancora essere utilizzate per rifiutare le richieste di oggetti.

Pertanto, per assicurarti che la tua policy bucket o la policy IAM utente non causino un errore di accesso negato (403 Forbidden), assicurati che siano soddisfatti i seguenti requisiti:

  • Per l'accesso allo stesso account, non deve esserci una Deny dichiarazione esplicita contro il richiedente a cui stai cercando di concedere le autorizzazioni, né nella policy del bucket né nella politica utente. IAM Se desideri concedere le autorizzazioni utilizzando solo la policy del bucket e la politica dell'IAMutente, deve esserci almeno una dichiarazione esplicita in una di queste politiche. Allow

  • Per l'accesso su più account, non deve esserci una Deny dichiarazione esplicita contro il richiedente a cui stai cercando di concedere le autorizzazioni, né nella policy del bucket né nella politica utente. IAM Per concedere autorizzazioni su più account utilizzando solo la policy del bucket e la politica IAM utente, assicurati che sia la policy bucket che la politica IAM utente del richiedente includano una dichiarazione esplicita. Allow

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.

  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Nell'elenco Bucket scegli il nome del bucket per il quale vuoi visualizzare o modificare una policy di bucket.

  4. Scegli la scheda Autorizzazioni.

  5. In Bucket Policy (Policy del bucket) scegliere Edit (Modifica). Viene visualizzata la pagina Edit bucket policy (Modifica policy di bucket).

Per rivedere o modificare la tua policy sui bucket utilizzando AWS Command Line Interface (AWS CLI), usa get-bucket-policycomando.

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:

Impostazioni Amazon S3 ACL

Quando controlli ACL le impostazioni, controlla innanzitutto le impostazioni di Object Ownership per verificare se ACLs sono abilitate nel bucket. Tieni presente che ACL le autorizzazioni possono essere utilizzate solo per concedere autorizzazioni e non possono essere utilizzate per rifiutare le richieste. ACLsinoltre, 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 dal proprietario del bucket è abilitata, è improbabile che ACL le impostazioni 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

ACLle autorizzazioni sono ancora valide con l'impostazione preferita del proprietario del bucket o l'impostazione dell'object writer. Esistono due tipi di oggettiACLs: bucket e object. ACLs ACLs Per le differenze tra questi due tipi di autorizzazioniACLs, vedere Mappatura delle ACL autorizzazioni e delle autorizzazioni dei criteri di accesso.

A seconda dell'azione della richiesta rifiutata, controlla le ACL autorizzazioni per il tuo bucket o l'oggetto:

  • Se Amazon S3 ha rifiutato un LIST PUT oggetto o una PutBucketAcl richiestaGetBucketAcl, verifica le ACL autorizzazioni per il tuo bucket.

    Nota

    Non puoi concedere le autorizzazioni agli GET oggetti con le impostazioni del bucket. ACL

  • Se Amazon S3 ha rifiutato una GET richiesta su un oggetto S3 o PutObjectAclrichiedi, quindi esamina le ACL autorizzazioni 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, consulta l'ACLimpostazione 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 proibito), assicurati di migrare le ACL autorizzazioni a una policy bucket prima di disabilitarla. ACLs Per ulteriori informazioni, consulta Esempi di policy Bucket per la migrazione dalle autorizzazioni. 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 PUT costi aggiuntivi. 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'oggetto bucket-owner-full-control ACL predefinito.

    Nota

    Per i caricamenti su più account, puoi anche richiedere che l'oggetto predefinito sia incluso ACL nella tua bucket-owner-full-control policy sul bucket. 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 politiche pubbliche, controlla le impostazioni di S3 Block Public Access sul tuo account, bucket o punto di accesso. Per ulteriori informazioni sulla risoluzione degli errori di accesso negato relativi alle impostazioni di S3 Block Public Access, consulta. Accesso negato a causa delle impostazioni di blocco dell'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 tuoi dati a livello di oggetto mentre li scrive su dischi nei data AWS center e li decrittografa per te quando ti accedi.

Per impostazione predefinita, Amazon S3 ora applica la crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) come livello base di crittografia per ogni bucket in 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
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Nell'elenco Bucket, scegli il bucket per cui vuoi controllare le impostazioni della crittografia.

  4. Scegliere la scheda Properties (Proprietà).

  5. 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
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Nell'elenco Bucket scegli il nome del bucket contenente l'oggetto.

  4. Nell'elenco Nome scegli il nome dell'oggetto per cui desideri aggiungere o modificare la crittografia.

    Viene visualizzata la pagina dei dettagli dell'oggetto.

  5. 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, utilizza il head-objectcomando.

Requisiti relativi a crittografia e autorizzazioni

Amazon S3 supporta tre tipi di crittografia lato server:

  • Crittografia lato server con chiavi gestite Amazon S3 (-S3) SSE

  • Crittografia lato server con () chiavi (-) AWS Key Management Service AWS KMS SSE KMS

  • Crittografia lato server con chiavi fornite dal cliente (-C) SSE

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, è kms:GenerateDataKey richiesta l'autorizzazione su. AWS KMS key Per scaricare oggetti ed eseguire caricamenti multipli di oggetti, è kms:Decrypt richiesta l'autorizzazione sulla KMS chiave.

  • SSE- KMS (con un Chiave gestita da AWS) — Il richiedente deve appartenere allo stesso account che possiede la chiave. aws/s3 KMS 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 politica della KMS chiave consenta di eseguire le azioni kms:GenerateDataKey orkms:Decrypt. Per istruzioni sulla verifica della politica KMS chiave, consulta Visualizzazione di una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.

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
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Nell'elenco Bucket scegli il nome del bucket da controllare.

  4. Scegliere la scheda Properties (Proprietà).

  5. 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 richiesta DELETE 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'autorizzazione s3:PutObjectLegalHold. Per ulteriori informazioni sulla rimozione di un blocco a fini legali, consulta Configurazione di S3 Object Lock.

VPCpolitiche degli endpoint

Se accedi ad Amazon S3 utilizzando un endpoint di cloud privato virtuale (VPC), assicurati che la policy dell'VPCendpoint non ti impedisca di accedere alle tue risorse Amazon S3. Per impostazione predefinita, la policy degli VPC endpoint consente tutte le richieste ad Amazon S3. Puoi anche configurare la policy degli VPC endpoint per limitare determinate richieste. Per informazioni su come verificare la policy VPC degli endpoint, 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 di 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:

Inoltre, se hai configurato erroneamente la tua policy sui bucket per un account membro in modo da negare a tutti gli utenti l'accesso al tuo bucket S3, puoi sbloccare il bucket avviando una sessione privilegiata per l'account membro in. IAM Una volta avviata una sessione privilegiata, puoi eliminare la policy del bucket non configurata correttamente per riottenere l'accesso al bucket. Per ulteriori informazioni, consulta Eseguire un'attività privilegiata su un account AWS Organizations membro nella Guida per l'utente.AWS Identity and Access Management

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 politica IAM utente 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 crei un punto di accesso, puoi scegliere di designare Internet o VPCcome origine della rete. Se l'origine della rete è impostata su VPC Only, Amazon S3 rifiuterà tutte le richieste effettuate al punto di accesso che non provengono da quanto specificato. VPC 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 richieste di successo ad Amazon S3 utilizzando i punti di accesso, assicurati che il richiedente disponga delle autorizzazioni necessarie. IAM Per ulteriori informazioni, consulta Configurazione delle IAM politiche per l'utilizzo dei punti di accesso.

  • 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. AWS Support