Hier volgt een instructie voor het instellen van AWS MFA en de daaropvolgende installatie en configuratie van AWS CLI.
Helaas heeft deze verplichte procedure mij de helft van mijn werkdag gekost. Om andere onzekere AWS-gebruikers 😉 zoals ik zelf, niet waardevolle tijd te laten verspillen aan het triviale, besloot ik een instructie op te stellen.
Zelfs voor een sandbox-account is de configuratie dit is doorgaans een verplichte eis. Bij ons is dat zo.
Configuratie van MFA
- Installeer
- Ga naar
- -> MFA-apparaat toewijzen

- Virtueel MFA-apparaat

- Volg de instructies op het scherm


- Het virtuele apparaat is klaar

Installatie van AWS CLI
Configuratie van een benoemd profiel
- -> Toegangssleutel aanmaken

- Kopieer de sleutel naar het klembord. Deze is nodig in de volgende stap.
$ aws configure --profile <je profielnaam>
AWS CLI via MFA
- Kopieer de ARN van het virtuele apparaat

aws sts get-session-token --profile <profielnaam> --serial-number <ARN van het virtuele apparaat> --token-code <eengeldig wachtwoord>
Het eengeldig wachtwoord moet uit de eerder ingestelde mobiele applicatie worden gehaald.- De opdracht geeft JSON weer, waarbij afzonderlijke velden moeten worden ingevoerd in de overeenkomstige omgevingsvariabelen AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.
Ik heb besloten om te automatiseren via ~/.bash_profile
Voor het parsen van JSON vereist dit script .
#!/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 'Wanneer we een opmerking aan een commit schrijven (ongeacht welke tool we hiervoor gebruiken om met git te werken), kunnen we de naam van de taken in tekstvorm toevoegen (zonder aanhalingstekens of speciale symbolen zoals @).
$ aws-login-dev <eengeldig wachtwoord>Hopelijk helpt deze instructie je om tijdrovende zoektochten in de officiële documentatie te vermijden. 😉
Bron: habr.com







