AWS CLI via MFA

Nästa kommer instruktioner för att ställa in AWS MFA och sedan installera och konfigurera AWS CLI.

Tyvärr tog denna obligatoriska procedur mig hälften av min arbetsdag. För att andra osäkra AWS-användare 😉, som jag själv, inte ska slösa dyrbar tid på det triviala, bestämde jag mig för att sammanställa instruktioner.

Även för sandlådekontoinställning UD Detta är vanligtvis ett obligatoriskt krav. Så här är det hos oss.

Inrätta MFA

  1. Ställ kompatibel mobilapp
  2. Gå till AWS-konsol
  3. Mina säkerhetsuppgifter -> Tilldela MFA-enhet
    AWS CLI via MFA
  4. Virtuell MFA-enhet
    AWS CLI via MFA
  5. Följ instruktionerna på skärmen
    AWS CLI via MFA
    AWS CLI via MFA
  6. Den virtuella enheten är klar
    AWS CLI via MFA

Installerar AWS CLI

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

Skapa en namngiven profil

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

  1. Mina säkerhetsuppgifter -> Skapa åtkomstnyckel
    AWS CLI via MFA
  2. Kopiera nyckeln till ditt urklipp. Du kommer att behöva det i nästa steg
  3. $ aws configure --profile <your profile name>

AWS CLI via MFA

  1. Kopiera den virtuella enheten ARN
    AWS CLI via MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Engångslösenordet måste hämtas från mobilapplikationen som konfigurerats tidigare.
  3. Kommandot matar ut JSON, vars individuella fält måste ersättas med motsvarande miljövariabler AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Jag bestämde mig för att automatisera igenom ~/.bash_profile
För att tolka JSON kräver detta skript 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 <одноразовый пароль>

Jag hoppas att denna instruktion hjälper dig att undvika långa vandringar genom den officiella dokumentationen 😉

Källa: will.com

Lägg en kommentar