AWS CLI atravè MFA

Apre sa, ap gen enstriksyon pou mete kanpe AWS MFA, ak Lè sa a, enstale ak konfigirasyon AWS CLI.

Malerezman, pwosedi obligatwa sa a te pran mwatye nan jounen travay mwen an. Pou ke lòt itilizatè AWS ensekirite 😉, tankou mwen menm, pa gaspiye tan presye sou trivial la, mwen deside konpile enstriksyon yo.

Menm pou anviwònman kont sandbox MFA Sa a se nòmalman yon kondisyon obligatwa. Men ki jan sa ye avèk nou.

Mete kanpe MFA

  1. Mete aplikasyon mobil konpatib
  2. Ale nan AWS konsole
  3. Kredansyèl Sekirite mwen yo -> Bay Aparèy MFA
    AWS CLI atravè MFA
  4. Aparèy MFA vityèl
    AWS CLI atravè MFA
  5. Swiv enstriksyon yo sou ekran an
    AWS CLI atravè MFA
    AWS CLI atravè MFA
  6. Aparèy vityèl pare
    AWS CLI atravè MFA

Enstale AWS CLI

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

Mete kanpe yon pwofil non

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

  1. Kredansyèl Sekirite mwen yo -> Kreye kle aksè
    AWS CLI atravè MFA
  2. Kopi kle a nan clipboard ou. Ou pral bezwen li nan pwochen etap la
  3. $ aws configure --profile <your profile name>

AWS CLI atravè MFA

  1. Kopi aparèy vityèl ARN la
    AWS CLI atravè MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Ou dwe pran yon sèl modpas la nan aplikasyon mobil ki te konfigire pi bonè.
  3. Kòmandman an pral bay JSON, jaden endividyèl yo dwe ranplase nan varyab anviwònman ki koresponn AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Mwen deside otomatize atravè ~/.bash_profile
Pou analize JSON, script sa a mande 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 '

Itilizasyon:

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

Mwen espere ke ansèyman sa a pral ede w evite pwonmennen long nan dokiman ofisyèl yo 😉

Sous: www.habr.com

Add nouvo kòmantè