Je souhaite obtenir des informations d’identification temporaires pour un utilisateur d’AWS IAM Identity Center.
Brève description
Lorsque vous configurez un profil nommé pour utiliser IAM Identity Center, un fichier JSON est créé dans le répertoire $ cd ~/.aws/sso/cache. Le fichier JSON contient un jeton Web JSON (JWT) qui permet d’obtenir les informations d’identification de sécurité temporaires à l’aide de la commande équivalente à l’API get-role-credentials. Le jeton d’accès est valide pendant 8 heures. L’heure d’expiration est visible dans l’horodatage ExpireSat du fichier JSON. Vous devez utiliser la commande get-role-credentials pour réauthentifier les jetons expirés.
Solution
Utilisez l’interface de ligne de commande AWS (AWS CLI) pour obtenir les informations d’identification temporaires d’un utilisateur d’IAM Identity Center.
**Remarque :**Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez l’article Résoudre les erreurs AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Obtention des informations d’identification temporaires
Voici les étapes à suivre dans l’interface de ligne de commande AWS CLI :
-
Ouvrez le fichier JSON, puis copiez le jeton d’accès :
$ cat 535a8450b05870c9045c8a7b95870.json
{"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….", "expiresAt": "2020-06-17T10:02:08UTC"}
-
Exécutez la commande get-role-credentials de l’interface de ligne de commande AWS CLI pour obtenir les informations d’identification de l’utilisateur 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
Exemple de sortie :
{ "roleCredentials": {
"accessKeyId": "ASIA*************",
"secretAccessKey": "**********************************",
"sessionToken": "****************************************",
"expiration": 1592362463000
}
}
-
Configurez les informations d’identification en tant que variables d’environnement.
Résolution des messages d’erreur
« Une erreur s’est produite (ForbiddenException) lors de l’appel de l’opération GetTroleCredentials : Pas d’accès ».
Cette erreur peut se produire si un nom de rôle est incorrect dans l’AWS CLI. Vérifiez que le nom du rôle est correct.
« Une erreur s’est produite (UnauthorizedException) lors de l’appel de l’opération GetTroleCredentials : Jeton de session introuvable ou non valide ».
Cette erreur se produit car le jeton de session ou la région AWS est incorrect. Vérifiez que la région dans la commande AWS CLI est la même que la région dans la sortie du fichier JSON.
Informations complémentaires
Comment utiliser les jeux d’autorisations IAM Identity Center ?