AWS CLI MFA-n keresztül

Ezután következik az AWS MFA beállítására és az AWS CLI telepítésére és konfigurálására vonatkozó útmutató.

Sajnos erre a kötelező eljárásra fél napom ment el. Hogy mások, akik nem biztosak az AWS használatában 😉, ne pazarolják el az értékes időt az alapvető dolgokra, úgy döntöttem, hogy összegzem az útmutatót.

Még a sandbox fiók esetén is a beállítás MFA általában kötelező követelmény. Nálunk ez így van.

MFA beállítása

  1. Telepítse kompatibilis mobilalkalmazás
  2. Lépjen be a AWS konzol
  3. My Security Credentials -> Assign MFA Device
    AWS CLI MFA-n keresztül
  4. Virtuális MFA eszköz
    AWS CLI MFA-n keresztül
  5. Kövesse a képernyőn megjelenő utasításokat
    AWS CLI MFA-n keresztül
    AWS CLI MFA-n keresztül
  6. A virtuális eszköz kész
    AWS CLI MFA-n keresztül

AWS CLI telepítése

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

Névre szóló profil beállítása

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

  1. My Security Credentials -> Create access key
    AWS CLI MFA-n keresztül
  2. Másolja a kulcsot a vágólapra. Szüksége lesz rá a következő lépésben.
  3. $ aws configure --profile

AWS CLI MFA-n keresztül

  1. Másolja a virtuális eszköz ARN-jét
    AWS CLI MFA-n keresztül
  2. aws sts get-session-token --profile --serial-number --token-code
    Az egyszer használatos jelszót a korábban beállított mobilalkalmazásból kell megszerezni.
  3. A parancs JSON-t ad vissza, amelynek egyes mezőit a következő AWS környezeti változókba kell beilleszteni: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Úgy döntöttem, hogy automatizálom a folyamatot a következő útján. ~/.bash_profile
A JSON elemzéséhez ez a szkript szükséges 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 '

Usage:

$ aws-login-dev

Remélem, hogy ez az útmutató segít elkerülni a hosszadalmas bolyongást a hivatalos dokumentációban 😉.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster