Jeton de sécurité aws cli
Obtention et utilisation de jetons de session avec MFA dans l’AWS CLI
La sécurisation de votre utilisateur AWS IAM avec l’authentification multifacteur (MFA) est une bonne idée. Cependant, lorsque vous travaillez sur l’interface de ligne de commande (CLI), la nécessité de saisir des codes de jeton modifiés crée une certaine surcharge. Cet article montre comment utiliser MFA dans l’interface de ligne de commande.
Cette documentation montre comment activer l’authentification multifacteur. Avec ces paramètres, les connexions à la console Web via le navigateur ne fonctionneront qu’avec un code de votre appareil MFA.
Pour obliger également les utilisateurs IAM à entrer un code de jeton MFA lors de l’utilisation de l’interface de ligne de commande, définissez la stratégie IAM comme indiqué ici.
Avec cette configuration, toute commande donnée à l’AWS CLI échouera sans un code de jeton approprié :
Voici comment obtenir un jeton et l’utiliser dans chaque requête. Ce processus est également montré ici sur YouTube.
Tout d’abord, trouvez le nom de la ressource Amazon (ARN) de votre appareil MFA. Accédez à la table des utilisateurs dans le service IAM et sélectionnez votre utilisateur. L’onglet « Informations d’identification de sécurité » affiche l’ARN dans « Périphérique MFA attribué ».
Avec cela, un jeton peut être demandé au service de jeton de sécurité (STS), à l’aide de l’un des codes de votre appareil MFA :
Pour effectuer les commandes suivantes dans l’AWS CLI, utilisez ce jeton, il peut être exporté dans les variables d’environnement comme ceci :
Voici un bon article sur les variables d’environnement sous Linux.
Une requête faite pendant la durée de vie de ce jeton va maintenant réussir :
pour faciliter le processus démontré ci-dessus, j’ai écrit deux scripts.
Le premier script, aws-unset-mfa-access-token.sh, supprime les trois variables de l’environnement :
le second script, aws-set-mfa-access-token.sh, demande nouvelles informations d’identification du STS comme indiqué ci-dessus et les définit dans les variables d’environnement :
Les deux scripts sont livrés avec une page d’aide et une certaine convivialité telle que la validation des entrées et la sortie informative. Ils peuvent être téléchargés dans ce référentiel GitHub.
Remarque : AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY et AWS_SESSION_TOKEN peuvent également être ajoutés au fichier d’informations d’identification stocké dans le dossier .aws. Cependant, Amazon recommande d’utiliser les variables d’environnement. En outre, il n’existe pas de moyen simple d’ajouter les valeurs au fichier d’informations d’identification via l’interface de ligne de commande AWS.
(Image : domaine public, https://pxhere.com/en/photo/730639)