MFA 経由の AWS CLI

次に、AWS MFA をセットアップし、次に AWS CLI をインストールして設定する手順について説明します。

残念ながら、この必須の手順に勤務日の半分を費やしてしまいました。 私と同じように、他の安全性の低い AWS ユーザー 😉 が些細なことで貴重な時間を無駄にしないように、手順をまとめることにしました。

サンドボックスアカウント設定でも MFA これは通常、必須の要件です。 これが私たちの場合です。

MFA のセットアップ

  1. セット 互換性のあるモバイルアプリ
  2. に行く AWSコンソール
  3. 私のセキュリティ認証情報 -> MFA デバイスの割り当て
    MFA 経由の AWS CLI
  4. 仮想MFAデバイス
    MFA 経由の AWS CLI
  5. 画面の指示に従ってください
    MFA 経由の AWS CLI
    MFA 経由の AWS CLI
  6. 仮想デバイスの準備ができました
    MFA 経由の AWS CLI

AWS CLI のインストール

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

名前付きプロファイルのセットアップ

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

  1. 私のセキュリティ認証情報 -> アクセスキーの作成
    MFA 経由の AWS CLI
  2. キーをクリップボードにコピーします。 次のステップで必要になります
  3. $ aws configure --profile <your profile name>

MFA 経由の AWS CLI

  1. 仮想デバイス ARN をコピーする
    MFA 経由の AWS CLI
  2. aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
    ワンタイム パスワードは、前に設定したモバイル アプリケーションから取得する必要があります。
  3. このコマンドは JSON を出力します。JSON の個々のフィールドは、対応する環境変数 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN に置き換える必要があります。

自動化することにしました ~/.bash_profile
JSON を解析するには、このスクリプトには次のものが必要です 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 <одноразовый пароль>

この手順が、公式ドキュメントを長い間さまようことを避けるのに役立つことを願っています 😉

出所: habr.com

コメントを追加します