AWS CLI via MFA

image



Ceci est suivi d'instructions sur la façon de configurer AWS MFA, puis d'installer et de configurer AWS CLI.



Malheureusement, cette procédure obligatoire m'a pris une demi-journée. Pour que les autres utilisateurs AWS peu sûrs;), comme moi, ne perdent pas de temps précieux en trivial, j'ai décidé de rédiger une consigne.



Même pour un compte sandbox, la configuration de l' authentification multifacteur est généralement une exigence obligatoire. C'est comme ça avec nous.



Configurer MFA



  1. Installez une application mobile compatible
  2. Accédez à AWS Console
  3. Mes informations d'identification de sécurité -> Attribuer un périphérique MFA

  4. Virtual MFA Device









AWS CLI



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





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



  1. My Security Credentials -> Create access key

  2. .
  3. $ aws configure --profile <your profile name>


AWS CLI MFA



  1. ARN

  2. aws sts get-session-token --profile < > --serial-number <ARN > --token-code < >

    .
  3. JSON, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN


~/.bash_profile

JSON 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;)




All Articles