Risoluzione dei problemi relativi a IAM e Amazon EC2 - AWS Identity and Access Management

Risoluzione dei problemi relativi a IAM e Amazon EC2

Le informazioni seguenti possono essere utili per risolvere i problemi relativi a IAM con Amazon EC2.

Durante l'avvio di un'istanza, il ruolo non viene visualizzato nell'elenco Ruolo IAM nella console Amazon EC2.

Verifica quanto segue:

  • Se si è effettuato l'accesso come utente IAM, verificare di disporre dell'autorizzazione a chiamare ListInstanceProfiles. Per ulteriori informazioni sulle autorizzazioni necessarie per gestire i ruoli, consulta Autorizzazioni richieste per l'utilizzo dei ruoli con Amazon EC2. Per informazioni sull'aggiunta di autorizzazioni a un utente, consultare Gestire le policy IAM.

    Se non puoi modificare le tue autorizzazioni, contatta un amministratore che possa utilizzare IAM per aggiornare le autorizzazioni.

  • Se è stato creato un ruolo utilizzando la CLI o l'API di IAM, verifica che:

    • Sia stato creato un profilo dell'istanza e che sia stato aggiunto a tale profilo.

    • Sia stato usato lo stesso nome per il ruolo e il profilo dell'istanza. Inoltre, se il ruolo e il profilo dell'istanza sono stati chiamati in modo diverso, nella console Amazon EC2 non verrà visualizzato il nome del ruolo corretto.

    L'elenco Ruolo IAM nella console Amazon EC2 riporta i nomi dei profili dell'istanza, non i nomi dei ruoli. Sarà necessario selezionare il nome del profilo dell'istanza che contiene il ruolo desiderato. Per ulteriori informazioni sui profili dell'istanza, consultare Usare profili dell'istanza.

    Nota

    Se utilizzi la console IAM per creare ruoli, non è necessario lavorare con i profili dell'istanza. Per ogni ruolo creato nella console IAM viene creato un profilo dell'istanza con lo stesso nome del ruolo e il ruolo viene automaticamente aggiunto a tale profilo. Un profilo di istanza può contenere un solo ruolo IAM e tale limite non può essere aumentato.

Le credenziali per l'istanza si riferiscono al ruolo errato

Il ruolo nel profilo dell'istanza potrebbe essere stato sostituito di recente. In questo caso, l'applicazione deve attendere la prossima rotazione delle credenziali pianificata automaticamente prima che le credenziali per il ruolo diventino disponibili.

Per forzare la modifica, devi dissociare il profilo dell'istanza e quindi associare il profilo dell'istanza oppure arrestare l'istanza e riavviarla.

Quando tento di chiamare AddRoleToInstanceProfile, viene visualizzato un errore AccessDenied

Se stai effettuando richieste come utente IAM, verifica di disporre delle autorizzazioni seguenti:

  • iam:AddRoleToInstanceProfile con la risorsa corrispondente all'ARN del profilo dell'istanza (ad esempio, arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile).

Per ulteriori informazioni sulle autorizzazioni necessarie per gestire i ruoli, consulta Come si inizia?. Per informazioni sull'aggiunta di autorizzazioni a un utente, consultare Gestire le policy IAM.

Amazon EC2: quando provo ad avviare un'istanza con un ruolo, ricevo un errore AccessDenied

Verifica quanto segue:

  • Avviare un'istanza senza un profilo dell'istanza. In questo modo il problema sarà limitato ai ruoli IAM per le istanze Amazon EC2.

  • Se stai effettuando richieste come utente IAM, verifica di disporre delle autorizzazioni seguenti:

    • ec2:RunInstances con una risorsa jolly ("*")

    • iam:PassRole con la risorsa corrispondente all'ARN del ruolo (ad esempio, arn:aws:iam::999999999999:role/ExampleRoleName)

  • Chiama l'operazione GetInstanceProfile IAM per assicurarti di stare utilizzando un profilo dell'istanza valido o un ARN del profilo di istanza valido. Per ulteriori informazioni, consulta Utilizzo dei ruoli IAM con le istanze Amazon EC2.

  • Chiama l'operazione GetInstanceProfile IAM per assicurarti che il profilo di istanza disponga di un ruolo. I profili dell'istanza vuoti genereranno un errore AccessDenied. Per ulteriori informazioni sulla creazione di un ruolo, consultare Creazione di ruoli IAM.

Per ulteriori informazioni sulle autorizzazioni necessarie per gestire i ruoli, consulta Come si inizia?. Per informazioni sull'aggiunta di autorizzazioni a un utente, consultare Gestire le policy IAM.

Non è possibile accedere alle credenziali di sicurezza temporanee nell'istanza EC2

Per accedere alle credenziali di sicurezza temporanee nell'istanza EC2, è necessario innanzitutto utilizzare la console IAM per creare un ruolo. Quindi, avviare un'istanza EC2 che utilizza tale ruolo ed esaminare l'istanza in esecuzione. Per ulteriori informazioni, consulta How Do I Get Started? in Utilizzare un ruolo IAM per concedere autorizzazioni alle applicazioni in esecuzione su istanze Amazon EC2.

Se non è ancora possibile accedere alle credenziali di sicurezza temporanee sull'istanza EC2, verificare quanto segue:

  • È possibile accedere a un'altra parte di Instance Metadata Service (IMDS)? In caso contrario, verificare che non vi siano regole del firewall che bloccano l'accesso alle richieste a IMDS.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/hostname; echo
  • La sottostruttura iam di IMDS esiste? In caso contrario, verifica che all'istanza sia associato un profilo dell'istanza IAM chiamando l'operazione API DescribeInstances di EC2 o utilizzando il comando della CLI aws ec2 describe-instances.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam; echo
  • Verifica la presenza di un errore nel documento info nella sottostruttura IAM. Se è presente un errore, consultare Cosa significano gli errori riportati nel documento info nella sottostruttura IAM? per ulteriori informazioni.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam/info; echo

Cosa significano gli errori riportati nel documento info nella sottostruttura IAM?

Il documento iam/info indica "Code":"InstanceProfileNotFound"

Il profilo dell'istanza IAM è stato eliminato e Amazon EC2 non è più in grado di fornire le credenziali all'istanza. È necessario collegare un profilo dell'istanza valido all'istanza Amazon EC2.

Se esiste un profilo dell'istanza con il nome specificato, controllare che tale profilo non sia stato eliminato e che ne sia stato creato un altro con lo stesso nome:

  1. Chiama l'operazione GetInstanceProfile IAM per ottenere InstanceProfileId.

  2. Chiama l'operazione DescribeInstances di Amazon EC2 per ottenere il valore IamInstanceProfileId per l'istanza.

  3. Verifica che il InstanceProfileId ottenuto dall'operazione IAM corrisponda al IamInstanceProfileId ottenuto dall'operazione Amazon EC2.

Se gli ID sono diversi, il profilo dell'istanza associato alle istanze non è più valido. È necessario collegare un profilo dell'istanza valido all'istanza.

Il documento iam/info indica un esito positivo, ma indica anche "Message":"Instance Profile does not contain a role..."

Il ruolo è stato rimosso dal profilo dell'istanza dall'operazione RemoveRoleFromInstanceProfile IAM. È possibile utilizzare l'operazione AddRoleToInstanceProfile IAM per collegare un ruolo al profilo dell'istanza. L'applicazione dovrà attendere il successivo aggiornamento pianificato per accedere alle credenziali del ruolo.

Per forzare la modifica, devi dissociare il profilo dell'istanza e quindi associare il profilo dell'istanza oppure arrestare l'istanza e riavviarla.

Il documento iam/security-credentials/[role-name] indica "Code":"AssumeRoleUnauthorizedAccess"

Amazon EC2 non dispone dell'autorizzazione per assumere il ruolo. L'autorizzazione ad assumere il ruolo è determinata dalla policy di affidabilità collegata al ruolo, come nell'esempio che segue. Utilizza l'API UpdateAssumeRolePolicy IAM per aggiornare la policy di attendibilità.

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com"]},"Action": ["sts:AssumeRole"]}]}

L'applicazione dovrà attendere il successivo aggiornamento pianificato automaticamente per accedere alle credenziali del ruolo.

Per forzare la modifica, devi dissociare il profilo dell'istanza e quindi associare il profilo dell'istanza oppure arrestare l'istanza e riavviarla.