Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi relativi ai messaggi di errore di accesso rifiutato
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
Denydichiarazione per l'azione specifica. AWS -
Un diniego implicito si verifica quando non è presente un'istruzione
Denyapplicabile e non è presente neppure un'istruzioneAllowapplicabile. Dato che una policy IAM nega un principale IAM per impostazione predefinita, la policy deve consentire esplicitamente al principale di eseguire un'operazione. 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ù policy. Rivedi tutte le policy applicabili oltre a quella specificata nel messaggio di errore.
-
Se più policy dello stesso tipo negano una richiesta, il messaggio di errore di accesso negato non specifica il numero di policy 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 utente IAM, l'amministratore dell'account può fornirti le credenziali di accesso per AWS
. Se hai bisogno di supporto, non utilizzare il link Feedback in questa pagina. Il modulo viene ricevuto dal team di AWS documentazione, non Supporto. Invece, nella pagina Contattaci
Ricevo un messaggio di «accesso negato» quando faccio una richiesta a un AWS servizio
-
Verifica se il messaggio di errore include il tipo e Amazon Resource Name (ARN) della policy responsabile del rifiuto dell'accesso. In tal caso, verifica la presenza di dichiarazioni di rifiuto relative all'azione nella politica specificata. Se viene fornito il tipo di policy ma non esiste un ARN di policy, concentrati sulla risoluzione dei problemi relativi a quel tipo di policy: verifica la presenza di dichiarazioni di rifiuto per l'azione nelle policy del tipo specificato. 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 policy IAM per un utente, gruppo o ruolo, consulta Gestire le policy IAM.
-
Se Console di gestione AWS 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'utente IAM
mateojacksonprova a utilizzare la console per visualizzare i dettagli relativi a una risorsafittizia ma non dispone di autorizzazionimy-example-widgetwidgets:fittizie.GetWidgetUser: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: widgets:GetWidgeton resource:my-example-widgetIn questo caso, Mateo deve richiedere al suo amministratore di aggiornare le sue policy per poter accedere alla risorsa
utilizzando l'operazionemy-example-widgetwidgets:.GetWidget -
Stai cercando di accedere a un servizio che supportapolicy basate sulle risorse, ad esempio Amazon S3, Amazon SNS o Amazon 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-keyglobale AWS KMS
kms:EncryptionContext:, la e la chiave diencryption_context_keyResourceTag/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 denominatatag-keyfoocorrisponde afoo,FoooFOO. 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 Elementi delle policy JSON IAM: 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. Il limite delle autorizzazioni controlla il numero massimo di autorizzazioni che è possibile concedere a un'identità principale IAM (utente o ruolo). 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, vedereLogica di valutazione delle policy.
-
Se stai firmando le richieste manualmente (senza utilizzare il AWS SDKs
), verifica di aver firmato correttamente la richiesta. -
Se utilizzi una policy per gli endpoint VPC Amazon e ricevi un errore di accesso negato quando non hai effettuato l’accesso a AWS CloudTrail, è possibile che l’account del proprietario dell’endpoint VPC sia diverso dall’account che ha effettuato la chiamata o dall’account del ruolo di destinazione.
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 Utilizzare 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'utente o il ruolo IAM dispongano delle autorizzazioni corrette. Le autorizzazioni per le credenziali di sicurezza temporanee sono derivate da un utente o ruolo IAM. 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 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. Puoi passare un singolo documento della policy di sessione inline JSON utilizzando il parametro
Policy. Puoi utilizzare il parametroPolicyArnsper 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 principale AWS STS federato, la tua sessione potrebbe essere limitata dai criteri di sessione. Puoi creare una sessione utente federata accedendo AWS come utente IAM e quindi richiedendo un token di federazione. Per ulteriori informazioni, consulta Richiesta di credenziali tramite un gestore di 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 risultante sono l'intersezione delle policy basate sull'identità dell'utente IAM e delle policy 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
MyRoledell'account111122223333per l'accesso aamzn-s3-demo-bucket.
Esempi di messaggi di errore di accesso negato
Per la maggior parte, i messaggi di errore di accesso negato sono visualizzati nel formato User
. In questo esempio, user is not authorized to perform
action on resource because
contextuser è l'ARN del principale a cui è negato l'accesso, action è l'azione di servizio negata dalla policy ed è resource l'ARN della risorsa su cui agisce la policy. Il context campo fornisce un contesto aggiuntivo sul tipo di policy che ha negato l'accesso. In alcuni casi, contiene anche l'ARN della politica che ha negato l'accesso.
Quando una politica nega esplicitamente l'accesso perché contiene una Deny dichiarazione, AWS include la frase with an explicit deny in a
nel messaggio di errore di accesso negato. Questa frase può anche specificare l'ARN della politica, come segue:. type policywith an explicit deny in a type policy:
policy ARN
Quando la politica nega implicitamente l'accesso, AWS include la frase because no nel messaggio di errore di accesso negato.type policy allows the
action action
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
-
Verifica la presenza di un'
Allowistruzione mancante relativa all'azione nelle tue politiche di controllo del servizio (SCPs). Per l'esempio seguente, l'operazione ècodecommit:ListRepositories. -
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::123456789012:user/John 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
-
Se nel messaggio di errore viene fornito un ARN di policy, verificate la presenza di un'
Denyistruzione per l'azione nella policy di controllo del servizio (SCP) specificata. Nell'esempio seguente, l'azione è.codecommit:ListRepositories -
Se nel messaggio di errore non viene fornito alcun ARN della policy, verifica la presenza di un'
Denyistruzione per l'azione nel tuo. SCPs -
Aggiorna la tua SCP rimuovendo l'istruzione
Deny. Per ulteriori informazioni, consulta Aggiornare una policy di controllo dei servizi (SCP) nella Guida per l'AWS Organizations utente.
Messaggio di errore con un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories with an explicit deny in a service control policy: arn:aws:organizations::777788889999:policy/o-exampleorgid/service_control_policy/p-examplepolicyid123
Messaggio di errore senza un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codecommit:ListRepositories with an explicit deny in a service control policy
Accesso negato a causa di una policy di controllo delle risorse - rifiuto esplicito
-
Se nel messaggio di errore viene fornito un ARN di policy, verifica la presenza di un'
Denyistruzione per l'azione nella policy di controllo delle risorse (RCP) specificata. Nell'esempio seguente, l'azione è.secretsmanager:GetSecretValue -
Se nel messaggio di errore non viene fornito alcun ARN della policy, verifica la presenza di un'
Denyistruzione per l'azione nel tuo. RCPs -
Aggiorna la tua RCP rimuovendo l'istruzione
Deny. Per ulteriori informazioni, consulta Aggiornare una politica di controllo delle risorse (RCP) nella Guida per l'AWS Organizations utente.
Messaggio di errore con un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:* with an explicit deny in a resource control policy: arn:aws:organizations::777788889999:policy/o-exampleorgid/resource_control_policy/p-examplepolicyid456
Messaggio di errore senza un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:* with an explicit deny in a resource control policy
Accesso negato a causa di una policy dell'endpoint VPC: diniego implicito
-
Verifica l'assenza di un'istruzione
Allowper l'azione nelle tue policy dell'endpoint del cloud privato virtuale (VPC). Per l’esempio seguente, l'operazione ècodecommit:ListRepositories. -
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/John is not authorized to perform: codecommit:ListRepositories because no VPC endpoint policy allows the codecommit:ListRepositories action
Accesso negato a causa di una policy dell'endpoint VPC: diniego esplicito
-
Verifica la presenza di un'istruzione
Denyesplicita relativa all'azione nelle tue policy dell'endpoint del cloud privato virtuale (VPC). Per l’esempio seguente, l’operazione ècodedeploy:ListDeployments. -
Aggiorna la tua policy sugli endpoint VPC rimuovendo l'istruzione
Deny. Per ulteriori informazioni, consulta Aggiornamento di una policy dell'endpoint VPC nella AWS PrivateLink Guida.
User: arn:aws:iam::123456789012:user/John 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
-
Verifica la presenza di un'istruzione
Allowmancante relativa all'azione nel limite delle autorizzazioni. Per l’esempio seguente, l’operazione ècodedeploy:ListDeployments. -
Aggiorna il limite delle autorizzazioni aggiungendo l'istruzione
Allowrelativa alla tua policy IAM. Per ulteriori informazioni, consultare Limiti delle autorizzazioni per le entità IAM e Modificare le policy IAM.
User: arn:aws:iam::123456789012:user/John 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
-
Se nel messaggio di errore viene fornito un ARN di policy, verifica la presenza di un'
Denyistruzione per l'azione nel limite di autorizzazioni specificato. Nell'esempio seguente, l'azione è.sagemaker:ListModels -
Se nel messaggio di errore non viene fornito alcun ARN della policy, verifica la presenza di un'
Denyistruzione per l'azione nel limite delle autorizzazioni allegato al principale. -
Aggiorna il limite delle autorizzazioni rimuovendo l'istruzione
Denyrelativa alla tua policy IAM. Per ulteriori informazioni, consultare Limiti delle autorizzazioni per le entità IAM e Modificare le policy IAM.
Messaggio di errore con un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: sagemaker:ListModels with an explicit deny in a permissions boundary: arn:aws:iam::123456789012:policy/DeveloperPermissionBoundary
Messaggio di errore senza un ARN di policy:
User: arn:aws:iam::123456789012:user/John 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
-
Verifica la presenza di un'istruzione
Allowmancante relativa all'azione nelle tue policy di sessione. Per l’esempio seguente, l’operazione ècodecommit:ListRepositories. -
Aggiorna la tua policy di sessione aggiungendo l'istruzione
Allow. Per ulteriori informazioni, consulta la sezione Policy di sessione e Modificare le policy IAM.
User: arn:aws:iam::123456789012:user/John 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
-
Se nel messaggio di errore viene fornito un ARN di policy, verifica la presenza di un'
Denyistruzione per l'azione nella policy di sessione specificata. Nell'esempio seguente, l'azione ècodedeploy:ListDeployments. -
Se nel messaggio di errore non viene fornito alcun ARN dei criteri, verifica la presenza di un'
Denyistruzione per l'azione nei criteri di sessione. -
Aggiorna la tua policy di sessione rimuovendo l'istruzione
Deny. Per ulteriori informazioni, consulta la sezione Policy di sessione e Modificare le policy IAM.
Messaggio di errore con un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in a session policy: arn:aws:iam::123456789012:policy/DeveloperSessionPolicy
Messaggio di errore senza un ARN di policy:
User: arn:aws:iam::123456789012:user/John is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in a session policy
Accesso negato a causa di policy basate sulle risorse: diniego implicito
-
Verifica la presenza di un'istruzione
Allowmancante relativa all'azione nella tua policy basata sulle risorse. Per l’esempio seguente, l’operazione èsecretsmanager:GetSecretValue. -
Aggiorna la tua policy aggiungendo l'istruzione
Allow. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modificare le policy IAM.
User: arn:aws:iam::123456789012:user/John 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
-
Verifica la presenza di un'istruzione
Denyesplicita relativa all'azione nella tua policy basata sulle risorse. Per l’esempio seguente, l’operazione èsecretsmanager:GetSecretValue. -
Aggiorna la tua policy rimuovendo l'istruzione
Deny. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modificare le policy IAM.
User: arn:aws:iam::123456789012:user/John 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
-
Verifica la presenza di un'istruzione
Allowmancante relativa all'azione nella tua policy di attendibilità dei ruoli. Per l’esempio seguente, l’operazione èsts:AssumeRole. -
Aggiorna la tua policy aggiungendo l'istruzione
Allow. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modificare le policy IAM.
User: arn:aws:iam::123456789012:user/John 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
-
Verifica la presenza di un'istruzione
Denyesplicita relativa all'azione nella tua policy di attendibilità dei ruoli. Per l’esempio seguente, l’operazione èsts:AssumeRole. -
Aggiorna la tua policy rimuovendo l'istruzione
Deny. Per ulteriori informazioni, consulta la sezione Policy basate sulle risorse e Modificare le policy IAM.
User: arn:aws:iam::123456789012:user/John 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
-
Verifica l'eventuale mancanza di un'istruzione
Allowper l'azione nelle politicy basate sull'identità collegate all'identità. Nel seguente esempio, l'azionecodecommit:ListRepositoriesè collegata al ruoloHR. -
Aggiorna la tua policy aggiungendo l’istruzione
Allow. Per ulteriori informazioni, consulta la sezione Policy basate sull'identità e Modificare le 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
Accesso negato a causa di policy basate sull'identità: diniego esplicito
-
Se nel messaggio di errore viene fornito un ARN di policy, verifica la presenza di un'
Denyistruzione per l'azione nella policy specificata. Nell'esempio seguente, l'azione ècodedeploy:ListDeployments. -
Se nel messaggio di errore non viene fornito alcun ARN del criterio, verifica la presenza di un'
Denyistruzione per l'azione nelle politiche basate sull'identità allegate all'identità. -
Aggiorna la tua policy rimuovendo l’istruzione
Deny. Per ulteriori informazioni, consulta la sezione Policy basate sull’identità e Modificare le policy IAM.
Messaggio di errore con un ARN di policy:
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: arn:aws:iam::123456789012:policy/HRAccessPolicy
Messaggio di errore senza un ARN di policy:
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