Desidero ottenere credenziali temporanee per un utente di AWS IAM Identity Center.
Breve descrizione
La configurazione di un profilo denominato per utilizzare IAM Identity Center crea un file JSON nella directory $ cd ~/.aws/sso/cache. Il file JSON contiene un JSON Web Token (JWT) utilizzato per ottenere le credenziali di sicurezza temporanee con il comando equivalente API get-role-credentials. Il token di accesso è valido per 8 ore. Puoi vedere l'ora di scadenza nel timestamp expiresAt nel file JSON. È necessario utilizzare il comando get-role-credentials per autenticare nuovamente i token scaduti.
Risoluzione
È possibile utilizzare l'interfaccia della linea di comando AWS (AWS CLI) per ottenere le credenziali temporanee per un utente di IAM Identity Center.
Nota: se visualizzi dei messaggi di errore quando esegui i comandi dell'interfaccia della linea di comando AWS, consulta la sezione Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Ottieni le credenziali temporanee
Nell'interfaccia della linea di comando di AWS, completa i seguenti passaggi:
-
Apri il file JSON e copia il token di accesso:
$ cat 535a8450b05870c9045c8a7b95870.json
{"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….", "expiresAt": "2020-06-17T10:02:08UTC"}
-
Esegui il comando AWS CLI get-role-credentials per ottenere le credenziali per l'utente di IAM Identity Center:
$ aws sso get-role-credentials --account-id 123456789012 --role-name permission-set-name --access-token eyJlbmMiOiJBM…. --region enter_the_same_sso_region_same_in_the_JSON_file
Esempio di output:
{ "roleCredentials": {
"accessKeyId": "ASIA*************",
"secretAccessKey": "**********************************",
"sessionToken": "****************************************",
"expiration": 1592362463000
}
}
-
Configurare le credenziali come variabili di ambiente.
Risolvere i messaggi di errore
"An error occurred (ForbiddenException) when calling the GetRoleCredentials operation: No access".
Questo errore può verificarsi a causa di un nome di ruolo errato nell'interfaccia della linea di comando di AWS. Controlla il nome del ruolo per confermare che sia corretto.
"An error occurred (UnauthorizedException) when calling the GetRoleCredentials operation: Session token not found or invalid".
Questo errore si verifica perché il token di sessione o la regione AWS non sono corretti. Assicurati che la regione nel comando AWS CLI sia la stessa dell'output del file JSON.
Informazioni correlate
How do I use IAM Identity Center permission sets?