IAMユーザのARN
とMFAデバイストークン
を用意してワンタイムセッションを確立して作業する
sh
eval `aws sts get-session-token --serial-number {IAMユーザのARN} --token-code {MFAデバイストークン} | awk ' $1 == "\"AccessKeyId\":" { gsub(/\"/,""); gsub(/,/,""); print "export AWS_ACCESS_KEY_ID="$2 } $1 == "\"SecretAccessKey\":" { gsub(/\"/,""); gsub(/,/,""); print "export AWS_SECRET_ACCESS_KEY="$2} $1 == "\"SessionToken\":" { gsub(/\"/,""); gsub(/,/,""); print "export AWS_SESSION_TOKEN="$2 } '`
付録
- AWS Security Token Service(STS)を使用して、IAMユーザのMFAデバイストークンから一時的な認証情報(Temporary Security Credentials)を取得する
- 有効期限はデフォルト12時間
sh
aws sts get-session-token --serial-number <IAMユーザのARN> --token-code <MFAデバイストークン>
# 結果
{
"Credentials": {
"SecretAccessKey": "secret-access-key",
"SessionToken": "temporary-session-token",
"Expiration": "expiration-date-time",
"AccessKeyId": "access-key-id"
}
}
認証情報を環境変数にセットする
sh
export AWS_ACCESS_KEY_ID={AccessKeyId}
export AWS_SECRET_ACCESS_KEY={SecretAccessKey}
export AWS_SESSION_TOKEN={SessionToken}