aws loginとCDK, Terraformの認証

aws loginの認証方法がCDKやTerraformで使えるか試してみた

2025/11/19に、aws loginの認証方法に、ブラウザを開いてログインする方法が加わりました。
参考: Simplified developer access to AWS with ‘aws login’ | AWS Security Blog

AWS CLI v2.32.0で入ったようです。

feature:credentials: Adds the aws login command, which allows you to use your AWS Management Console credentials for CLI and SDK authentication.

aws/aws-cli v2 CHANGELOG.rst#721

もしかしてCDKやTerraformもこの認証方法で動くのだろうか、と思って試してみました。
使用したバージョンは以下の通りです。

$ terraform --version
Terraform v1.14.5
on linux_amd64
$ pnpm exec cdk --version
2.1106.0 (build 114788d)

CDK

うまく認証されました。(aws login した後で手元から cdk deploy が通る)

調べると、AWS SDKに feat(credential-provider-login): add login credential provider by smilkuri · Pull Request #7512 · aws/aws-sdk-js-v3 で対応されたようです。sdkのリリースがこれ Release v3.936.0 · aws/aws-sdk-js-v3

AWS CDK CLIはこちらのissueコメントを見ると v2.1034.0 からのようでした。
確かに diff を見るとAWS SDKが3.893.0から3.948.0に上がっています。

Terraform

Terraformはうまく認証されませんでした。(aws login した後で手元から terraform plan が失敗する)

調べると Terraform v1.15.0 から入りそうな雰囲気で、対象のissueは S3 Backend: Support authentication via aws login · Issue #37976 · hashicorp/terraformのようです。

どうしたか

すぐにTerraformを使いたい、かつIAMユーザは使いたくなかったので、IAM Identity Centerを導入して aws sso login を使うことにしました。
こうするとCDKでもTerraformでもうまく行きました。

Editing history

Changelog

  • Initial draft

Contact: uta8a.net/contact