AWS CLI MFA:n kautta

Seuraavassa on ohjeet AWS MFA:n määrittämiseen ja sitten AWS CLI:n asentamiseen ja määrittämiseen.

Valitettavasti tämä pakollinen toimenpide vei puolet työpäivästäni. Jotta muut epävarmat AWS-käyttäjät 😉, kuten minä, eivät tuhlaa arvokasta aikaa triviaaleihin, päätin koota ohjeet.

Jopa hiekkalaatikkotilin asetuksille UM Tämä on yleensä pakollinen vaatimus. Näin se on meillä.

MFA:n määrittäminen

  1. Asettaa yhteensopiva mobiilisovellus
  2. Siirry AWS konsoli
  3. Omat suojaustiedot -> Määritä MFA-laite
    AWS CLI MFA:n kautta
  4. Virtuaalinen MFA-laite
    AWS CLI MFA:n kautta
  5. Noudata näytön ohjeita
    AWS CLI MFA:n kautta
    AWS CLI MFA:n kautta
  6. Virtuaalinen laite on valmis
    AWS CLI MFA:n kautta

Asennetaan AWS CLI

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

Nimetyn profiilin määrittäminen

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

  1. Omat suojaustiedot -> Luo pääsyavain
    AWS CLI MFA:n kautta
  2. Kopioi avain leikepöydällesi. Tarvitset sitä seuraavassa vaiheessa
  3. $ aws configure --profile <your profile name>

AWS CLI MFA:n kautta

  1. Kopioi virtuaalilaite ARN
    AWS CLI MFA:n kautta
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Kertakäyttöinen salasana on otettava aiemmin määritetystä mobiilisovelluksesta.
  3. Komento tulostaa JSON-tiedoston, jonka yksittäiset kentät on korvattava vastaavilla ympäristömuuttujilla AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.

Päätin automatisoida ~/.bash_profile
Tämä skripti vaatii JSONin jäsentämiseen 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 <одноразовый пароль>

Toivottavasti tämä ohje auttaa sinua välttämään pitkiä seikkailuja virallisen dokumentaation läpi 😉

Lähde: will.com

Lisää kommentti