Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA

Następnie pojawią się instrukcje dotyczące konfigurowania AWS MFA, a następnie instalowania i konfigurowania AWS CLI.

Niestety ta obowiązkowa procedura zajęła mi połowę dnia pracy. Aby inni niepewni użytkownicy AWS 😉, tak jak ja, nie tracili cennego czasu na błahe sprawy, postanowiłem skompilować instrukcję.

Nawet w przypadku ustawień konta piaskownicy MSZ Zwykle jest to wymóg obowiązkowy. Tak właśnie jest u nas.

Konfigurowanie usługi MFA

  1. Zestaw kompatybilna aplikacja mobilna
  2. Idź do Konsola AWS-a
  3. Moje dane uwierzytelniające -> Przypisz urządzenie MFA
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA
  4. Wirtualne urządzenie MFA
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA
  5. Postępuj zgodnie z instrukcjami na ekranie
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA
  6. Urządzenie wirtualne jest gotowe
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA

Instalowanie interfejsu wiersza polecenia AWS

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

Konfigurowanie nazwanego profilu

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

  1. Moje dane uwierzytelniające -> Utwórz klucz dostępu
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA
  2. Skopiuj klucz do schowka. Będziesz go potrzebować w następnym kroku
  3. $ aws configure --profile <your profile name>

Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA

  1. Skopiuj urządzenie wirtualne ARN
    Interfejs wiersza polecenia AWS za pośrednictwem usługi MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Hasło jednorazowe należy pobrać z wcześniej skonfigurowanej aplikacji mobilnej.
  3. Polecenie wygeneruje kod JSON, którego poszczególne pola należy podstawić do odpowiednich zmiennych środowiskowych AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Postanowiłem zautomatyzować ~/.bash_profile
Aby przeanalizować JSON, ten skrypt wymaga 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 '

Użycie:

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

Mam nadzieję, że ta instrukcja pomoże Wam uniknąć długich wędrówek po oficjalnej dokumentacji 😉

Źródło: www.habr.com

Dodaj komentarz