Risolvi i messaggi di errore di accesso negato - AWS Identity and Access Management

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 messaggi di errore di accesso negato

Le seguenti informazioni possono aiutarti a identificare, diagnosticare e risolvere gli errori di accesso negato con AWS Identity and Access Management. Gli errori di accesso negato vengono visualizzati quando si nega AWS in modo esplicito o implicito una richiesta di autorizzazione.

  • Una negazione esplicita 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 IAM politica nega un IAM principale 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 Differenza tra rifiuto esplicito e implicito.

Quando si effettua una richiesta a un servizio o a una risorsa, alla richiesta possono essere applicate più politiche. Rivedi tutte le politiche applicabili oltre a quelle specificate nel messaggio di errore.

  • Se più politiche dello stesso tipo di politica rifiutano una richiesta, il messaggio di errore di accesso negato non specifica il numero di politiche valutate.

  • Se più tipi di policy negano una richiesta di autorizzazione, AWS include solo uno di questi tipi di policy nel messaggio di errore.

Importante

Hai problemi ad accedere a AWS? Assicurati di essere nella pagina di accesso AWS corretta per il tuo tipo di utente. Se sei il Utente root dell'account AWS (proprietario dell'account), puoi accedere AWS utilizzando le credenziali che hai configurato quando hai creato il Account AWS. Se sei un IAM utente, l'amministratore del tuo account può fornirti le credenziali di AWS accesso. Se hai bisogno di richiedere assistenza, non utilizzare il link di feedback in questa pagina. Il modulo viene ricevuto dal team di AWS documentazione, non AWS Support. Invece, nella pagina Contattaci scegli Ancora impossibile accedere al tuo AWS account, quindi scegli una delle opzioni di supporto disponibili.

Ricevo un messaggio di «accesso negato» quando faccio una richiesta a un AWS servizio

  • Controlla se il messaggio di errore include il tipo di policy responsabile del rifiuto dell'accesso. Ad esempio, se l'errore indica che l'accesso è negato a causa di una Service Control Policy (SCP), puoi concentrarti sulla risoluzione dei SCP problemi. Una volta identificato il tipo di policy, è possibile verificare la presenza di dichiarazioni di rifiuto o di azioni di autorizzazione mancanti in tali tipi di policy. Se il messaggio di errore non riporta il tipo di policy responsabile del rifiuto dell'accesso, utilizza le altre linee guida in questa sezione per risolvere i problemi.

  • Verificare di disporre dell'autorizzazione della policy basata su identità necessaria per chiamare l'operazione e le risorse richieste. Se sono impostate delle condizioni, è necessario soddisfare anche tali condizioni quando si invia la richiesta. Per informazioni sulla visualizzazione o la modifica delle politiche per un IAM utente, un gruppo o un ruolo, consulta. Gestione delle IAM politiche

  • Se AWS Management Console restituisce un messaggio che indica che non sei autorizzato a eseguire un'azione, devi contattare l'amministratore per ricevere assistenza. L'amministratore ti ha fornito le credenziali di accesso o il link di accesso.

    L'errore di esempio seguente si verifica quando l'mateojacksonIAMutente tenta di utilizzare la console per visualizzare i dettagli di una my-example-widget risorsa fittizia ma non dispone delle autorizzazioni fittizie. widgets:GetWidget

    User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: widgets:GetWidget on resource: my-example-widget

    In questo caso, Mateo deve richiedere al suo amministratore di aggiornare le sue policy per poter accedere alla risorsa my-example-widget utilizzando l'operazione widgets:GetWidget.

  • Stai cercando di accedere a un servizio che supporta politiche basate sulle risorse, come Amazon S3, Amazon o Amazon? SNS SQS In tal caso, verificare che la policy specifichi l'utente come principale capitale e conceda l'accesso. Se si effettua una richiesta a un servizio all'interno dell'account, le policy basate su identità o le policy basate su risorse possono concedere l'autorizzazione. Se si effettua una richiesta a un servizio in un altro account, sia le policy basate su identità che le policy basate su risorse devono concedere l'autorizzazione. Per scoprire quali servizi supportano le policy basate su risorse, consultare la pagina AWS servizi che funzionano con IAM.

  • Se la policy include una condizione con una coppia chiave-valore, esaminala con attenzione. Gli esempi includono la chiave di condizione aws:RequestTag/tag-key globale AWS KMS kms:EncryptionContext:encryption_context_key, la e la chiave di ResourceTag/tag-key condizione supportata da più servizi. Verifica che il nome della chiave non corrisponda a più risultati. Poiché i nomi delle chiavi di distinzioni non fanno distinzione tra maiuscole e minuscole, una condizione che verifica la presenza di una chiave denominata foo corrisponde a foo, Foo o FOO. Se la richiesta include più coppie chiave-valore con nomi di chiavi che cambiano solo la dimensione dei caratteri, l'accesso potrebbe essere inaspettatamente negato. Per ulteriori informazioni, consulta IAMJSONelementi politici: Condition.

  • Se è presente un limite delle autorizzazioni, è necessario verificare che la policy utilizzata per il limite delle autorizzazioni consenta la richiesta. Se le policy basate su identità consentono la richiesta, ma il limite delle autorizzazioni non la consente, la richiesta viene rifiutata. Un limite di autorizzazioni controlla le autorizzazioni massime che un IAM principale (utente o ruolo) può avere. Le policy basate su risorse non sono limitate dai limiti delle autorizzazioni. I limiti delle autorizzazioni non sono comuni. Per ulteriori informazioni su come AWS valuta le politiche, vedere. Logica di valutazione delle policy

  • Se stai firmando le richieste manualmente (senza utilizzare il AWS SDKs), verifica di aver firmato correttamente la richiesta.

