AWS CLI cez MFA

Ďalej budú pokyny na nastavenie AWS MFA a potom na inštaláciu a konfiguráciu AWS CLI.

Žiaľ, táto povinná procedúra mi zabrala polovicu pracovného dňa. Aby ostatní neistí používatelia AWS 😉, ako som ja, nestrácali drahocenný čas na triviálne veci, rozhodol som sa zostaviť návod.

Dokonca aj pre nastavenie účtu v karanténe MFA Toto je zvyčajne povinná požiadavka. Takto je to u nás.

Nastavenie MFA

  1. Sada kompatibilná mobilná aplikácia
  2. Choďte na Konzola AWS
  3. Moje bezpečnostné poverenia -> Priradiť zariadenie MFA
    AWS CLI cez MFA
  4. Virtuálne zariadenie MFA
    AWS CLI cez MFA
  5. Postupujte podľa pokynov na obrazovke
    AWS CLI cez MFA
    AWS CLI cez MFA
  6. Virtuálne zariadenie je pripravené
    AWS CLI cez MFA

Inštalácia AWS CLI

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

Nastavenie pomenovaného profilu

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

  1. Moje bezpečnostné poverenia -> Vytvoriť prístupový kľúč
    AWS CLI cez MFA
  2. Skopírujte kľúč do schránky. Budete ho potrebovať v ďalšom kroku
  3. $ aws configure --profile <your profile name>

AWS CLI cez MFA

  1. Skopírujte ARN virtuálneho zariadenia
    AWS CLI cez MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Jednorazové heslo je potrebné získať z mobilnej aplikácie nakonfigurovanej skôr.
  3. Príkaz vydá JSON, ktorého jednotlivé polia je potrebné nahradiť zodpovedajúcimi premennými prostredia AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Rozhodol som sa pre automatizáciu ~/.bash_profile
Ak chcete analyzovať JSON, tento skript vyžaduje 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 '

použitie:

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

Dúfam, že vám tento návod pomôže vyhnúť sa zdĺhavému blúdeniu oficiálnou dokumentáciou 😉

Zdroj: hab.com

Pridať komentár