claude-apps-gateway.md +349 −0 created
1> ## Documentation Index
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Amazon Bedrock、Claude Platform on AWS、Google Cloud、Microsoft Foundry 向け Claude アプリゲートウェイ
6
7> SSO サインイン、グループごとのモデルアクセス、OTLP テレメトリを備えた自己ホスト型ゲートウェイを通じて、Amazon Bedrock、Claude Platform on AWS、Google Cloud、または Microsoft Foundry で Claude Code を実行します。
8
9<Note>
10 Claude アプリゲートウェイは、[データレジデンシー](/docs/ja/claude-apps-gateway-deploy#compliance-posture)要件を満たすなど、独自のクラウドプロバイダーを通じて推論をルーティングする必要がある、または希望する組織向けに設計されています。この要件がない場合、SCIM プロビジョニングや web・モバイル上の Claude Code などの他の機能へのアクセスを希望する場合は、Claude Enterprise の方がより適切である可能性があります。すべてのデプロイメント方法の完全な比較については、[機能可用性](/docs/ja/feature-availability)ページを参照してください。
11</Note>
12
13Claude アプリゲートウェイは、開発者の Claude Code クライアントとモデルプロバイダーの間に位置する自己ホスト型サービスです。開発者は API キーやクラウド認証情報を保持する代わりに、企業の ID プロバイダー(IdP)でサインインします。ゲートウェイはアップストリーム認証情報を保持し、IdP グループによるモデルアクセスと[管理設定](/docs/ja/permissions#managed-settings)を強制し、使用状況テレメトリを独自の可観測性スタックにリレーします。
14
15これは `claude` バイナリに含まれているため、ラップトップで Claude Code を実行する同じ実行ファイルが `claude gateway --config gateway.yaml` でゲートウェイサーバーを実行します。
16
17このページでは以下をカバーしています。
18
19* [Claude アプリゲートウェイを使用する理由](#why-claude-apps-gateway)、独自に実行する場合に何が追加されるか、および他の何かがより適切な場合
20* [前提条件](#prerequisites)を含む[クイックスタート](#quickstart)。ゲートウェイをゼロからサインイン済みの開発者まで進めます
21* [開発者の接続](#connect-developers)。管理設定を通じてゲートウェイ URL を設定することを含みます
22* [可用性と制限事項](#availability-and-limitations)。ゲートウェイを通じてどの Claude Code 機能が機能するか、およびサーバーが何をサポートするかをカバーしています
23
24関連ページはさらに詳しく説明しています。[設定リファレンス](/docs/ja/claude-apps-gateway-config)はクイックスタートが書き込む YAML ファイルのすべてのオプションをカバーし、[デプロイメントガイド](/docs/ja/claude-apps-gateway-deploy)は IdP ごとのセットアップ、Kubernetes と Cloud Run デプロイメント、および運用をカバーしています。
25
26<h2 id="why-claude-apps-gateway">
27 Claude apps gateway を使用する理由
28</h2>
29
30[ゲートウェイの概要](/docs/ja/gateways)はゲートウェイが何をするか、なぜ実行するかをカバーしています。Claude apps gateway は Anthropic 独自のゲートウェイで、`claude` バイナリに組み込まれており、各 Claude Code リリースと一緒にテストされているため、Claude Code が送信するヘッダーとリクエストフィールドを、オペレーターが個別の許可リストを維持することなく転送します。デプロイされると、以下が得られます。
31
32* **認証情報**:アップストリーム API キーまたはクラウド認証情報は、インフラストラクチャ内にのみ存在します。開発者は企業 SSO で認証し、短期間有効なベアラートークンを受け取るため、オフボーディングは IdP で発生します。ユーザーをプロビジョニング解除すると、ゲートウェイアクセスはセッション有効期間内に期限切れになります。デフォルトは 1 時間です。
33* **アクセス制御**:IdP グループはモデル許可リストと[管理設定](/docs/ja/permissions#managed-settings)ポリシーにマップされます。ゲートウェイはモデルアクセスをサーバー側で強制し、許可されていないモデルのリクエストを拒否し、各グループの管理設定ポリシーを選択します。CLI は[管理設定層](/docs/ja/settings#settings-precedence)でこれを適用します。異なるチームは異なるモデル、ツール、および権限を取得し、開発者はポリシーがロックしているものをオーバーライドできません。
34* **設定配信**:ゲートウェイは管理設定をサインイン済みクライアント自体に配信し、claude.ai 管理コンソールからの[サーバー管理設定](/docs/ja/server-managed-settings)の場所を取ります。
35* **テレメトリ**:Datadog、Splunk、ClickHouse などの各設定先は、デフォルトではトークン数、モデル、ユーザーアイデンティティ、レイテンシを含む[OpenTelemetry Protocol(OTLP)メトリクス](/docs/ja/monitoring-usage)を受け取り、ログとトレースは宛先ごとのオプトインです。
36* **アップストリームルーティング**:クライアントは Anthropic Messages API をゲートウェイに話しかけ、ゲートウェイは各アップストリーム(Amazon Bedrock、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、Google Cloud の Agent Platform、Microsoft Foundry、または Anthropic API)に対して変換し、それらの間でフェイルオーバーします。開発者が気付いたり再設定したりすることなく、リージョン、プロバイダー、またはフェイルオーバー順序を変更できます。
37
38<Frame>
39 <img src="https://mintcdn.com/claude-code/st9_ZQOFsZa3cKFl/images/claude-gateway-architecture.svg?fit=max&auto=format&n=st9_ZQOFsZa3cKFl&q=85&s=560770d8f49bbd6f1ca7090ed1f13c03" alt="Claude Code クライアントがベアラートークンを使用して HTTPS 経由でインフラストラクチャ内の自己ホスト型 Claude apps ゲートウェイに接続し、IdP に対してユーザーにサインインし、PostgreSQL に認証状態を保存し、テレメトリを OTLP コレクターにリレーし、Amazon Bedrock、Claude Platform on AWS、Google Cloud、Microsoft Foundry、または Anthropic API に推論を転送する図" width="760" height="320" data-path="images/claude-gateway-architecture.svg" />
40</Frame>
41
42<Note>
43 ゲートウェイ独自のデータプレーンは、Anthropic API が設定されたアップストリームでない限り、Anthropic インフラストラクチャに何も送信しません。テレメトリ、監査ログ、管理設定、および開発者の IdP アイデンティティがどこに行くかを制御し、ゲートウェイはそれらのいずれも Anthropic に送信しません。残りのトラフィック CLI プロセスが送信できる方法と、それを閉じる方法については、[コンプライアンスポスチャ](/docs/ja/claude-apps-gateway-deploy#compliance-posture)を参照してください。
44</Note>
45
46ゲートウェイを通じてどの Claude Code 機能が機能するか、およびサーバー自体が何をサポートするかについては、以下の[可用性と制限](#availability-and-limitations)を参照してください。コスト、バイパス、複数ゲートウェイの実行、サーバーレスプラットフォームなどの決定については、[デプロイメントガイド](/docs/ja/claude-apps-gateway-deploy#deployment)を参照してください。
47
48<h3 id="other-gateway-implementations">
49 その他のゲートウェイ実装
50</h3>
51
52既に要件を満たす LLM ゲートウェイまたは API ゲートウェイを実行している場合は、それを使い続けてください。[その他の LLM ゲートウェイ](/docs/ja/llm-gateway)は Claude Code をそれに対して設定することをカバーしています。
53
54[ゲートウェイプロトコルリファレンス](/docs/ja/llm-gateway-protocol)は、Claude Code が任意のゲートウェイから期待する契約を文書化しています。呼び出すエンドポイント、転送するヘッダーとボディフィールド、およびそれらが削除されたときに何が機能しなくなるかです。実行中の Claude apps ゲートウェイは、SSO サインイン、管理設定配信、およびテレメトリ用の Claude apps ゲートウェイ固有のエンドポイントを追加して、その契約のスーパーセットを `GET /protocol` で提供します。`curl https://claude-gateway.internal.example.com/protocol` を使用して、[クイックスタート](#quickstart)以下が生成するようなデプロイされたゲートウェイから取得します。プロトコルへの破壊的な変更は事前に発表されますが、無期限の後方互換性は保証されません。
55
56<h2 id="quickstart">
57 クイックスタート
58</h2>
59
60このクイックスタートは最小限のパスを説明しています。IdP で OAuth クライアントを登録し、`gateway.yaml` を書き、Docker Compose で Postgres と一緒にゲートウェイを実行し、エンドツーエンドでサインインを確認します。Amazon Bedrock アップストリームを使用します。Claude Platform on AWS、Google Cloud の Agent Platform、Microsoft Foundry、および Anthropic API は、[設定リファレンス](/docs/ja/claude-apps-gateway-config#upstreams)に示されているように `upstreams` ブロックをスワップすることで同様にサポートされます。最後に、開発者が `/login` できるゲートウェイがあります。
61
62<Note>
63 **プライベートネットワークにデプロイします。** Claude Code は、アドレスがプライベートであるゲートウェイにのみ接続します。これはセキュリティガードです。信頼されたゲートウェイは開発者マシンでコマンドを実行する設定をプッシュできるためです。ゲートウェイを内部ロードバランサーまたは VPN の背後に配置し、プライベート IP にのみ解決するホスト名を付けます。
64
65 Anthropic が運用するパブリックゲートウェイエンドポイントは例外です。`/login` は `https://` 経由でそれらを受け入れます。これらは Anthropic 自体が運用する小さな固定セットのゲートウェイです。これらは選択または設定できるデプロイメントオプションではありません。リストは Claude Code にコンパイルされているため、設定がホスト名をリストに追加することはできず、ホストするゲートウェイは免除の対象にはなりません。{/* min-version: 2.1.206 */}v2.1.206 より前では、`/login` はそれらのエンドポイントを他のパブリックアドレスと同様に拒否していました。
66</Note>
67
68<h3 id="prerequisites">
69 前提条件
70</h3>
71
72開始する前に、以下を用意してください。
73
74| 必要なもの | 詳細 |
75| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
76| Claude Code v2.1.195 以降 | `claude gateway` サブコマンドとゲートウェイサインインフローは v2.1.195 で提供されます。以前のパブリックビルドには含まれていません。ゲートウェイサーバーを実行するマシンと各開発者のマシンの両方が v2.1.195 以降である必要があります。`claude update` を実行して最新リリースを取得します。 {/* min-version: 2.1.198 */}[Claude Platform on AWS アップストリーム](/docs/ja/claude-apps-gateway-config#claude-platform-on-aws)はゲートウェイサーバーで Claude Code v2.1.198 以降が必要です。 |
77| OpenID Connect(OIDC)ID プロバイダー | Okta、Microsoft Entra ID、Google Workspace、Keycloak、Dex、または PingFederate などの OIDC 準拠の IdP。ゲートウェイは標準 OIDC ディスカバリーと認可コードフローを実行します。SAML と LDAP はサポートされていません。 |
78| PostgreSQL 14 以降 | デバイスサインインフロー(ブラウザコールバックが書き込み、ポーリング CLI が読み取る)とレート制限カウンターをサポートします。最小層を含む任意の管理 Postgres が機能します。支出制限が設定されていない場合、ゲートウェイは数 KB の短期間有効な認証状態を保存します。[支出制限](/docs/ja/claude-apps-gateway-spend-limits)を使用すると、バックアップする必要がある耐久的な支出、監査、およびアイデンティティテーブルも保持します。`?sslmode=require` 経由の TLS が推奨されます。 |
79| モデルアップストリーム | Amazon Bedrock 認証情報、Claude Platform on AWS 認証情報、Google Cloud 認証情報、Microsoft Foundry リソース、または Anthropic API キー。複数のアップストリームがサポートされ、フェイルオーバーがあります。 |
80| HTTPS | ゲートウェイは開発者ラップトップとサインインに使用されるブラウザから `https://` 経由で到達可能である必要があります。ゲートウェイは同じリスナーでデバイス検証ページを提供します。`listen.tls` 経由で TLS 証明書を提供するか、TLS 終了イングレスの背後で実行し、`listen.public_url` を設定します。プレーン `http://` オリジンはローカル開発用のループバックでのみ受け入れられます。 |
81| プライベートネットワークアドレス | `/login` では、Claude Code はゲートウェイのホスト名または IP アドレスがプライベートアドレスのみに解決されることを要求します。RFC 1918、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7`、またはローカル開発用のループバック。チェックは解決された各 IP で実行されるため、名前が解決するアドレスのいずれかがパブリックの場合、`/login` は URL を拒否します。開発者マシンが HTTPS を企業プロキシ経由でルーティングする場合、サインインはプロキシホストもプライベートアドレスに解決されることを要求します。そうでない場合は、ゲートウェイホストを `NO_PROXY` に追加して、CLI が直接接続するようにします。{/* min-version: 2.1.206 */}Anthropic が運用するパブリックゲートウェイエンドポイントはプライベートアドレスとプロキシチェックから除外されます。`/login` は正確なホスト名マッチにより `https://` 経由でそれらを受け入れるため、プライベートネットワーク要件はホストするゲートウェイにのみ適用されます。v2.1.206 より前では、`/login` は Anthropic が運用するエンドポイントを他のパブリックアドレスと同様に拒否していました。 |
82| Linux ランタイム | ゲートウェイサーバーはネイティブ Linux バイナリでのみ実行されます。macOS はローカル開発用に機能します。Windows はサーバープラットフォームとしてサポートされていません。 |
83
84ゲートウェイサーバーはネイティブ `claude` バイナリが必要です。[Claude Code のインストール](/docs/ja/setup)で説明されているようにピン留めされたリリースをダウンロードします。サーバーは Claude Code が Node の下で実行されるときに利用できないランタイム機能を使用します。起動時に `requires the native binary` が表示される場合は、スタンドアロンインストール方法の 1 つに切り替えます。
85
86<h3 id="steps">
87 ステップ
88</h3>
89
90<Steps>
91 <Step title="IdP で OAuth クライアントを登録する">
92 リダイレクト URI がそれと一致する必要があるため、まずゲートウェイのホスト名を決定します。新しい OIDC ウェブアプリケーションを作成し、リダイレクト URI を `https://claude-gateway.<your-domain>/oauth/callback` に設定します。ホストはステップ 3 で [`listen.public_url`](/docs/ja/claude-apps-gateway-config#listen) として設定する値と同じです。`client_id` と `client_secret` をメモします。IdP ごとの手順は[ID プロバイダーセットアップ](/docs/ja/claude-apps-gateway-deploy#identity-provider-setup)にあります。
93 </Step>
94
95 <Step title="PostgreSQL データベースをプロビジョニングする">
96 最小管理層を含む任意の Postgres 14 以降が機能します。ゲートウェイは起動時に独自のスキーママイグレーションを実行するため、データベースユーザーは `CREATE TABLE` 権限が必要です。セキュリティポリシーがアプリケーションロールからの DDL を禁止する場合は、代わりにスキーマを事前作成します。[`store`](/docs/ja/claude-apps-gateway-config#store)を参照してください。
97 </Step>
98
99 <Step title="gateway.yaml を書く">
100 シークレットは `${ENV_VAR}` 展開経由で読み取られるため、ファイル自体はバージョン管理に存在できます。`/login` がパブリックアドレスを拒否するため、プライベート IP に解決する `public_url` ホスト名を使用します。最小設定には 5 つのセクションがあり、他のすべてのフィールドにはデフォルトがあります。
101
102 ```yaml gateway.yaml theme={null}
103 listen:
104 host: 0.0.0.0
105 port: 8080
106 # TLS 終了プロキシの背後で必須。IdP
107 # redirect_uri とディスカバリードキュメントに使用されます。
108 public_url: https://claude-gateway.internal.example.com
109
110 oidc:
111 issuer: https://login.example.com # /.well-known/openid-configuration を提供する必要があります
112 client_id: 0oa1example2
113 client_secret: ${OIDC_CLIENT_SECRET}
114 allowed_email_domains: [example.com] # 組織外の id_tokens を拒否します
115 userinfo_fallback: true # id_token が email/groups を省略する IdP の場合。それ以外の場合は無害です
116
117 session:
118 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32
119 ttl_hours: 1 # IdP プロビジョニング解除時の失効レイテンシもバウンドします
120
121 store:
122 postgres_url: ${GATEWAY_POSTGRES_URL} # 管理 Postgres の場合は ?sslmode=require を追加します
123
124 upstreams:
125 - provider: bedrock
126 region: us-east-1
127 auth: {} # 空:AWS デフォルト認証情報チェーン
128 # (IRSA、EC2/ECS タスクロール、環境変数、~/.aws)
129
130 # モデルはアップストリームごとに自動的に変換されます。組み込みカタログ
131 # は claude-opus-4-8 を us.anthropic.claude-opus-4-8 にマップし、
132 # Bedrock がサポートするすべての Claude モデルに対して同様にマップします。false に設定し、
133 # `models:` リストを追加して、特定のモデルのみを公開します。
134 auto_include_builtin_models: true
135 ```
136
137 この設定は、デフォルト Amazon Bedrock モデルカタログを使用した動作するサインインループに十分です。実行されたら、[`managed.policies`](/docs/ja/claude-apps-gateway-config#managed) 経由でグループごとの RBAC と管理設定を追加し、[`telemetry`](/docs/ja/claude-apps-gateway-config#telemetry) 経由でテレメトリファンアウトを追加し、[`models`](/docs/ja/claude-apps-gateway-config#models) 経由でマルチアップストリームフェイルオーバー、プロビジョニング済みスループット ARN、または非米国リージョンを追加します。
138
139 <Note>
140 Amazon Bedrock アップストリームは、`inference-profile/us.anthropic.*` ARN と基礎となる `foundation-model/anthropic.*` ARN の両方に対して `bedrock:InvokeModel` と `bedrock:InvokeModelWithResponseStream` を持つ AWS プリンシパルが必要であり、Bedrock コンソールで必要な Claude モデルのモデルアクセスが有効になっています。EKS の IRSA、ECS タスクロール、または EC2 インスタンスプロファイルではなく、静的キーを使用して認証情報を提供します。[`upstreams` リファレンス](/docs/ja/claude-apps-gateway-config#upstreams)には、完全な IAM 詳細、クロスクラウド認証情報マトリックス、および他のプロバイダーの `auth` ブロックがあります。
141 </Note>
142 </Step>
143
144 <Step title="実行する">
145 [イメージ要件](/docs/ja/claude-apps-gateway-deploy#container-image)を満たす `claude` バイナリの周りにコンテナイメージを構築し、Postgres と一緒に実行します。
146
147 ```yaml docker-compose.yaml theme={null}
148 services:
149 gateway:
150 image: <your-registry>/claude-gateway:<version>
151 ports: ["8080:8080"]
152 volumes: ["./gateway.yaml:/etc/claude/gateway.yaml:ro"]
153 environment:
154 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}
155 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}
156 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway
157 # AWS 認証情報:本番環境では、これらを省略し、インスタンス
158 # ロールを使用します。ローカル Compose テストの場合、独自のものを渡します。
159 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
160 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
161 AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
162 depends_on:
163 postgres:
164 condition: service_healthy
165 postgres:
166 image: postgres:16-alpine
167 environment: { POSTGRES_USER: gw, POSTGRES_PASSWORD: pw, POSTGRES_DB: gateway }
168 healthcheck:
169 test: ["CMD-SHELL", "pg_isready -U gw"]
170 interval: 5s
171 volumes: ["pgdata:/var/lib/postgresql/data"]
172 volumes: { pgdata: }
173 ```
174
175 ゲートウェイは、設定を読み取り、IdP に対して OIDC ディスカバリーを実行し、Postgres スキーママイグレーションを適用し、アップストリームクライアントを構築し、リッスンを開始する単一の Linux バイナリです。起動は設定、5 秒タイムアウト付き Postgres 接続、OIDC ディスカバリー、およびアップストリームクライアント構築に対して失敗時に閉じられます。これらのいずれかが到達不可能または設定が誤っている場合、ゲートウェイは低下した状態でトラフィックを提供するのではなく、エラーで終了します。
176
177 成功した起動は推論パスを検証しません。Amazon Bedrock と Google Cloud の Agent Platform インスタンス認証情報は起動時ではなく最初のリクエストで解決されるためです。
178
179 起動シーケンスについて stderr を監視します。ログ行は `[gateway] <timestamp> <level> <message>` 形式を使用し、監査イベントは `evt` フィールド付きの単一行 JSON であり、起動バナーは以下で省略され、マイグレーションとリッスン行の間に出力されます。順番に以下が表示されます。
180
181 ```text theme={null}
182 {"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}
183 [gateway] 2026-06-10T17:03:21.408Z info migration 1 applied
184 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080
185 ```
186
187 起動が `claude gateway listening on` 行の前に終了する場合、stderr の最後の行は問題を名前付けます。
188
189 * 到達不可能な Postgres
190 * DDL 権限のない Postgres ロール
191 * 到達不可能または無効な OIDC ディスカバリードキュメント
192 * 違反フィールドパスを含む設定スキーマ違反
193
194 修正して再起動します。
195
196 既に TLS 終了イングレスがある場合は、Compose をスキップし、`claude gateway --config gateway.yaml` でバイナリを直接実行します。`public_url` をイングレスオリジンに設定し、`listen` をループバックまたはクラスター内アドレスにバインドします。
197 </Step>
198
199 <Step title="認証サーフェスを確認する">
200 3 つのチェックは、ゲートウェイが開発者に渡す前に実際のユーザーを認証できることを確認します。
201
202 例はゲートウェイのパブリック URL を使用します。イングレスのないローカル Compose セットアップの場合、最初の 2 つのチェックで `http://localhost:8080` に置き換えます。3 番目のチェックは `verification_uri_complete` を開きます。これは `public_url` から構築されるため、ローカル Compose の場合は `gateway.yaml` で `public_url: http://localhost:8080` を設定し、ゲートウェイが `public_url` から IdP `redirect_uri` を構築するため、ステップ 1 の OAuth クライアントに 2 番目のリダイレクト URI として `http://localhost:8080/oauth/callback` を追加します。検証リンクはローカルブラウザで開きます。
203
204 Windows PowerShell では、`curl.exe` を実行します。ベア `curl` は `Invoke-WebRequest` のエイリアスであり、これらのフラグを拒否します。
205
206 まず、ディスカバリードキュメントを取得します。これはゲートウェイが起動し、設定が有効であり、すべての起動チェックが合格したことを確認します。
207
208 ```bash theme={null}
209 curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq
210 ```
211
212 ```json theme={null}
213 {
214 "issuer": "https://claude-gateway.internal.example.com",
215 "device_authorization_endpoint": "…/oauth/device_authorization",
216 "token_endpoint": "…/oauth/token",
217 "grant_types_supported": ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"]
218 }
219 ```
220
221 応答には `response_types_supported` や `scopes_supported` などの追加フィールドが含まれます。
222
223 次に、デバイス認可をリクエストします。これはデバイスサインインフローが機能し、Postgres が到達可能で書き込み可能であることを確認します。
224
225 ```bash theme={null}
226 curl -s -X POST https://claude-gateway.internal.example.com/oauth/device_authorization | jq
227 ```
228
229 ```json theme={null}
230 {
231 "device_code": "…",
232 "user_code": "WDJB-MJHT",
233 "verification_uri": "https://claude-gateway.internal.example.com/device",
234 "verification_uri_complete": "https://claude-gateway.internal.example.com/device?user_code=WDJB-MJHT",
235 "expires_in": 600,
236 "interval": 5
237 }
238 ```
239
240 3 番目に、ブラウザで `verification_uri_complete` を開いてコードを確認することでブラウザレッグをテストします。IdP のサインインページにリダイレクトされ、サインイン後、ゲートウェイに戻ってサインイン確認に着地する必要があります。
241
242 最初に失敗したチェックを使用して問題を特定します。
243
244 * **最初のチェックが失敗**:起動が完了しませんでした。stderr を確認してください
245 * **2 番目のチェックが失敗**:Postgres がゲートウェイから到達不可能であるか、ロールが書き込みできません。接続文字列と権限を確認してください
246 * **3 番目のチェックが IdP に到達しない**:IdP のリダイレクト URI が `https://<gateway>/oauth/callback` と正確に一致することを確認してください
247 * **3 番目のチェックが IdP に到達しますが、エラーで戻ります**:ゲートウェイの監査ログを読みます。これは `email domain not allowed` などの理由を含むすべての認証拒否を記録します
248 </Step>
249
250 <Step title="開発者をログインさせる">
251 この最後のステップはサーバーではなく開発者マシンで発生します。そのマシンの[管理設定ファイル](/docs/ja/settings#settings-files)で `forceLoginMethod` を `"gateway"` に、`forceLoginGatewayUrl` をゲートウェイの `public_url` に設定し、`/login` を実行し、**Cloud gateway** 画面で Enter キーを押し、ブラウザサインインを完了します。[ゲートウェイ URL を設定](#set-the-gateway-url)以下は、スケール時に両方のキーを配布することをカバーしています。
252 </Step>
253</Steps>
254
255<h2 id="connect-developers">
256 開発者を接続する
257</h2>
258
259開発者は独自のラップトップから 1 つのブラウザサインインで接続し、企業の仕事用アカウントを使用します。claude.ai アカウント、API キー、またはサブスクリプションは必要ありません。モデルへのリクエストは組織のアップストリーム認証情報を使用してゲートウェイを通じて行くためです。接続は、MDM 経由でプッシュする[クライアント側管理設定](/docs/ja/claude-apps-gateway-config#client-side-managed-settings)によって駆動されるため、開発者側に手動セットアップはありません。このセクションは管理者が設定するものをカバーしています。
260
261CLI はゲートウェイの TLS リーフ証明書を最初の接続時にフィンガープリントし、ホスト名ごとにピン留めします。期待されるフィンガープリント SHA-256 をゲートウェイ URL と一緒に公開して、開発者が比較するものを持つようにします。証明書ファイルから `openssl x509 -noout -fingerprint -sha256 -in cert.pem` でフィンガープリントを取得します。`/login` プロンプトはダイジェストの最初の 16 文字を小文字の 16 進数で区切り文字なしで表示します。
262
263証明書がローテーションされると、すべての開発者は再度信頼プロンプトを見るため、ローテーションを計画されたイベントとして扱い、フィンガープリントを再公開します。
264
265サインイン後、[モデルピッカー](/docs/ja/model-config)は開発者の `availableModels` 許可リストのモデルを表示し、管理設定は起動時に適用され、1 時間ごとに更新され、テレメトリはコレクターにルーティングされます。セッションは `ttl_hours` 有効期限の前にサイレントに更新され、IdP プロビジョニング解除後の失敗した更新は再ログインを促します。
266
267<h3 id="set-the-gateway-url">
268 ゲートウェイ URL を設定する
269</h3>
270
271MDM 経由またはディスク上で直接デプロイする OS ごとの[管理設定ファイル](/docs/ja/settings#settings-files)に両方のキーを設定し、`/login` は URL が入力された状態で **Cloud gateway** 画面で直接開きます。
272
273```json theme={null}
274{
275 "forceLoginMethod": "gateway",
276 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"
277}
278```
279
280開発者は Enter キーを押して接続します。最初の接続 TLS フィンガープリントプロンプトは引き続き表示されます。
281
282開発者が手動で選択するためのログインピッカーにゲートウェイオプションはなく、`forceLoginGatewayUrl` は開発者独自の設定ファイルでは無視されます。URL なしの `forceLoginMethod` のみでは、開発者を「IT 管理者に連絡してください」メッセージのままにします。両方のキーは、マシンにプッシュするファイルに属し、ゲートウェイの `managed.policies[].cli` ブロックには属しません。これは既に接続されているクライアントにのみ到達します。
283
284<h3 id="ci-pipelines-and-remote-machines">
285 CI パイプラインとリモートマシン
286</h3>
287
288無人パイプラインのサービストークンフローはありません。ゲートウェイサインインは常にブラウザデバイスフローを実行するため、サインインを承認する開発者がない CI ジョブは認証できません。これらをプロバイダーに対して直接設定します。
289
290開発者がサインインすると、そのマシンでのすべての Claude Code 呼び出しはゲートウェイセッションを使用します。非対話的な `claude -p` 実行と Agent SDK によって開始されたセッションを含み、[ゲートウェイポリシーはすべてに適用されます](/docs/ja/claude-apps-gateway-config#managed)。
291
292デバイスフローはポーリング CLI を承認ブラウザから分離するため、ディスプレイのないリモート開発ボックスは引き続き機能します。開発者はリモートマシンで SSH 経由で `/login` を実行し、ラップトップのブラウザで検証リンクを開きます。
293
294<h3 id="what’s-enforced-on-developers">
295 開発者に何が強制されるか
296</h3>
297
298これらの保証はすべてのサインイン済みゲートウェイセッションに適用されます。
299
300* **モデルアクセス**:ポリシーが許可しないモデルのリクエストは 400 を返し、`/model` ピッカーはポリシーの `availableModels` 許可リストにフィルタリングされます。ポリシーで [`enforceAvailableModels: true`](/docs/ja/model-config#default-model-behavior) を設定して、Default オプションが Claude Code の組み込みデフォルトではなく `availableModels` 内のモデルに解決されるようにします。なしでは、Default は選択可能なままであり、そのモデルが許可されていない場合、リクエスト時に拒否されます。
301* **テレメトリ宛先**:[テレメトリ転送](/docs/ja/claude-apps-gateway-config#telemetry)が設定されている場合、OTLP エクスポートエンドポイントはゲートウェイにピン留めされ、ゲートウェイがプッシュした設定はローカルに設定された `OTEL_*` 変数をオーバーライドします。
302* **認証情報**:ゲートウェイトークンはセッションの唯一の認証情報です。`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_API_KEY`、`apiKeyHelper`、および以前の claude.ai ログインはサインイン中は無視されるため、開発者は最初に claude.ai からログアウトする必要はありません。
303* **管理設定**:ロックされたキーはローカルでオーバーライドできません。CLI はポリシーを起動時と毎時間のポーリングで適用します。
304* **起動**:サインイン済みセッションは、ゲートウェイが到達不可能な場合、約 10 秒後に起動時にエラーで終了し、設定なしで起動するのではなく。
305* **プロビジョニング解除**:ユーザーが IdP で無効化されたセッションは、次の更新が失敗したときに `ttl_hours` 内に期限切れになります。
306
307<h3 id="what-the-organization-can-see">
308 組織が見ることができるもの
309</h3>
310
311使用状況テレメトリは開発者のアイデンティティ、トークン数、モデル、およびレイテンシを組織のコレクターに伝えます。ゲートウェイはプロンプトまたは完了コンテンツをログまたは保存しません。ログやトレースなどのより豊富なテレメトリが収集されるかどうか。コマンドやファイルパスを含む可能性があるのは、組織の[宛先ごとの選択](/docs/ja/claude-apps-gateway-config#telemetry)です。
312
313<h2 id="availability-and-limitations">
314 可用性と制限
315</h2>
316
317表は、開発者がゲートウェイを通じて接続するときに機能する Claude Code 機能と、ゲートウェイサーバー自体がサポートするものをカバーしています。何かがサポートされていない場合、Notes 列は代替案を提供します。
318
319ゲートウェイは、CLI がすべてのアップストリームに送信する [`anthropic-beta`](https://platform.claude.com/docs/ja/api/beta-headers) 値を配信するため、オペレーターはベータ許可リストを維持しません。Amazon Bedrock の場合、ヘッダーを無視し、ゲートウェイは値をリクエストボディの `anthropic_beta` フィールドに移動します。他のアップストリームは送信されたままヘッダーを受け取ります。CLI のゲートウェイセッションベータセットは、ファーストパーティのみのベータと拡張キャッシュ TTL ベータを省略します。これが以下の行がサポートされていないと表示される理由です。
320
321| 機能 | ステータス | 注記 |
322| ----------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
323| 推論転送(Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、Microsoft Foundry、Anthropic) | 利用可能 | アップストリームごとのモデル変換とフェイルオーバー付き。Amazon Bedrock アップストリームは `bedrock-runtime` エンドポイントと AWS デフォルト認証情報チェーンを使用します。Amazon Bedrock [Mantle エンドポイント](/docs/ja/amazon-bedrock#use-the-mantle-endpoint)はサポートされたアップストリームではありません。[Claude Platform on AWS アップストリーム](/docs/ja/claude-apps-gateway-config#claude-platform-on-aws)には、ゲートウェイサーバー上の Claude Code v2.1.198 以降が必要です。 |
324| IdP グループによるモデルアクセスと管理設定 | 利用可能 | モデルアクセスはサーバー側で強制されます。管理設定は IdP グループごとに配信され、CLI によって[管理設定層](/docs/ja/settings#settings-precedence)で適用されます |
325| テレメトリファンアウト(OTLP/HTTP) | 利用可能 | エクスポートごとにアイデンティティスタンプ付き。protobuf と JSON エンコーディングの両方 |
326| OIDC ID プロバイダー | 利用可能 | 任意の OIDC 準拠の IdP。ゲートウェイは標準 OIDC ディスカバリーと認可コードフローを実行します。[ID プロバイダーセットアップ](/docs/ja/claude-apps-gateway-deploy#identity-provider-setup)を参照して、IdP ごとの設定を確認してください |
327| ユーザーごとおよびグループごとの支出制限 | 利用可能 | [支出制限](/docs/ja/claude-apps-gateway-spend-limits)を参照してください |
328| サーバー側ウェブ検索 | 利用不可 | CLI はゲートウェイがルーティングするアップストリームプロバイダーを見ることができないため、ウェブ検索サポートを検証できず、ゲートウェイセッションで WebSearch を無効化します |
329| 標準プロンプトキャッシング | 利用可能 | `cache_control` ブレークポイントはすべてのアップストリームに転送されます |
330| 1 時間キャッシュ TTL | 利用不可 | CLI はゲートウェイセッションで拡張キャッシュ TTL ベータを省略します。ゲートウェイがルーティングできるすべてのアップストリームが 1 時間 TTL をサポートしているわけではないため、ゲートウェイを通じたプロンプトキャッシングは 5 分 TTL を使用します。上記のベータヘッダーノートを参照してください |
331| オートモード | 利用可能 | [サードパーティプロバイダールール](/docs/ja/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)に従います。サードパーティプロバイダーで適格なモデルのみがそれを使用できます。{/* min-version: 2.1.207 */}v2.1.207 より前では、ゲートウェイセッションのオートモードは `CLAUDE_CODE_ENABLE_AUTO_MODE=1` を設定する必要があり、管理ポリシー `env` ブロック経由で配信可能でした |
332| グローバルキャッシュスコープとトークン効率的なツールなどのファーストパーティのみの最適化 | 利用不可 | CLI はゲートウェイセッションでそれらを有効化しません。上記のベータヘッダーノートを参照してください |
333| OTLP/gRPC | サポートされていない | HTTP 経由の OTLP のみ |
334| SAML、LDAP、およびその他の非 OIDC 認証 | サポートされていない | OIDC のみ。必要に応じて OIDC ブリッジで前面に配置します |
335| マルチテナント(複数の OIDC 発行者) | サポートされていない | ゲートウェイごとに 1 つの発行者。個別インスタンスを実行します |
336| Windows サーバー | サポートされていない | Linux にデプロイします。ローカル開発用の macOS のみ |
337| Helm チャート | 利用不可 | ゲートウェイは標準ステートレス Deployment として実行されます。[デプロイメントガイド](/docs/ja/claude-apps-gateway-deploy#kubernetes)を参照してください |
338| 管理 UI | 利用不可 | 設定は YAML ファイルです。変更するには再デプロイします |
339
340<h2 id="next-steps">
341 次のステップ
342</h2>
343
344クイックスタートは Docker Compose で実行されている最小設定を残します。さらに進めるには。
345
346* グループごとの RBAC、マルチアップストリームフェイルオーバー、またはテレメトリ宛先を追加するなど、最小設定を超えて `gateway.yaml` を拡張します。[設定リファレンス](/docs/ja/claude-apps-gateway-config)はすべてのオプションをカバーしています。
347* Compose から Kubernetes または Cloud Run での本番デプロイメントに移動し、IdP を適切に設定し、セキュリティモデルを確認します。[デプロイメントおよび運用ガイド](/docs/ja/claude-apps-gateway-deploy)は、IdP ごとのセットアップ、コンテナイメージ要件、ヘルスプローブ、およびトラブルシューティングをカバーしています。
348* 個々の開発者またはグループに支出キャップを設定して、暴走ワークロードがコミットメント全体を消費できないようにします。[支出制限](/docs/ja/claude-apps-gateway-spend-limits)は管理 API と強制がどのように機能するかをカバーしています。
349* Google Cloud での完全な実装例については、Cloud Run、Cloud SQL、Secret Manager を使用して、[Google Cloud にデプロイ](/docs/ja/claude-apps-gateway-on-gcp)を参照してください。