Messaggio di accesso rifiutato quando si effettua una richiesta con credenziali di sicurezza temporanee

  • Innanzitutto, occorre verificare che l'accesso non venga negato per un motivo non legato alle credenziali temporanee. Per ulteriori informazioni, consulta Ricevo un messaggio di «accesso negato» quando faccio una richiesta a un AWS servizio.

  • Verificare che il servizio accetti le credenziali di sicurezza temporanee, consultare AWS servizi che funzionano con IAM.

  • Verifica che le tue richieste vengano firmate correttamente e che il formato della richiesta sia valido. Per ulteriori informazioni, consulta la documentazione del kit di strumenti o Utilizzo di credenziali temporanee con le risorse AWS.

  • Verifica che le credenziali di sicurezza provvisorie non siano scadute. Per ulteriori informazioni, consulta Credenziali di sicurezza temporanee in IAM.

  • Verifica che l'IAMutente o il ruolo disponga delle autorizzazioni corrette. Le autorizzazioni per le credenziali di sicurezza temporanee derivano da un IAM utente o da un ruolo. Di conseguenza, le autorizzazioni sono limitate a quelle che vengono concesse al ruolo di cui hai assunto le credenziali temporanee. Per Scopri come vengono determinate le autorizzazioni per le credenziali di sicurezza temporanee, consultare Controllo delle autorizzazioni per le credenziali di sicurezza temporanee.

  • Se hai assunto un ruolo, la sessione del ruolo potrebbe essere limitata da policy di sessione. Quando richiedi credenziali di sicurezza temporanee a livello di codice AWS STS, puoi facoltativamente passare policy di sessione in linea o gestite. Le policy di sessione sono policy avanzate che vengono passate come parametro durante la creazione di una sessione temporanea per un ruolo a livello di programmazione. È possibile passare un singolo documento di policy di sessione JSON in linea utilizzando il parametro. Policy Puoi utilizzare il parametro PolicyArns per specificare fino a 10 policy di sessione gestite. Le autorizzazioni della sessione risultanti sono l'intersezione tra le policy basate sull'identità del ruolo e le policy di sessione. In alternativa, se l'amministratore o un programma personalizzato fornisce le credenziali temporanee, potrebbero includere policy di sessione per limitare l'accesso.

  • Se sei un utente federato, la tua sessione potrebbe essere limitata da policy di sessione. Si diventa un utente federato accedendo AWS come IAM utente e quindi richiedendo un token di federazione. Per ulteriori informazioni sugli utenti federati, consulta GetFederationToken: federazione tramite un gestore identità personalizzato. Se l'utente o un gestore identità ha passato policy di sessione durante la richiesta di un token di federazione, la sessione è limitata da quelle policy. Le autorizzazioni della sessione risultanti sono l'intersezione tra le politiche basate sull'identità degli IAM utenti e le politiche di sessione. Per ulteriori informazioni sulle policy di sessione, consulta Policy di sessione.

  • Se si accede a una risorsa che dispone di una policy basata sulle risorse tramite un ruolo, verificare che la policy conceda le autorizzazioni per il ruolo. Ad esempio, la policy seguente permette MyRole dell'account 111122223333 per l'accesso a MyBucket.

    { "Version": "2012-10-17", "Statement": [{ "Sid": "S3BucketPolicy", "Effect": "Allow", "Principal": {"AWS": ["arn:aws:iam::111122223333:role/MyRole"]}, "Action": ["s3:PutObject"], "Resource": ["arn:aws:s3:::MyBucket/*"] }] }

