Desidero ottenere credenziali temporanee per un utente di AWS IAM Identity Center (successore di AWS Single Sign-On).
Descrizione breve
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 la chiamata API get-role-credentials. Il token di accesso è valido per 8 ore, come indicato nel timestamp expiresAt del file JSON. I token scaduti devono essere nuovamente autenticati utilizzando la chiamata API get-role-credentials.
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: in caso di errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.
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, simili alle seguenti:
$ 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
}
}
Quindi, segui le istruzioni per configurare le credenziali come variabili di ambiente.
Informazioni correlate
How do I use IAM Identity Center permission sets?