Deseo obtener credenciales temporales para un usuario de AWS IAM Identity Center (sucesor de AWS Single Sign-On).
Descripción breve
Configurar un perfil con nombre para utilizar IAM Identity Center crea un archivo JSON en el directorio $ cd ~/.aws/sso/cache. El archivo JSON contiene un token web JSON (JWT) utilizado para obtener las credenciales de seguridad temporales con la llamada a la API get-role-credentials. El token de acceso es válido durante 8 horas, como se indica en la marca de tiempo expiresAt del archivo JSON. Los tokens caducados deben volver a autenticarse mediante la llamada a la API get-role-credentials.
Resolución
Puede utilizar la interfaz de la línea de comandos de AWS (AWS CLI) para obtener las credenciales temporales de un usuario del IAM Identity Center.
Nota: Si recibe errores al ejecutar los comandos de la AWS CLI,asegúrese de utilizar la versión más reciente de la AWS CLI.
Abra el archivo JSON y copie el token de acceso:
$ cat 535a8450b05870c9045c8a7b95870.json
{"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….”, "expiresAt": "2020-06-17T10:02:08UTC"}
Ejecute el comando de la AWS CLI get-role-credentials para obtener las credenciales del usuario de IAM Identity Center de forma similar a la siguiente:
$ 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>
Ejemplo de resultado:
{
"roleCredentials": {
"accessKeyId": "ASIA*************”,
"secretAccessKey": “**********************************”,
"sessionToken": “****************************************”,
"expiration": 1592362463000
}
}
A continuación, siga las instrucciones para configurar las credenciales como variables de entorno.
Información relacionada
¿Cómo utilizo los conjuntos de permisos de IAM Identity Center?