View a markdown version of this page

Risolvi i problemi relativi ai messaggi di errore relativi all'accesso negato con ID di autorizzazione (anteprima) - 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 problemi relativi ai messaggi di errore relativi all'accesso negato con ID di autorizzazione (anteprima)

Importante

Access Troubleshooter è disponibile in anteprima pubblica. Le relative API sono soggette a modifiche.

Panoramica di

Quando AWS nega una richiesta per un'API supportata, la risposta all'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, invia una richiesta a GetRequestAuthorizationDetails Inserisci l'API 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 una politica AVVISA, un link al AWS Console di gestionee un ID di autorizzazione:

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 a AWS Console di gestione link o GetRequestAuthorizationDetails API.

  • 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 ciascuno action/resource abbina la richiesta, le chiavi di contesto della condizione applicate e il risultato valutato: ALLOW, EXPLICIT_DENY (una politica ha esplicitamente negato l'azione), o IMPLICIT_DENY (nessuna politica ha consentito l'azione) e un riferimento a ciascuna politica e dichiarazione che corrispondeva a action/resource coppia. Ogni riferimento è una politica GUADAGNA (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 corrispondevano a 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 GUADAGNA (per le politiche gestite) o l'URI utilizzato nelle valutazioni (per le politiche in linea e altre politiche non gestite). Usa il FILATO o URI per far corrispondere una policy alla valutazione a cui fa riferimento. Il campo «Allegato a» mostra il principale GUADAGNA del principio 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 dell'autorizzazione in caso di rifiuto e la risposta all'errore non include un ID di autorizzazione. Quando i dettagli vengono registrati, potrebbero non essere disponibili immediatamente, perché AWS li registra in modo asincrono. Se una chiamata a 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 il 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. La console di Access Troubleshooter mostra la valutazione per ciascuno action/resource coppia nella richiesta, il risultato di ciascuna (Allow, Explicit deny, o Implicit deny) e le politiche prese in considerazione. Trova la coppia che è stata rifiutata e la politica che ha causato il rifiuto. Guarda la seguente schermata come esempio:

    Screenshot della Access Troubleshooter Console con un rifiuto esplicito e un rifiuto implicito.
  • 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 Deny dichiarazione relativa all'azione. Per un rifiuto implicito, aggiungi un Allow dichiarazione relativa all'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 abbia accesso a 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 AWS API o AWS CLI:

  1. Individua l'ID di autorizzazione nella risposta all'errore di accesso negato.

  2. Chiama GetRequestAuthorizationDetails con l'ID di autorizzazione, nello stesso Regione AWS dove è avvenuta la negazione. L'esempio seguente mostra AWS CLI comando:

    aws iam-toolbox get-request-authorization-details \ --region us-east-1 \ --authorization-id EXAMPLE1a2b3c4d5e6f7g8h9i0j
  3. Esamina i risultati della valutazione per identificare quali politiche hanno negato l'accesso e il motivo del rifiuto.

  4. 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 tuo conto e le richieste anonime.

Se non ricevi un ID di autorizzazione, consulta Risoluzione dei problemi relativi ai messaggi di errore di accesso rifiutato per altri modi per diagnosticare il rifiuto.

Ulteriori considerazioni

Autorizzazioni richieste. Per chiamare GetRequestAuthorizationDetails, è necessario disporre delle autorizzazioni per iam:GetRequestAuthorizationDetails azione.

API regionale. GetRequestAuthorizationDetails è un'API regionale. Chiamalo allo stesso modo Regione AWS dove 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 negato, 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, consulta Risoluzione dei problemi relativi ai messaggi di errore di accesso rifiutato.

Servizi supportati

Il supporto per Access Troubleshooter viene implementato gradualmente in AWS servizi e Regione AWS. I seguenti servizi supportano Access Troubleshooter:

  • La maggior parte delle API in AWS Identity and Access Management

  • La maggior parte delle API in Amazon Kinesis Data Streams

  • La maggior parte delle API in Servizio di token di sicurezza AWS

  • La maggior parte delle API in AWS Step Functions