LoginSignup
3
2

More than 3 years have passed since last update.

aws sts get-session-tokenの結果をexportするためのワンライナー

Last updated at Posted at 2020-09-07

AWSやっているとよく出てくるこちらのSession TokenのExport。 aws sts get-session-token で取得すれば良いのですが毎度微妙に面倒でした。

export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=

Shellとかで実装されているのも見つけましたが、自分の好みでワンライナーにしました。

Qiitaの機能でコピーボタン押して使うと便利です。
image.png

出力して、別のターミナルに貼り付けたい時は、出力してコピペ。

aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}'

自身のセッションで使う時にはevalすれば環境変数として読み込んでくれます。

eval $(aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}')

WSLなら最後に clip.exe を使ってクリップボードにCOPYしても便利です。

aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}' | clip.exe
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2