次に、AWS MFA をセットアップし、次に AWS CLI をインストールして設定する手順について説明します。
残念ながら、この必須の手順に勤務日の半分を費やしてしまいました。 私と同じように、他の安全性の低い AWS ユーザー 😉 が些細なことで貴重な時間を無駄にしないように、手順をまとめることにしました。
サンドボックスアカウント設定でも
MFA のセットアップ
- セット
互換性のあるモバイルアプリ - に行く
AWSコンソール 私のセキュリティ認証情報 -> MFA デバイスの割り当て
- 仮想MFAデバイス
- 画面の指示に従ってください
- 仮想デバイスの準備ができました
AWS CLI のインストール
名前付きプロファイルのセットアップ
私のセキュリティ認証情報 -> アクセスキーの作成
- キーをクリップボードにコピーします。 次のステップで必要になります
$ aws configure --profile <your profile name>
MFA 経由の AWS CLI
- 仮想デバイス ARN をコピーする
aws sts get-session-token --profile <имя профиля> --serial-number <ARN виртуального устройства> --token-code <одноразовый пароль>
ワンタイム パスワードは、前に設定したモバイル アプリケーションから取得する必要があります。- このコマンドは JSON を出力します。JSON の個々のフィールドは、対応する環境変数 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN に置き換える必要があります。
自動化することにしました ~/.bash_profile
JSON を解析するには、このスクリプトには次のものが必要です
#!/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