AWS CLI per MFA

Toliau bus pateiktos instrukcijos, kaip nustatyti AWS MFA, tada įdiegti ir konfigūruoti AWS CLI.

Deja, ši privaloma procedūra užtrukau pusę mano darbo dienos. Kad kiti nesaugūs AWS vartotojai 😉, kaip ir aš, nešvaistytų brangaus laiko smulkmenoms, nusprendžiau surašyti instrukcijas.

Net smėlio dėžės paskyros nustatymui URM Paprastai tai yra privalomas reikalavimas. Taip yra pas mus.

MFA nustatymas

  1. Nustatyti suderinama mobilioji programėlė
  2. Eiti į AWS konsolė
  3. Mano saugos kredencialai -> Priskirti MFA įrenginį
    AWS CLI per MFA
  4. Virtualus MFA įrenginys
    AWS CLI per MFA
  5. Vykdykite ekrane pateikiamas instrukcijas
    AWS CLI per MFA
    AWS CLI per MFA
  6. Virtualus įrenginys paruoštas
    AWS CLI per MFA

AWS CLI diegimas

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

Vardinio profilio nustatymas

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

  1. Mano saugos kredencialai -> Sukurti prieigos raktą
    AWS CLI per MFA
  2. Nukopijuokite raktą į mainų sritį. Jums to prireiks kitame žingsnyje
  3. $ aws configure --profile <your profile name>

AWS CLI per MFA

  1. Nukopijuokite virtualų įrenginį ARN
    AWS CLI per MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Vienkartinį slaptažodį reikia paimti iš anksčiau sukonfigūruotos mobiliosios programos.
  3. Komanda išves JSON, kurio atskiri laukai turi būti pakeisti į atitinkamus aplinkos kintamuosius AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Nusprendžiau automatizuoti ~/.bash_profile
Norint išanalizuoti JSON, šis scenarijus reikalauja 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 '

Использование:

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

Tikiuosi, kad ši instrukcija padės išvengti ilgų klajonių per oficialią dokumentaciją 😉

Šaltinis: www.habr.com

Добавить комментарий