AWS CLI via MFA

Dernæst vil være instruktioner til opsætning af AWS MFA og derefter installation og konfiguration af AWS CLI.

Desværre tog denne obligatoriske procedure mig halvdelen af ​​min arbejdsdag. For at andre usikre AWS-brugere 😉, ligesom jeg selv, ikke spilder kostbar tid på det trivielle, besluttede jeg at kompilere instruktioner.

Selv til indstilling af sandbox-konto MFA Dette er normalt et obligatorisk krav. Sådan er det hos os.

Opsætning af MFA

  1. Indstil kompatibel mobilapp
  2. Gå til AWS konsol
  3. Mine sikkerhedsoplysninger -> Tildel MFA-enhed
    AWS CLI via MFA
  4. Virtuel MFA-enhed
    AWS CLI via MFA
  5. Følg instruktionerne på skærmen
    AWS CLI via MFA
    AWS CLI via MFA
  6. Virtuel enhed er klar
    AWS CLI via MFA

Installation af AWS CLI

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

Opsætning af en navngivet profil

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

  1. Mine sikkerhedsoplysninger -> Opret adgangsnøgle
    AWS CLI via MFA
  2. Kopier nøglen til dit udklipsholder. Du får brug for det i næste trin
  3. $ aws configure --profile <your profile name>

AWS CLI via MFA

  1. Kopier den virtuelle enhed ARN
    AWS CLI via MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Engangsadgangskoden skal tages fra den tidligere konfigurerede mobilapplikation.
  3. Kommandoen udsender JSON, hvis individuelle felter skal erstattes med de tilsvarende miljøvariabler AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Jeg besluttede at automatisere igennem ~/.bash_profile
For at parse JSON kræver dette script 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åber, at denne instruktion vil hjælpe dig med at undgå lange vandreture gennem den officielle dokumentation 😉

Kilde: www.habr.com

Tilføj en kommentar