2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS CLIは通るのにCDKはダメ?SSO認証でハマったら読む記事

Posted at

はじめに

AWS CDK を使ってインフラをコードで管理している方で、cdk bootstrap 時に以下のような 認証エラー に遭遇したことはありませんか?


AuthenticationError: Need to perform AWS calls for account 875551125050, but no credentials have been configured

今回はこの問題にハマり、調査と試行錯誤を経て 最終的に環境変数の直接設定で解決した事例 を共有します。


問題の発生条件

以下のような環境下で問題が発生しました:

  • AWS SSO 認証を利用
    • プロファイル名:AdministratorAccess-875551125050
    • aws sso login → 成功、ブラウザでの認証もOK
    • aws sts get-caller-identity → 問題なし
  • AWS CLIでは正常動作
    • aws s3 ls などの操作はすべて成功
  • CDK のバージョン2.1018.0
  • Node.js のバージョンv23.11.0
  • config 設定に軽微なミス
    • ap-northeeast-1(タイポ)があったが、本件には直接関係なし

現象

CDK で cdk bootstrap を実行すると、AWS CLI では認証できているにも関わらず、以下のようなエラーで失敗しました:


AuthenticationError: Need to perform AWS calls for account 875551125050, but no credentials have been configured

--profile オプションを指定しても改善されず、SSO認証が CDK にうまく伝わっていない様子でした。


試したこととその結果

✅ aws sso login の再実行 → 問題なし

✅ aws sts get-caller-identity → 正常に認証されている

✅ ~/.aws/config の確認 → タイポ修正済みでも改善せず

--profile オプション付きで cdk bootstrap 実行 → エラー継続

✅ CDKのキャッシュ削除・再インストール → 効果なし


最終的な解決策

以下の手順で 一時認証情報を環境変数として直接指定 することで、cdk bootstrap を正常に完了させることができました。

1. 認証情報のエクスポート

aws configure export-credentials \
  --profile AdministratorAccess-875551125050 \
  --format env > .aws-temp-env

2. 環境変数を読み込む

source .aws-temp-env

3. CDKブートストラップを再実行

cdk bootstrap aws://875551125050/ap-northeast-1

これで問題なくブートストラップが完了!


原因と考察

本件の主な原因は以下の通りです:

  • AWS SSO の認証情報は正しく取得されていたが、CDKがそれを認識できなかった
  • CDKが期待する認証情報(環境変数形式)と、SSOの一時認証との間にギャップがある
  • --profile 指定だけではCDK側の認証処理に十分ではなかった

今後の対策とベストプラクティス

今後同様の問題を回避するために、以下のいずれかの方法をおすすめします:

  1. SSOログイン後、export-credentials で環境変数を明示的に設定
  2. CDK側でSSOプロファイルを正しく認識できるよう、環境変数 AWS_SDK_LOAD_CONFIG=1 を試す(未検証)

まとめ(3行で)

  • AWS CLIでは正常なのにCDKだけ認証エラー → SSOとの相性が原因かも
  • aws configure export-credentials で一時認証情報を取得 → source で読み込む
  • cdk bootstrap は環境変数での明示的な認証が最も安定!

参考になれば幸いです!

もし同じような状況で困っている方がいたら、ぜひ試してみてください。
Qiitaでの「いいね」やコメントもお待ちしております!

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?