AWS CLI via MFA

Neste vil være instruksjoner for å sette opp AWS MFA, og deretter installere og konfigurere AWS CLI.

Dessverre tok denne obligatoriske prosedyren meg halvparten av arbeidsdagen min. For at andre usikre AWS-brukere 😉, som meg selv, ikke skal kaste bort dyrebar tid på det trivielle, bestemte jeg meg for å kompilere instruksjoner.

Selv for sandkassekontoinnstilling MFA Dette er vanligvis et obligatorisk krav. Slik er det med oss.

Sette opp MFA

  1. Satt kompatibel mobilapp
  2. Gå til AWS-konsoll
  3. Min sikkerhetsinformasjon -> Tilordne MFA-enhet
    AWS CLI via MFA
  4. Virtuell MFA-enhet
    AWS CLI via MFA
  5. Følg instruksjonene på skjermen
    AWS CLI via MFA
    AWS CLI via MFA
  6. Den virtuelle enheten er klar
    AWS CLI via MFA

Installerer AWS CLI

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

Sette opp en navngitt profil

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

  1. Min sikkerhetsinformasjon -> Opprett tilgangsnøkkel
    AWS CLI via MFA
  2. Kopier nøkkelen til utklippstavlen. Du trenger det i neste trinn
  3. $ aws configure --profile <your profile name>

AWS CLI via MFA

  1. Kopier den virtuelle enheten ARN
    AWS CLI via MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Engangspassordet må hentes fra mobilapplikasjonen som er konfigurert tidligere.
  3. Kommandoen vil gi ut JSON, hvis individuelle felt må erstattes med de tilsvarende miljøvariablene AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Jeg bestemte meg for å automatisere gjennom ~/.bash_profile
For å analysere JSON krever dette skriptet 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 <одноразовый пароль>

Jeg håper denne instruksjonen vil hjelpe deg å unngå lange vandringer gjennom den offisielle dokumentasjonen 😉

Kilde: www.habr.com

Legg til en kommentar