AWS CLI über MFA

Als Nächstes finden Sie Anweisungen zum Einrichten von AWS MFA und zum anschließenden Installieren und Konfigurieren von AWS CLI.

Leider hat mich dieser obligatorische Eingriff die Hälfte meines Arbeitstages gekostet. Damit andere unsichere AWS-Benutzer 😉 wie ich keine wertvolle Zeit mit Trivialitäten verschwenden, habe ich beschlossen, Anweisungen zusammenzustellen.

Sogar für die Sandbox-Kontoeinstellung MFA Dies ist in der Regel eine zwingende Anforderung. So ist es bei uns.

MFA einrichten

  1. Setzen kompatible mobile App
  2. Gehen Sie zu AWS-Konsole
  3. Meine Sicherheitsdaten -> MFA-Gerät zuweisen
    AWS CLI über MFA
  4. Virtuelles MFA-Gerät
    AWS CLI über MFA
  5. Folgen Sie den Anweisungen auf dem Bildschirm
    AWS CLI über MFA
    AWS CLI über MFA
  6. Das virtuelle Gerät ist bereit
    AWS CLI über MFA

Installieren von AWS CLI

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

Einrichten eines benannten Profils

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

  1. Meine Sicherheitsdaten -> Zugangsschlüssel erstellen
    AWS CLI über MFA
  2. Kopieren Sie den Schlüssel in Ihre Zwischenablage. Sie benötigen es im nächsten Schritt
  3. $ aws configure --profile <your profile name>

AWS CLI über MFA

  1. Kopieren Sie den ARN des virtuellen Geräts
    AWS CLI über MFA
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    Das Einmalpasswort muss der zuvor konfigurierten mobilen Anwendung entnommen werden.
  3. Der Befehl gibt JSON aus, dessen einzelne Felder in die entsprechenden Umgebungsvariablen AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN eingesetzt werden müssen

Ich habe mich für die Automatisierung entschieden ~/.bash_profile
Zum Parsen von JSON ist dieses Skript erforderlich 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 <одноразовый пароль>

Ich hoffe, dass diese Anleitung Ihnen dabei hilft, langes Umherschweifen in der offiziellen Dokumentation zu vermeiden 😉

Source: habr.com

Kommentar hinzufügen