🐙
MFA が必要な AWS CLI でのスイッチロール(自分用備忘)
実行環境
- Windows11
- WSL
Windows11 に WSL をインストールし AWS CLI を導入するまでの手順は以下参照
設定
~/.aws/credentials
# スイッチ元AWSアカウント
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
~/.aws/config
# スイッチ元AWSアカウント
[default]
region = ap-northeast-1
output = json
# スイッチ先AWSアカウント IAM ロール:kitani.emi
[profile kitani.emi]
role_arn = arn:aws:iam::スイッチ先AWSアカウントID:role/kitani.emi
source_profile = default
## スイッチ元のアカウントの MFA デバイス
mfa_serial = arn:aws:iam::スイッチ元AWSアカウントID:mfa/kitani.emi
スイッチ
emiki@hostname:~$ aws sts get-caller-identity --profile kitani.emi
Enter MFA code for arn:aws:iam::スイッチ元AWSアカウントID:mfa/kitani.emi: # ここで MFA コード 6 桁を入力(表示されない)
{
"UserId": "AROA45YZHQXPSRRI6IZHG:botocore-session-1713366364",
"Account": "スイッチ先AWSアカウントID",
"Arn": "arn:aws:sts::スイッチ先AWSアカウントID:assumed-role/kitani.emi/botocore-session-1713366364"
}
emiki@hostname:~$
1 時間は MFA コード入力無しで接続できる
emiki@hostname:~$ aws sts get-caller-identity --profile kitani.emi
{
"UserId": "AROA45YZHQXPSRRI6IZHG:botocore-session-1713366364",
"Account": "スイッチ先AWSアカウントID",
"Arn": "arn:aws:sts::スイッチ先AWSアカウントID:assumed-role/kitani.emi/botocore-session-1713366364"
}
emiki@hostname:~$
Discussion