方法

AWSCLIで取得してjqで加工して保存する。
コマンドの実行はすべてコマンドプロンプトで実行するよう。 結果はそれぞれのシェルに貼り付ける。

exportなし

実行

cmd
aws sts get-session-token --duration-seconds 3600 | jq -r ".Credentials | .[\"AWS_ACCESS_KEY_ID\"]=.AccessKeyId | .[\"AWS_SECRET_ACCESS_KEY\"]=.SecretAccessKey | .[\"AWS_SESSION_TOKEN\"]=.SessionToken | del(.AccessKeyId,.SecretAccessKey,.SessionToken,.Expiration) | to_entries[] | \"\(.key)=\(.value)\""

結果

cmd
AWS_ACCESS_KEY_ID=XXXX
AWS_SECRET_ACCESS_KEY=YYYY
AWS_SESSION_TOKEN=ZZZZ

Shell用

実行

cmd(export)
aws sts get-session-token --duration-seconds 3600 | jq -r ".Credentials | .[\"export AWS_ACCESS_KEY_ID\"]=.AccessKeyId | .[\"export AWS_SECRET_ACCESS_KEY\"]=.SecretAccessKey | .[\"export AWS_SESSION_TOKEN\"]=.SessionToken | del(.AccessKeyId,.SecretAccessKey,.SessionToken,.Expiration) | to_entries[] | \"\(.key)=\(.value)\""

結果

console
export AWS_ACCESS_KEY_ID=XXXX
export AWS_SECRET_ACCESS_KEY=YYYY
export AWS_SESSION_TOKEN=ZZZZ

コマンドプロンプト

実行

cmd(set)
aws sts get-session-token --duration-seconds 3600 | jq -r ".Credentials | .[\"set AWS_ACCESS_KEY_ID\"]=.AccessKeyId | .[\"set AWS_SECRET_ACCESS_KEY\"]=.SecretAccessKey | .[\"set AWS_SESSION_TOKEN\"]=.SessionToken | del(.AccessKeyId,.SecretAccessKey,.SessionToken,.Expiration) | to_entries[] | \"\(.key)=\(.value)\""

結果

console
set AWS_ACCESS_KEY_ID=XXXX
set AWS_SECRET_ACCESS_KEY=YYYY
set AWS_SESSION_TOKEN=ZZZZ

PowerShell

実行

cmd(ps)
aws sts get-session-token --duration-seconds 3600 | jq -r ".Credentials | .[\"$Env:AWS_ACCESS_KEY_ID\"]=.AccessKeyId | .[\"$Env:AWS_SECRET_ACCESS_KEY\"]=.SecretAccessKey | .[\"$Env:AWS_SESSION_TOKEN\"]=.SessionToken | del(.AccessKeyId,.SecretAccessKey,.SessionToken,.Expiration) | to_entries[] | \"\(.key)=\\\"\(.value)\\\"\""

結果

console
$Env:AWS_ACCESS_KEY_ID="XXXX"
$Env:AWS_SECRET_ACCESS_KEY="YYYY"
$Env:AWS_SESSION_TOKEN="ZZZZ"