書いたと言っても書いたのは3ヶ月近く前でした.リリース告知をしていないことに気づき,本記事にしている次第です。
何をやるツールかというと,以下の記事に書かれていることをいい感じにやるツールでして,
1. Userの accessKeyID
, secretAccessKey
および mfaSerial (MFA device ARN)
を使って、STSのセッショントークンを取ってくる (これらの情報は初回実行時に設定可能で,rcファイルに保存される)
2. 取ってきたセッショントークンをAWSのcredfentialsファイルに適用する (適用せずにトークンだけ取ってくることもできる)
というような動きをします.自動でcredentialsファイルを変更するというのがキーポイントですね.AWSのcredentialsファイルは通常のiniファイルと同等に扱えるので楽です.
こんな感じで sesstok 123456
のような感じでOTP codeを食わせてやるとSTS API経由でセッショントークンが得られて……
AWSのcredentialsファイルがそのセッショントークンに基づいて自動的に変更されるというような感じです.
あとはこのトークンを用いてお好きなようにどやこやするとよいでしょう.
UserがMFAを使っている環境で、なおかつそのUserを特定のRoleにAssume RoleしてAWSを利用するというシチュエーションの時 *1 にいちいちSTSのAPIを叩いてcredentialsを適用して……というのがだいぶダルかったためこのようなツールを書いたという経緯です *2.
どうぞご利用ください.
*1:つまりUserに対して直接access tokenを紐付けないという運用
*2:その用途についての記述: https://github.com/moznion/sesstok#to-assume-role-for-another-role