Amazon Bedrock 経由の Claude Code に SAML 認証を設定する

Amazon Bedrock 経由の Claude Code に SAML 認証を設定する

Amazon Bedrock経由でClaude Code/Coworkを企業導入する際、公式ソリューションではSAML認証が直接サポートされていません。本記事では、Cognito User Poolを活用して、既存のID プロバイダ(Keycloak等)のSAML認証をこのソリューションに統合する方法を紹介します。
2026.06.04

はじめに

こんにちは、AI 事業本部の Kanaru です。

Claude Code や Cowork を企業で導入するにあたってはさまざまな方法があります。中でも今回は、Amazon Bedrock 経由でのモデル使用を想定した、Claude Code / Cowork についてフォーカスします。この構成の構築には AWS が提供するソリューション Guidance for Claude Code and Cowork on Amazon Bedrock が便利です。しかし、このソリューションには認証方法として SAML の直接的なサポートがありません。そこで、本記事では、Guidance for Claude Code and Cowork on Amazon Bedrock で間接的に SAML 認証を使用する方法を紹介します。

対象読者

  • Claude Code / Cowork で Bedrock 経由のモデルを使用したい人
  • Guidance for Claude Code and Cowork on Amazon Bedrock の認証に既存の ID プロバイダの SAML を使用したい人

本記事で紹介しないこと

SSO 認証以外の Guidance for Claude Code and Cowork on Amazon Bedrock を使用した構築方法は紹介しません。以下の記事を参照してください。

https://dev.classmethod.jp/articles/illustration-of-guidance-for-claude-code-and-cowork-on-amazon-bedrock/

https://dev.classmethod.jp/articles/guidance-for-ccwb-cognito-idp/

前提条件

以下の条件で検証しています。今回は SAML のプロバイダとして EC2 上に構築した Keycloak を使用しています。

  • macOS Tahoe 26.4.1
  • EC2
    • t4g.medium
    • Amazon Linux 2023
  • Keycloak 26.6.2

概要

今回は、Cognito User Pool を新規に作成し、そこに外部プロバイダとして SAML の ID プロバイダを紐づける方針にします。

abstruct.png

[AWS] Cognito User Pool のデプロイ

AWS 関連の作業になります。Cognito User Pool を作成します。

まずは、リポジトリをクローンします。

git clone https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock.git
cd guidance-for-claude-code-with-amazon-bedrock

ドキュメント に従い、Cognito User Pool をデプロイします。

aws cloudformation deploy \
  --template-file deployment/infrastructure/cognito-user-pool-setup.yaml \
  --stack-name claude-code-user-pool \
  --capabilities CAPABILITY_IAM \
  --parameter-overrides \
    UserPoolName=<ユーザープール> \
    DomainPrefix=<ドメイ> \
    CallbackURLs=http://localhost:8400/callback

適宜、<ユーザープール名><ドメイン> を置き換えてください。なお、<ドメイン> は、アカウントに関わらず同一リージョンで一意の値である必要があるので注意してください。

[IdP] SAML クライアントの作成

続いて、ID プロバイダ側での作業です。今回は Keycloak を例に説明しますが、お使いの ID プロバイダに合わせた設定をするようにお願いします。基本的には、以下のドキュメントに従って進行します。

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pools-saml-idp.html

まずは、対象の realm を選択します。今回は新しく saml-test という realm を作成しました。

realms.png

続いて、clients → Create client からクライアントを作成します。以下の通り項目を設定します。

  • Client type: SAML
  • Client ID: urn:amazon:cognito:sp:<ユーザープール名>
  • Valid redirect URIs: https://<ドメイン>.auth.<リージョン>.amazoncognito.com/saml2/idpresponse

create-client.png

valid-redirect.png

[IdP] マッピングの設定

SSO でログインした際、ID プロバイダから Cognito にユーザー情報を渡す必要があります。上記方法で作成したユーザープールは preferred_usernameemail を要求します。ここからは、これらを適切に渡す設定をします。

