AWS CLI putem MFA

Sljedeće slijedi upute za postavljanje AWS MFA, te naknadnu instalaciju i konfiguraciju AWS CLI.

Nažalost, potrošio sam pola radnog dana na ovu obaveznu proceduru. Da drugi nesigurni korisnici AWS 😉 poput mene ne troše dragocjeno vrijeme na banalne stvari, odlučio sam sastaviti upute.

Čak i za sandbox račun, postavljanje MFA je obično obavezni zahtjev. Tako je kod nas.

Postavljanje MFA

  1. Instalirajte kompatibilnu mobilnu aplikaciju
  2. Idite na AWS konzolu
  3. Moji sigurnosni podaci -> 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. Moji sigurnosni podaci -> Kreiraj pristupni ključ
    AWS CLI putem MFA
  2. Kopirajte ključ u međuspremnik. Trebat će vam za sljedeći korak
  3. $ aws configure --profile

AWS CLI putem MFA

  1. Kopirajte ARN virtualnog uređaja
    AWS CLI putem MFA
  2. aws sts get-session-token --profile --serial-number --token-code
    Jednokratnu lozinku trebate uzeti iz mobilne aplikacije koju ste ranije postavili.
  3. Komanda će ispisati JSON, a pojedinačna polja trebate kopirati u odgovarajuće varijable okruženja AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Odlučio sam automatizirati kroz ~/ .bash_profile
Za obradu JSON-a ovaj skript 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 '

Upotreba:

$ aws-login-dev

Nadam se da će vam ove upute pomoći da izbjegnete besciljno lutanje po službenoj dokumentaciji 😉

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster