AWS CLI via MFA

Viennent ensuite les instructions pour la configuration d'AWS MFA, puis l'installation et la configuration de l'AWS CLI.

Malheureusement, cette procédure obligatoire m'a pris la moitié de ma journée de travail. Pour que d'autres utilisateurs AWS non sécurisés 😉, comme moi, ne perdent pas un temps précieux en trivial, j'ai décidé de compiler des instructions.

Même pour la configuration du compte sandbox MFA Il s'agit généralement d'une exigence obligatoire. C’est comme ça chez nous.

Configuration de l'AMF

  1. Fixer application mobile compatible
  2. Aller à Console AWS
  3. Mes informations de sécurité -> Attribuer un périphérique MFA
    AWS CLI via MFA
  4. Périphérique MFA virtuel
    AWS CLI via MFA
  5. Suivez les instructions à l'écran
    AWS CLI via MFA
    AWS CLI via MFA
  6. L'appareil virtuel est prêt
    AWS CLI via MFA

Installation de l'AWS CLI

https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

Configuration d'un profil nommé

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

  1. Mes informations de sécurité -> Créer une clé d'accès
    AWS CLI via MFA
  2. Copiez la clé dans votre presse-papiers. Vous en aurez besoin à l'étape suivante
  3. $ aws configure --profile <your profile name>

AWS CLI via MFA

  1. Copiez l'ARN du périphérique virtuel
    AWS CLI via MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Le mot de passe à usage unique doit être extrait de l'application mobile configurée précédemment.
  3. La commande produira du JSON, dont les champs individuels doivent être remplacés dans les variables d'environnement correspondantes AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

J'ai décidé d'automatiser ~/.bash_profile
Pour analyser JSON, ce script nécessite jq.

#!/usr/bin/env bash

aws_login() {
    session=$(aws sts get-session-token "$@")
    echo "${session}"
    AWS_ACCESS_KEY_ID=$(echo "${session}" | jq -r '.Credentials.AccessKeyId')
    export AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY=$(echo "${session}" | jq -r '.Credentials.SecretAccessKey')
    export AWS_SECRET_ACCESS_KEY
    AWS_SESSION_TOKEN=$(echo "${session}" | jq -r '.Credentials.SessionToken')
    export AWS_SESSION_TOKEN
}

alias aws-login-dev='aws_login --profile <имя dev профиля> --serial-number <ARN виртуального устройства> --token-code '
alias aws-login-prod='aws_login --profile <имя prod профиля> --serial-number <ARN виртуального устройства> --token-code '

Использование:

$ aws-login-dev <одноразовый пароль>

J'espère que cette instruction vous aidera à éviter de longues errances dans la documentation officielle 😉

Source: habr.com

Ajouter un commentaire