引き続き、ID プロバイダでの設定です。Clients ページから先ほど作成したクライアントを選択します。Client scopes → urn:amazon:cognito:sp:<ユーザープール名>-dedicated → Configure a new mapper と選択します。

scopes.png

下の方に User Property とあるので、それを選択し、次のように設定します。

  • Mapper type: User Property
  • Name: email
  • Property: email
  • Friendly Name: email
  • SAML Attribute Name: email
  • SAML Attribute NameFormat: Basic

追加できたら、さらに Add mapper → By configuration をクリックし、同様の設定をします。

  • Mapper type: User Property
  • Name: username
  • Property: username
  • Friendly Name: username
  • SAML Attribute Name: username
  • SAML Attribute NameFormat: Basic

[IdP] メタデータの取得

ユーザープールに渡す SAML のメタデータを取得します。Realm settings → SAML 2.0 Identity Provider Metadata から飛べる XML ファイルをダウンロードします。

metadata.png

[AWS] 自己登録の無効化

ユーザープールに外部プロバイダを追加するためには、自己登録を無効化する必要があります。これは、アカウントを持っていない人が自分でアカウントを作成できる機能です。

ここからは、AWS の作業です。

デプロイが完了したら、Cognito のコンソール画面に移動し、作成された User Pool を選択します。
左側のサイドバーから 認証 → サインアップ → セルフサービスのサインアップ に移動し、自己登録の有効化 のチェックを外します。

以下のようになっていれば成功です。

self-signup.png

[AWS] 外部プロバイダーの追加

ユーザープールに外部プロバイダーを追加します。引き続き、AWS での作業です。

左側のサイドバーから 認証 → ソーシャルプロバイダーと外部プロバイダー → アイデンティティプロバイダーを追加 を押します。

アイデンティティSAML を選択します。プロバイダー名 には好きな名前を入れて大丈夫です。ここで設定した名前はログイン画面に表示されます。
メタデータドキュメントには先ほどダウンロードした XML ファイルをアップロードします。

SAML プロバイダーとユーザープールの間で属性をマッピング は次のように設定します。

ユーザープール属性 SAML 属性
preferred_username username
email email

mapping.png

アイデンティティプロバイダーを追加 ボタンをクリックして完了です。

次のような表記になっていれば成功です。

providers.png

[AWS] アプリケーションクライアントとの紐付け

最後に、追加したプロバイダーを使えるようにします。引き続き、AWS での作業です。

左側のサイドバーから、アプリケーション → アプリケーションクライアント → claude-code-auth-client を選択します。ログインページ タブから、マネージドログインページの設定 の編集をクリックします。
ID プロバイダー を先ほど作成したプロバイダーに変更して、変更を保存 します。

idp.png

次のようになっていれば成功です。

idp.png

動作確認

実際に、Guidance for Claude Code and Cowork on Amazon Bedrock の設定ファイルをインストールした状態で Claude Code を開きます。正しく設定できていれば、SSO のログイン画面に遷移します。ログインして Claude Code に戻り、モデルが Bedrock になっていれば成功です。

お疲れ様でした。

cc.png

おわりに

本来、Guidance for Claude Code and Cowork on Amazon Bedrock では SAML を直接サポートしていませんが、今回は Cognito User Pool を活用することで間接的に SAML の SSO ログインを実現しました。Cognito User Pool のデプロイ自体もソリューション内で用意されているという意味でも、今回の方法は非常に現実的な選択肢になるかと思います。
ぜひ試してみてください。


生成AI活用はクラスメソッドにお任せ

過去に支援してきた生成AIの支援実績100+を元にホワイトペーパーを作成しました。御社が抱えている課題のうち、どれが解決できて、どのようなサービスが受けられるのか?4つのフェーズに分けてまとめています。どうぞお気軽にご覧ください。

生成AI資料イメージ

無料でダウンロードする

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事