AWS CLI prin MFA

Următoarea este instrucțiunea pentru configurarea AWS MFA și instalarea și configurarea AWS CLI.

Din păcate, mi-a luat jumătate din ziua de lucru pentru această procedură obligatorie. Ca să nu pierd timp prețios pe ceva banal, am decis să elaborez o instrucțiune pentru utilizatorii AWS neexperimentati 😉, la fel ca mine.

Chiar și pentru un cont sandbox, configurația MFA este, de obicei, o cerință obligatorie. La noi este așa.

Configurarea MFA

  1. Instalați aplicație mobilă compatibilă
  2. Accesați Consola AWS
  3. My Security Credentials -> Assign MFA Device
    AWS CLI prin MFA
  4. Dispozitiv MFA virtual
    AWS CLI prin MFA
  5. Urmați instrucțiunile de pe ecran
    AWS CLI prin MFA
    AWS CLI prin MFA
  6. Dispozitivul virtual este gata
    AWS CLI prin MFA

Instalarea AWS CLI

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

Configurarea unui profil numit

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

  1. My Security Credentials -> Create access key
    AWS CLI prin MFA
  2. Copiați cheia în clipboard. Va fi necesară la pasul următor
  3. $ aws configure --profile

AWS CLI prin MFA

  1. Copiați ARN-ul dispozitivului virtual
    AWS CLI prin MFA
  2. aws sts get-session-token --profile --serial-number --token-code
    Parola unică trebuie preluată din aplicația mobilă configurată anterior.
  3. Comanda va returna JSON, iar câmpurile individuale trebuie introduse în variabilele de mediu AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Am decis să automatizez prin ~/.bash_profile
Pentru a analiza JSON, acest script necesită 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 '

Utilizare:

$ aws-login-dev

Sper că această instrucțiune vă va ajuta să evitați scrierea inutilă în documentația oficială 😉

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster