AWS CLI putem MFA

Sljedeće će biti upute za postavljanje AWS MFA, a zatim instaliranje i konfiguriranje AWS CLI.

Nažalost, ova obavezna procedura mi je oduzela pola radnog dana. Kako drugi nesigurni korisnici AWS-a 😉, poput mene, ne bi gubili dragocjeno vrijeme na trivijalno, odlučio sam sastaviti upute.

Čak i za postavke računa sandboxa MVP Ovo je obično obavezan uvjet. Kod nas je tako.

Postavljanje MFA

  1. Postaviti kompatibilna mobilna aplikacija
  2. Idi na AWS konzola
  3. Moje sigurnosne vjerodajnice -> Dodijeli MFA uređaj
    AWS CLI putem MFA
  4. Virtualni MFA uređaj
    AWS CLI putem MFA
  5. Slijedite upute na ekranu
    AWS CLI putem MFA
    AWS CLI putem MFA
  6. Virtualni uređaj je spreman
    AWS CLI putem MFA

Instalacija AWS CLI

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

Postavljanje imenovanog profila

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

  1. Moje sigurnosne vjerodajnice -> Stvori pristupni ključ
    AWS CLI putem MFA
  2. Kopirajte ključ u međuspremnik. Trebat će vam u sljedećem koraku
  3. $ aws configure --profile <your profile name>

AWS CLI putem MFA

  1. Kopirajte ARN virtualnog uređaja
    AWS CLI putem MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Jednokratnu lozinku potrebno je preuzeti iz ranije konfigurirane mobilne aplikacije.
  3. Naredba će ispisati JSON, čija se pojedinačna polja moraju zamijeniti u odgovarajuće varijable okruženja AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Odlučio sam se automatizirati ~/.bash_profile
Za raščlanjivanje JSON-a ova skripta zahtijeva 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 <одноразовый пароль>

Nadam se da će vam ova uputa pomoći da izbjegnete dugotrajno lutanje službenom dokumentacijom 😉

Izvor: www.habr.com

Dodajte komentar