Esempi di messaggi di errore di accesso negato

Per la maggior parte, i messaggi di errore di accesso negato sono visualizzati nel formato User user is not authorized to perform action on resource because context. In questo esempio: user è l'Amazon Resource Name (ARN) che non riceve l'accesso, action è l'azione di servizio negata dalla policy, e resource è ARN la risorsa su 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, AWS include la frase with an explicit deny in a type policy nel messaggio di errore di accesso negato. Quando la policy nega implicitamente l'accesso, AWS include la frase because no type policy allows the action action nel messaggio di errore di accesso negato.

Nota

Alcuni AWS servizi non supportano questo formato di messaggio di errore di accesso negato. Il contenuto dei messaggi di errore di accesso negato può variare a seconda del servizio che effettua la richiesta di autorizzazione.

Gli esempi seguenti mostrano il formato di vari tipi di messaggi di errore di accesso negato.

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 dei servizi (SCPs). Per l’esempio seguente, l'operazione è codecommit:ListRepositories.

  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/JohnDoe is not authorized to perform: codecommit:ListRepositories because no service control policy allows the codecommit:ListRespositories 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 è codecommit:ListRepositories.

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

User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: codecommit:ListRepositories 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 una Allow dichiarazione mancante relativa all'azione nelle policy degli endpoint di Virtual Private Cloud (VPC). Per l’esempio seguente, l'operazione è codecommit:ListRepositories.

  2. Aggiorna la politica 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/JohnDoe is not authorized to perform: codecommit:ListRepositories because no VPC endpoint policy allows the codecommit:ListRepositories action

Accesso negato a causa di una policy sugli VPC endpoint: rifiuto esplicito

  1. Verifica la presenza di una Deny dichiarazione esplicita sull'azione nelle policy degli endpoint di Virtual Private Cloud ()VPC. Per l’esempio seguente, l'operazione è codedeploy:ListDeployments.

  2. Aggiorna la politica VPC degli endpoint rimuovendo la dichiarazione. Deny Per ulteriori informazioni, consulta Aggiornare una policy per VPC gli endpoint nella AWS PrivateLink Guida.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* 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 è codedeploy:ListDeployments.

  2. Aggiorna i limiti delle autorizzazioni aggiungendo la Allow dichiarazione alla tua politica. IAM Per ulteriori informazioni, consulta Limiti delle autorizzazioni per le entità IAM e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* because no permissions boundary allows the codedeploy:ListDeployments 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 è sagemaker:ListModels.

  2. Aggiorna i limiti delle autorizzazioni rimuovendo l'Denyinformativa dalla tua politica. IAM Per ulteriori informazioni, consulta Limiti delle autorizzazioni per le entità IAM e Modifica delle policy IAM.

User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: sagemaker:ListModels 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 è codecommit:ListRepositories.

  2. Aggiorna la tua policy di sessione aggiungendo l’istruzione Allow. Per ulteriori informazioni, consulta la sezione Policy di sessione e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codecommit:ListRepositories because no session policy allows the codecommit:ListRepositories 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 è codedeploy:ListDeployments.

  2. Aggiorna la tua policy di sessione rimuovendo l’istruzione Deny. Per ulteriori informazioni, consulta la sezione Policy di sessione e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in a sessions policy

Accesso negato a causa di policy basate sulle risorse: diniego implicito

  1. Verifica la presenza di un’istruzione Allow mancante relativa all'azione nella tua policy basata sulle risorse. Per l’esempio seguente, l'operazione è secretsmanager:GetSecretValue.

  2. Aggiorna la tua policy aggiungendo l'istruzione Allow. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: secretsmanager:GetSecretValue because no resource-based policy allows the secretsmanager:GetSecretValue action

Accesso negato a causa di policy basate sulle risorse: diniego esplicito

  1. Verifica la presenza di un’istruzione Deny esplicita relativa all'azione nella tua policy basata sulle risorse. Per l’esempio seguente, l'operazione è secretsmanager:GetSecretValue.

  2. Aggiorna la tua policy rimuovendo l'istruzione Deny. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:* with an explicit deny in a resource-based policy

Accesso negato a causa di policy di attendibilità dei ruoli: diniego implicito

  1. Verifica la presenza di un’istruzione Allow mancante relativa all'azione nella tua policy di attendibilità dei ruoli. Per l’esempio seguente, l'operazione è sts:AssumeRole.

  2. Aggiorna la tua policy aggiungendo l'istruzione Allow. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: sts:AssumeRole because no role trust policy allows the sts:AssumeRole action

Accesso negato a causa di policy di attendibilità dei ruoli: diniego esplicito

  1. Verifica la presenza di un’istruzione Deny esplicita relativa all'azione nella tua policy di attendibilità dei ruoli. Per l’esempio seguente, l'operazione è sts:AssumeRole.

  2. Aggiorna la tua policy rimuovendo l'istruzione Deny. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modifica delle policy IAM.

User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: sts:AssumeRole with an explicit deny in the role trust 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 è codecommit:ListRepositories associata al ruolo. HR

  2. Aggiorna la tua policy aggiungendo l’istruzione Allow. Per ulteriori informazioni, consulta la sezione Policy basate sull’identità e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codecommit:ListRepositories because no identity-based policy allows the codecommit:ListRepositories action

L'accesso è negato a causa di politiche basate sull'identità: rifiuto 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 è codedeploy:ListDeployments associata al ruolo. HR

  2. Aggiorna la tua policy rimuovendo l’istruzione Deny. Per ulteriori informazioni, consulta la sezione Policy basate sull’identità e Modifica delle policy IAM.

User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in an identity-based policy

L'accesso viene negato quando una VPC richiesta fallisce a causa di un'altra politica

  1. Verifica la presenza di una Deny dichiarazione esplicita sull'azione nelle tue politiche di controllo dei servizi (SCPs). Per l’esempio seguente, l'operazione è SNS:Publish.

  2. Aggiorna il tuo SCP rimuovendo l'Denyinformativa. Per ulteriori informazioni, consulta la sezione Aggiornamento di un SCP file nella Guida AWS IAM Identity Center per l'utente.

User: arn:aws:sts::111122223333:assumed-role/role-name/role-session-name is not authorized to perform: SNS:Publish on resource: arn:aws:sns:us-east-1:444455556666:role-name-2 with an explicit deny in a VPC endpoint policy transitively through a service control policy