AWS CLI přes MFA

Následuje návod na nastavení AWS MFA a následnou instalaci a konfiguraci AWS CLI.

Bohužel mi tato povinná procedura zabrala polovinu pracovního dne. Aby ostatní nejistí uživatelé AWS 😉, jako jsem já sám, neztráceli cenný čas na banality, rozhodl jsem se sepsat návod.

I pro sandbox účet je nastavení MFA většinou povinný požadavek. U nás je to tak.

Nastavení MFA

  1. Nainstalujte podporovaná mobilní aplikace
  2. Přihlaste se do konzole AWS
  3. Mé bezpečnostní údaje -> Přiřadit zařízení MFA
    AWS CLI přes MFA
  4. Virtuální zařízení MFA
    AWS CLI přes MFA
  5. Postupujte podle pokynů na obrazovce
    AWS CLI přes MFA
    AWS CLI přes MFA
  6. Virtuální zařízení je připraveno
    AWS CLI přes MFA

Instalace AWS CLI

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

Nastavení pojmenovaného profilu

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

  1. Mé bezpečnostní údaje -> Vytvořit přístupový klíč
    AWS CLI přes MFA
  2. Zkopírujte klíč do clipboardu. Bude potřeba v dalším kroku.
  3. $ aws configure --profile

AWS CLI přes MFA

  1. Zkopírujte ARN virtuálního zařízení
    AWS CLI přes MFA
  2. aws sts get-session-token --profile --serial-number --token-code
    Jednorázové heslo je třeba získat z dříve nastavené mobilní aplikace.
  3. Příkaz zobrazí JSON, jednotlivé pole je třeba vložit do odpovídajících proměnných prostředí AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Rozhodl jsem se to automatizovat přes ~/bash_profile
Pro analýzu 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žití:

$ aws-login-dev

Doufám, že tento návod vám pomůže vyhnout se zdlouhavému bloudění v oficiální dokumentaci 😉.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster