記事公開日
Claude DesktopをSSO化!Apps Gateway + Bedrock連携を試してみた

この記事のポイント
Claude Desktop(Cowork)は、社内に構築したClaude Apps Gatewayを経由させることで、SSO認証を挟んだ状態のままAmazon Bedrockに接続して利用できます。Desktop起動 → bootstrapUrl → Gateway → SSO認証 → Bedrock推論という経路を、実機で動作確認した内容とあわせて紹介します。
- 検証した経路の全体像:
Claude Desktop・Claude Apps Gateway・SSO IdP・Amazon Bedrockという4つの構成要素が、それぞれどの役割を担うのかを構成図とあわせて整理 - 設定の流れ:
前提として準備しておくものを整理したうえで、本記事の中心となるGatewayのセットアップ(gateway.yamlの設定項目〜起動)と、Claude Desktop側で必要なbootstrapUrlの登録を、実際のログをもとに紹介 - 実機確認:
SSO認証チェーン(デバイス認可 → セッション発行 → 推論リクエスト)が完了し、東京リージョン(jp.anthropic.*)のモデルから応答が返ることをログとDesktop画面の両方で確認
▼ 無料ダウンロード資料
Claude 導入チェックリスト(情報システム・セキュリティ部門向け)
プラン選定・監査ログ・SSO・テナント制限・コスト管理・運用ポリシーまで、Claude / Claude Code を組織へ安全に導入するための確認項目を6カテゴリで整理。導入プロジェクトの進捗管理・監査証跡としてそのままご活用いただけます。
はじめに
こんにちは。DXソリューション営業本部の松浦です。
組織でClaudeをAmazon Bedrock経由で利用する場合、CLI(Claude Code)だけでなくClaude Desktopの「Cowork」についても、Claude Apps Gatewayを経由させることでSSO認証を挟んだ状態のままBedrockに接続して使うことができます。ただ、実際に導入するとなると、Gatewayはどう使い始めればよいのか、Desktop側で何を設定すればGateway経由の接続になるのか、といった実務的な部分が気になる方も多いのではないでしょうか。
本記事では、Claude Apps Gatewayを経由してSSO認証を挟んだ状態でBedrockに接続するための設定内容と、実機で確認できた動作結果をご紹介します!
こんな方におすすめの内容です。
- Claude Desktop(Cowork)を、Amazon Bedrock経由・自社のSSOに乗せて社内展開したい方
- Claude Apps GatewayでのSSOの設定方法を確認したい方
まずは、今回接続する経路全体の構成から見ていきましょう。
検証した経路の全体像
今回検証した環境の構成は以下の通りです。
Claude Desktop(Cowork)からのリクエストは、次の順番で流れる構成になっています。
Claude Desktop(Cowork) → bootstrapUrl → Claude Apps Gateway → SSO認証(IdP) → Amazon Bedrock
構成要素の役割
| 構成要素 | 役割 |
|---|---|
| Claude Desktop(Cowork) | ユーザーが操作するクライアントアプリ。起動時に、接続先を指定するbootstrapUrlを介してGatewayへ接続する |
| Claude Apps Gateway | Claude Desktop・Claude Codeなど各クライアントからのリクエストを受け付け、SSO認証(OIDC)を経たユーザーのリクエストのみをBedrockなどの推論バックエンドへ中継するコンポーネント |
| SSO IdP | Gatewayが認証を委譲するID基盤。ユーザーはデバイス認可フローでIdPにログインし、Gatewayはその結果をもとにセッションを発行する。今回の検証ではAmazon CognitoをSSO IdPとして使用しています |
| Amazon Bedrock | 実際の推論を行うバックエンド。Gatewayからのリクエストを受けてモデルの応答を返す |
設定の流れ
前提として準備しておくもの
今回の検証にあたり、次の6点はあらかじめ完了しているものとして進めます。いずれも一般的な構築手順に沿ったものであり、本記事では詳細を扱いません。
- AWSアカウントを用意していること(Amazon Bedrockを利用するため)
- Amazon Bedrockで、利用するモデル(今回は
jp.anthropic.claude-sonnet-4-6)のモデルアクセスを有効化済みであること - GatewayサーバーでClaude Code v2.1.203以降を使用していること(Claude Desktop連携の必須要件。今回の検証ではv2.1.250を使用)
- Claude Desktopアプリを、検証端末(Windows)へインストール済みであること
- SSO IdP(今回はAmazon Cognito)側で、ユーザープールなどSSO認証に必要な設定が完了していること
- Gatewayがセッション情報を保存するためのデータストア(今回はPostgreSQL)を用意していること
Gatewayのセットアップ
Gateway機能はClaude CLI(claudeコマンド)のサブコマンドとして提供されています。Node.js/npmが利用できるホストであれば、インターネット接続がある環境で次のコマンドを実行するだけでClaude CLIをインストールできます。
npm install -g @anthropic-ai/claude-code
Claude CLIのインストールが済んでいれば、あとはYAML形式の設定ファイル(gateway.yaml)を用意し、それを指定してコマンドラインから起動するだけです。
claude gateway --config gateway.yaml
この設定ファイルで定義した主な項目は次の通りです。
| 設定項目 | 内容 |
|---|---|
listen |
Gatewayがリクエストを受け付けるアドレス・ポートと、クライアントからアクセスさせる公開URL(public_url) |
oidc |
SSO認証に使うOIDCの発行者(issuer)、クライアントID/シークレット、認証を許可するメールドメインなど |
session |
認証後に発行するセッションのJWTシークレットや有効期限 |
store |
セッション情報を保持するデータストア(今回はPostgreSQL)への接続先 |
upstreams |
リクエストの転送先。今回はBedrock(リージョンを指定) |
models |
Gateway経由で利用可能にするモデルのIDと、Bedrock側のモデルIDとの対応付け |
managed.policies |
クライアント(CLI/Desktop)に配布するポリシー。今回は利用可能モデルの制限などを設定。Claude Desktopからの接続を許可するには、desktopキーを明示的に含める必要がある(キーがないと接続時に404が返る) |
実際に使用した設定ファイルの構成は、値を一般化すると次のようになります。各項目の値をどこから取得したかもあわせてコメントで示します。
listen:
host: 127.0.0.1
port: 8080
public_url: https://<Gatewayの公開URL> # Gatewayを外部公開するホスト名から決定
oidc:
issuer: https://<SSO IdPのOIDC発行者URL> # SSO IdP(今回はCognito)のユーザープールから取得
client_id: <クライアントID> # SSO IdP側で作成したアプリケーションクライアントのIDを取得
client_secret: ${OIDC_CLIENT_SECRET} # 同アプリケーションクライアントのシークレットを環境変数として注入
scopes: [openid, profile, email]
allowed_email_domains: [<許可するメールドメイン>] # 認証を許可する自社のメールドメインを指定
session:
jwt_secret: ${GATEWAY_JWT_SECRET} # Gateway側でランダムに生成した文字列(例:openssl rand -base64 32)
ttl_hours: 1
store:
postgres_url: ${GATEWAY_POSTGRES_URL} # セッション保存用に用意したPostgreSQLの接続文字列
upstreams:
- provider: bedrock
region: ap-northeast-1 # Bedrockを利用するAWSリージョン
models:
- id: jp.anthropic.claude-sonnet-4-6
upstream_model:
bedrock: jp.anthropic.claude-sonnet-4-6 # Bedrock側で有効化済みのモデルIDを指定
managed:
policies:
- match: {}
cli:
availableModels: [jp.anthropic.claude-sonnet-4-6] # クライアントに配布する利用可能モデルの制限
desktop:
isLocalDevMcpEnabled: false # Claude Desktopからの接続を有効化するために必須のキー(未設定だと/user/bootstrapが404)
Gatewayを起動すると、読み込んだ設定内容がログに出力され、指定したpublic_urlでリクエストの待受が始まります。
Claude Desktop側の設定(bootstrapUrlの登録)
Gatewayを起動しただけでは、Claude DesktopはまだこのGatewayを見にいきません。Claude Desktop側に「どのGatewayに接続するか」を明示的に教える必要があり、これはbootstrapUrlという設定値として、Windowsのレジストリに登録します。以下を、Claude DesktopがインストールされているWindows端末のPowerShellで実行します。
New-Item -Path "HKLM:\SOFTWARE\Policies\Claude" -Force | Out-Null Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Claude" -Name "bootstrapUrl" ` -Value "https://<Gatewayの公開URL>/user/bootstrap"
<Gatewayの公開URL>には、先ほどgateway.yamlのpublic_urlで設定したホスト名を指定します。管理者権限のPowerShellから実行し、HKLM配下(管理者ポリシーとして配布する想定の場所)に設定することで、ユーザー側で変更・上書きできない形になります。この設定を行ったうえでClaude Desktopを起動すると、Gateway経由のSSO認証画面へ自動的に遷移するようになります。
bootstrapUrlを設定した端末でClaude Desktopを起動すると、次のように「Sign in with your organization」からサインインする画面が表示されます。
ここでサインインを進めると既定のブラウザが開き、SSO IdP(今回はAmazon Cognito)のログイン画面が表示されます。ここでの認証が成功すると、Gateway側でセッションが発行され、Claude Desktopの画面に戻ります。
※公式ドキュメントによれば、Claude Desktop専用の端末(claude /loginによるCLI認証を行わない端末)では、Gatewayが配布するegress allowlist(通信可能な宛先の制限)をDesktop配下の埋め込みセッションにも適用するために、managed-settings側でparentSettingsBehavior: "merge"を別途有効化する必要があるとされています。この設定がない場合、埋め込みセッションはegress制限がかからない状態で動作し、かつその旨の警告も表示されないとのことです。モデル一覧・無効化ツールの一覧はDesktopが自動的に埋め込みセッションへ適用するため影響を受けませんが、SSOによる認証だけでなく通信先の制御もあわせて行いたい場合は、この設定もあわせてご確認ください(今回の実機検証ではegress allowlistの動作そのものは検証対象に含めていません)。
実機確認
Gateway側のログでは、認証からBedrockへの推論リクエストまでの一連の流れを確認できます。デバイス認可(device.authorize)→ デバイス検証(device.verify)→ セッション発行(session.mint)という順でSSO認証が完了した後、東京リージョンのモデル(jp.anthropic.claude-sonnet-4-6)に対する推論リクエスト(inference)がstatus: 200で成功しています。
続けて、Claude Desktop(Cowork)のアプリ画面から実際にメッセージを送信し、Gatewayを経由してBedrockからの応答が返ってくることを確認しました。画面左下(赤枠部分)には、このDesktopがGateway経由で接続されていることを示す「Gateway」の表示があり、Cowork接続がSSO認証済みのGatewayを経由していることが確認できます。
以上の通り、Claude Desktop(Cowork)からGatewayを経由してBedrockに到達し、SSO認証を挟んだ状態のまま東京リージョンのモデル(jp.anthropic.*)から推論結果が返ってくる、という一連の経路を実際に利用できることが実機で確認できました。
まとめ
Claude Desktop(Cowork)は、自社構築のClaude Apps Gatewayを経由させることで、SSO認証を挟んだ状態のままAmazon Bedrockに接続して利用することができます。今回の実機検証でも、Gatewayのログ上でOIDCベースのSSO認証チェーンが正常に完了し、東京リージョンのモデルに対する推論リクエストが成功していること、また、Desktopアプリの画面上で実際にメッセージの送受信ができることが確認できました。
Claude Desktop(Cowork)をSSOでガードしたBedrock接続として組織展開する際の、構成パターンのひとつとして参考にしていただければ幸いです。
QESでは、ガバナンス整備・セキュアな利用環境構築・利活用コンサルティング・セキュリティレビューまで、Claude / Claude Code の組織導入を一貫して支援しています。AWS(Amazon Bedrock)経由での提供にも対応しています。支援内容は下記のサービスページ、および無料の「Claude 導入チェックリスト」をご覧いただくか、お問い合わせフォームよりお気軽にご相談ください。
▼ 無料ダウンロード資料
Claude 導入チェックリスト(情報システム・セキュリティ部門向け)
プラン選定・監査ログ・SSO・テナント制限・コスト管理・運用ポリシーまで、Claude / Claude Code を安全に導入するための確認項目を6カテゴリで整理。導入プロジェクトの進捗管理・監査証跡としてそのままご活用いただけます。
※このブログで参照されている、Anthropic、Claude、Claude Code、Claude Cowork は、Anthropic, PBCの米国およびその他の国における商標または登録商標です。
※このブログで参照されている、Amazon Web Services、AWS、Amazon Bedrock、Amazon Cognitoは、Amazon.com, Inc.またはその関連会社の商標です。

