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 ai messaggi di errore relativi all'accesso negato con ID di autorizzazione (anteprima)
Importante
Access Troubleshooter è disponibile in anteprima pubblica.
Panoramica di
Quando si AWS rifiuta una richiesta per un'API supportata, la risposta di errore di accesso negato di solito include un ID di autorizzazione. Questo ID fa riferimento alla valutazione dell'autorizzazione per quella richiesta negata. Per recuperare i dettagli della valutazione e identificare la causa del rifiuto, effettua una richiesta all'GetRequestAuthorizationDetailsAPI e fornisci l'ID di autorizzazione oppure apri il link presente nel messaggio di errore. Ciò consente di identificare la causa di una richiesta rifiutata in una singola chiamata, anziché risolvere i rifiuti uno alla volta.
Nota
AWS non garantisce un ID di autorizzazione per ogni richiesta rifiutata. Vedi Quando non ricevi un ID di autorizzazione in questo documento.
L'esempio seguente mostra un messaggio di errore di accesso negato che include un ARN della policy, un collegamento alla console di
User: arn:aws:iam::123456789012:user/janedoe is not authorized to perform: iam:CreateInstanceProfile on resource: arn:aws:iam::123456789012:instance-profile/my-instance-profile with an explicit deny in an identity-based policy: arn:aws:iam::123456789012:policy/ExampleDenyPolicy. Go to https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/authorization-details/EXAMPLE1a2b3c4d5e6f7g8h9i0j for complete details, or call the GetRequestAuthorizationDetails API with the following authorization id: EXAMPLE1a2b3c4d5e6f7g8h9i0j
Concetti e definizioni
-
Dettagli dell'autorizzazione. I dettagli dell'autorizzazione includono il contesto della richiesta, le valutazioni eseguite e le politiche che sono state valutate.
-
ID di autorizzazione. Un identificatore univoco incluso in una risposta di errore di accesso negato supportata. Fa riferimento alla valutazione dell'autorizzazione per quella richiesta negata ed è il valore passato al link della
AWS Management Console o all' GetRequestAuthorizationDetailsAPI. -
Contesto della richiesta. I valori delle chiavi di contesto della condizione valutate per la richiesta. Sono incluse le chiavi di contesto delle condizioni globali e le chiavi di contesto delle condizioni specifiche del servizio.
-
Valutazione. Per ogni action/resource coppia nella richiesta, le chiavi di contesto della condizione applicate e il risultato valutato:
ALLOW,EXPLICIT_DENY(una politica ha esplicitamente negato l'azione) oIMPLICIT_DENY(nessuna politica ha consentito l'azione) e un riferimento a ciascuna politica e dichiarazione che corrisponde alla action/resource coppia. Ogni riferimento è un ARN della politica (per le politiche gestite) o un URI (per le politiche in linea e altre politiche non gestite) che viene riutilizzato in tutta la risposta. -
Politiche valutate durante l'autorizzazione. Le politiche AWS prese in considerazione per la richiesta, comprese le politiche che non corrispondono alla action/resource coppia. Ogni voce indica il tipo di politica (ad esempio, basata sull'identità, basata sulle risorse, SCP, RCP, limite delle autorizzazioni o politica di sessione) e lo stesso ARN (per le politiche gestite) o URI utilizzato nelle valutazioni (per le politiche in linea e altre politiche non gestite). Utilizza l'ARN o l'URI per far corrispondere una policy alla valutazione a cui fa riferimento. Il campo «Allegato a» mostra l'ARN principale del principale a cui è collegata la politica valutata.
Usa questi risultati insieme per identificare a quale politica è stato negato l'accesso e perché. La valutazione riflette le politiche così come erano al momento del rifiuto. Le politiche potrebbero essere cambiate da allora.
AWS include automaticamente un ID di autorizzazione nelle risposte di errore di accesso negato per le API supportate, ma gli ID di autorizzazione non sono garantiti. In alcuni casi, AWS non registra i dettagli di autorizzazione per un rifiuto e la risposta all'errore non include un ID di autorizzazione. Quando i dettagli vengono registrati, potrebbero non essere disponibili immediatamente, perché li AWS registra in modo asincrono. Se una chiamata GetRequestAuthorizationDetails restituisce una risposta non trovata, attendi qualche istante e riprova. AWS conserva i dettagli dell'autorizzazione per 24 ore dopo il rifiuto.
Risolvi i problemi utilizzando AWS Console di gestione
Scegli il link nel messaggio di errore di accesso negato per aprire i dettagli dell'autorizzazione nella Console di Access Troubleshooter.
-
Cosa cercare. L'Access Troubleshooter Console mostra la valutazione per ogni action/resource coppia nella richiesta, il risultato di ciascuna (
AllowExplicit deny,, oImplicit deny) e le politiche prese in considerazione. Individua la coppia che è stata rifiutata e la politica che ha causato il rifiuto. Guarda la seguente schermata come esempio:
-
Determina se il rifiuto era intenzionale. Rivedi la valutazione prima di modificare una politica. Un rifiuto può essere corretto e a volte la causa è il contesto della richiesta piuttosto che la politica. Ad esempio, in una richiesta potrebbe mancare un tag di sessione previsto o provenire da un percorso di rete imprevisto.
-
Come risolvere il rifiuto. Individua la policy corrispondente e aggiornala per risolvere il problema di accesso. Per un rifiuto esplicito, rimuovi o restringi la
Denydichiarazione relativa all'azione. Per un rifiuto implicito, aggiungi unaAllowdichiarazione per l'azione. Per ulteriori informazioni, consulta Modificare le policy IAM.
Chi può accedere ai dettagli dell'autorizzazione. Per una richiesta all'interno di un singolo account o di una singola organizzazione, chiunque sia autorizzato ad accedere iam:GetRequestAuthorizationDetails può accedere ai dettagli della richiesta. Per una richiesta che riguarda più di un'organizzazione, un utente di una determinata organizzazione può visualizzare solo i dettagli relativi alla propria organizzazione.
Risolvi i problemi relativi all'utilizzo AWS API o AWS CLI
Per risolvere un problema di rifiuto utilizzando l' AWS API o: AWS CLI
-
Individua l'ID di autorizzazione nella risposta all'errore di accesso negato.
-
Chiama
GetRequestAuthorizationDetailscon l'ID di autorizzazione, nello stesso in Regione AWS cui si è verificato il rifiuto. L'esempio seguente mostra il AWS CLI comando:aws iam-toolbox get-request-authorization-details \ --region us-east-1 \ --authorization-id EXAMPLE1a2b3c4d5e6f7g8h9i0j -
Esamina i risultati della valutazione per identificare quali politiche hanno negato l'accesso e il motivo del rifiuto.
-
Aggiorna le politiche identificate per risolvere il problema di accesso. Per ulteriori informazioni, consulta Modificare le policy IAM.
Quando non ricevi un ID di autorizzazione
AWS non restituisce un ID di autorizzazione nei seguenti casi:
-
L'autorizzazione è troppo grande per essere registrata. Quando una richiesta comporta un numero elevato di politiche, AWS può decidere di non registrare la richiesta.
-
Il servizio non è ancora supportato. Consulta Servizi supportati.
-
L'API non è supportata. Alcune API all'interno di un servizio supportato non restituiscono un ID di autorizzazione.
-
Il tipo di richiesta non è supportato. Ciò include le richieste effettuate da un servizio per conto dell'utente e le richieste anonime.
Se non ricevi un ID di autorizzazione, consulta altri modi Risoluzione dei problemi relativi ai messaggi di errore di accesso rifiutato per diagnosticare il rifiuto.
Ulteriori considerazioni
Autorizzazioni richieste. Per chiamareGetRequestAuthorizationDetails, devi disporre delle autorizzazioni per l'iam:GetRequestAuthorizationDetailsazione.
API regionale. GetRequestAuthorizationDetailsè un'API regionale. Chiamalo nello stesso Regione AWS punto in cui sono stati generati l'errore di accesso negato e l'ID di autorizzazione.
Cross-organization richieste. Quando una richiesta rifiutata coinvolge più di un'organizzazione, GetRequestAuthorizationDetails restituisce solo i dettagli che appartengono alla propria organizzazione. Ciò vale in entrambe le direzioni: se si fa parte dell'organizzazione del chiamante rifiutato, vengono visualizzati solo i dettagli relativi a tale organizzazione. Se fai parte dell'organizzazione della risorsa negata, vengono visualizzati solo i dettagli relativi a tale organizzazione. I dettagli di proprietà di un'altra organizzazione, ad esempio le politiche o i valori chiave di contesto di tale organizzazione, non vengono restituiti.
Se ricevi un errore di accesso negato da un'API, un servizio o una regione che non include ancora un ID di autorizzazione, consultaRisoluzione dei problemi relativi ai messaggi di errore di accesso rifiutato.
Servizi supportati
Il supporto per GetRequestAuthorizationDetails viene implementato gradualmente tra le AWS API e Regione AWS. Supporto GetRequestAuthorizationDetails per i seguenti servizi:
-
La maggior parte delle API in IAM