AWS CLI prek MFA

Sledijo navodila za nastavitev AWS MFA ter nato namestitev in konfiguracijo AWS CLI.

Žal mi je ta obvezni postopek vzel polovico delovnega dne. Da drugi negotovi uporabniki AWS 😉, kot sem jaz, ne izgubljajo dragocenega časa z nepomembnimi stvarmi, sem se odločil sestaviti navodila.

Tudi za nastavitev računa peskovnika MZZ To je običajno obvezna zahteva. Tako je pri nas.

Nastavitev MFA

  1. Set združljiva mobilna aplikacija
  2. Pojdi do AWS konzola
  3. Moje varnostne poverilnice -> Dodeli MFA napravo
    AWS CLI prek MFA
  4. Virtualna MFA naprava
    AWS CLI prek MFA
  5. Sledite navodilom na zaslonu
    AWS CLI prek MFA
    AWS CLI prek MFA
  6. Virtualna naprava je pripravljena
    AWS CLI prek MFA

Namestitev AWS CLI

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

Nastavitev imenovanega profila

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

  1. Moje varnostne poverilnice -> Ustvari ključ za dostop
    AWS CLI prek MFA
  2. Kopirajte ključ v odložišče. Potrebovali ga boste v naslednjem koraku
  3. $ aws configure --profile <your profile name>

AWS CLI prek MFA

  1. Kopirajte virtualno napravo ARN
    AWS CLI prek MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Enkratno geslo morate vzeti iz predhodno konfigurirane mobilne aplikacije.
  3. Ukaz bo izpisal JSON, katerega posamezna polja je treba nadomestiti z ustreznimi spremenljivkami okolja AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN

Odločil sem se za avtomatizacijo ~/.bash_profile
Za razčlenitev JSON ta skript zahteva 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 <одноразовый пароль>

Upam, da vam bo to navodilo pomagalo, da se izognete dolgotrajnemu tavanju po uradni dokumentaciji 😉

Vir: www.habr.com

Dodaj komentar