AWS CLI cez MFA

Nasleduje návod na nastavenie AWS MFA a následnú inštaláciu a konfiguráciu AWS CLI.

Bohužiaľ, túto povinnú procedúru som musel absolvovať počas polovice pracovného dňa. Aby ostatní neistší používateľia AWS 😉 ako ja neplytvali drahocenným časom na banálne, rozhodol som sa pripraviť návod.

Aj pre sandbox účet je nastavenie MFA — to je zvyčajne povinná požiadavka. U nás to tak je.

Nastavenie MFA

  1. Nainštalujte kompatibilná mobilná aplikácia
  2. Prejdite na AWS konzolu
  3. Moje bezpečnostné prihlasovacie údaje -> 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é prihlasovacie údaje -> Vytvoriť prístupový kľúč
    AWS CLI cez MFA
  2. Skopírujte kľúč do schránky. Bude potrebný v nasledujúcom kroku.
  3. $ aws configure --profile

AWS CLI cez MFA

  1. Skopírujte ARN virtuálneho zariadenia
    AWS CLI cez MFA
  2. aws sts get-session-token --profile --serial-number --token-code
    Jednorázový kód si treba zobrať z mobilnej aplikácie, ktorú ste nastavili predtým.
  3. Príkaz vráti JSON, jednotlivé polia ktorého je potrebné vložiť do príslušných premenných prostredia AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Rozhodol som sa to automatizovať pomocou ~/ .bash_profile
Na spracovanie 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 tento návod vám pomôže vyhnúť sa zložitým blúdeniam v oficiálnej dokumentácii 😉

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster