aws loginというCLIのコマンドが新しくAWS CLIに入っていた
さっそくクラスメソッドさんが試してみた記事を公開してくれていたので参考に自分も触ってみることにした
細かい設定についてはぜひ公式とクラスメソッドさんの記事を参照してみてほしい
AWS CLIの 新機能 aws login コマンドを試してみた | DevelopersIO
Simplified developer access to AWS with ‘aws login’ | AWS Security Blog
aws login後のクレデンシャル情報はaws/login/cache配下にjsonが置かれている
構造はこんな感じ
{
"accessToken": {
"accessKeyId": "***",
"secretAccessKey": "***",
"sessionToken": "***",
"accountId": "***",
"expiresAt": "***"
},
"tokenType": "***",
"clientId": "***",
"refreshToken": "***",
"idToken": "***",
"dpopKey": "***"
}
- terraformからこの形式のクレデンシャルを読み取るのはまだできない模様
aws login実行すると login/cacheディレクトリにファイルできてるのでこれがcredentialの変わりだと思うが、まだterraformがこれを読み込むのは無理っぽいな。
— katsuki nakatani (@KatsukiNakatani) 2025年11月20日
terraform待ちか。
ただ、ドキュメントを見ていて気付いたがこの設定をすればもしかしたらいける?
Login for AWS local development using console credentials - AWS Command Line Interface
[profile signin] login_session = arn:aws:iam::0123456789012:user/username region = us-east-1 [profile process] credential_process = aws configure export-credentials --profile signin --format process region = us-east-1
試しにローカルでs3バケットを参照するスクリプトを用意して試したところ正常に実行が完了したのでこの設定を入れればいまのところは大丈夫
- スイッチロールしてアカウントを切り替えている人はマルチセッションしておけば
aws loginでそのアカウントでログインして利用することができる- さらに
--profileを付与すればプロファイル毎にクレデンシャルの設定が可能 - Login for AWS local development using console credentials - AWS Command Line Interface
- さらに
アプリケーションや AWS のサービスにアクセスする必要がある人間のユーザーに対して、長期アクセスキーを作成しないでください。
アクセスキーの管理はほんとうにやりたくないし考えたくないのでとてもうれしいアップデートだった
See you next time:)