# どのクライアントがモデルに到達できるかを決める

> リクエストヘッダーのアクセスルールで、どのクライアントが AI ゲートウェイを呼べるかを制限：User-Agent や任意のヘッダーで許可 / 拒否、グローバル / グループ / キーのスコープ、許可リストモード、ReDoS 安全な正規表現。

正規 URL: https://www.gatellm.io/ja/use-cases/client-admission-control/

User-Agent、オリジン、任意のヘッダーで許可 / 拒否するリクエストヘッダーのアクセスルール。グローバル、キーグループ、単一キーのスコープで適用できます。

## コミュニティが実際に不満を言っていること
「キーが漏れたら、持っている誰でもクォータを焼ける」「社内のコーディングエージェントは許可したいが、素の curl やスクレイパーは止めたい」「ベンダーのコンソールには IP 許可リストがあるが、こちらのトラフィックは動的でプロキシの背後なので合わない」。
強制はリクエストが到着する場所、つまりゲートウェイで行う必要があります。開発者が切り替えられるクライアント側の設定ではいけません。

## GateLLM の実現方法
GateLLM はすべてのリクエストで HTTP ヘッダーに対して受け入れルールを評価します。6 つのマッチ種別（完全一致 / 前方一致 / 正規表現 / 存在 / 不在 / 任意）と 3 つのスコープ（グローバル / キーグループ / キー）があり、sort_order で順序付けされ、最初の一致が採用されます。
「承認済みのクライアントのみ」を実現するには許可リストモードを使います。グループの既定アクションを deny にし、クライアントのシグネチャに一致する許可ルールを 1 つ追加すれば、それ以外はモデルに到達する前に拒否されます。

## 実際に効果が出る 5 つのレバー
- 6 つのマッチ種別：完全一致 / 前方一致 / 正規表現 / 存在 / 不在 / 任意。1 つのルールで正規表現の選択により「A または B または C」を表現可能
- 3 つのスコープ：グローバル、キーグループ単位、キー単位。最初の一致を採用し、同じ順序ではグローバルが優先
- 許可リストモード：既定 deny + 明示的な allow 1 つ。未知の新しいクライアントは既定で拒否
- ルールはモデル一覧のルート（/v1/models）にも適用され、拒否されたクライアントはエンドツーエンドで締め出される
- ReDoS 安全な線形時間の正規表現エンジン。病的なパターンはリクエスト時ではなく読み込み時に拒否

## FAQ
### クライアントは X-Forwarded-For を偽装してルールを回避できますか？
はい。X-Forwarded-For はクライアントが偽装できます。信頼できるリバースプロキシが上書きする場合にのみ信頼でき、そうでなければ悪意あるクライアントが任意の値を入れられます。実際の IP で受け入れる場合は、ゲートウェイが直接見る送信元 IP を使い、TRUSTED_PROXIES を設定してください。

### キーは正しいのにクライアントが 403 になるのはなぜですか？
アクセスルールはモデル一覧のルートにも適用されます。拒否されたクライアントは最初の /v1/models 呼び出しの時点でブロックされることがあります。Header ACL のルールが一致していないか確認し、既定 deny では許可ルールに一致しないクライアントが拒否されることを覚えておいてください。

### 「ヘッダーに X が含まれない場合のみ許可」は書けますか？
単一の正規表現では表現できません。エンジンに先読みがありません。逆に組み立ててください。既定アクションを deny にし、「X を含む場合に許可」するルールを 1 つ追加します。一致しないリクエストは既定の deny にフォールバックします。

- [詳細手順：Header ACL の設定（docs）](https://docs.gatellm.io/en/howto/configure-header-acl)

## 関連ページ
- [ホーム](https://www.gatellm.io/ja/index.md)
- [料金](https://www.gatellm.io/ja/pricing.md)
- [コスト計算ツール](https://www.gatellm.io/ja/calculator.md)
- [会社概要](https://www.gatellm.io/ja/about.md)
- [デモを予約](https://www.gatellm.io/ja/demo.md)
- [FAQ](https://www.gatellm.io/ja/faq.md)
- [AI ゲートウェイ比較](https://www.gatellm.io/ja/compare.md)
- [LiteLLM 比較](https://www.gatellm.io/ja/compare/litellm.md)
- [OpenRouter 比較](https://www.gatellm.io/ja/compare/openrouter.md)
- [Alibaba Cloud AI Gateway 比較](https://www.gatellm.io/ja/compare/alibaba-cloud.md)
- [Azure API Management 比較](https://www.gatellm.io/ja/compare/azure-apim.md)
- [Apigee 比較](https://www.gatellm.io/ja/compare/apigee.md)
- [Cloudflare AI Gateway 比較](https://www.gatellm.io/ja/compare/cloudflare.md)
- [Kong AI Gateway 比較](https://www.gatellm.io/ja/compare/kong.md)
- [Portkey 比較](https://www.gatellm.io/ja/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/ja/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/ja/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/ja/compare/litellm-vs-portkey.md)
- [ユースケース](https://www.gatellm.io/ja/use-cases.md)
- [LLM コスト削減](https://www.gatellm.io/ja/use-cases/reduce-cost.md)
- [高可用性](https://www.gatellm.io/ja/use-cases/high-availability.md)
- [マルチテナント分離](https://www.gatellm.io/ja/use-cases/multi-tenant.md)
- [コンプライアンスと監査](https://www.gatellm.io/ja/use-cases/compliance-audit.md)
- [症状別トラブルシューティング](https://www.gatellm.io/ja/use-cases/troubleshooting.md)
- [マルチベンダー混合モデル構成](https://www.gatellm.io/ja/use-cases/mixed-model-stack.md)
- [Office 内での AI セルフホスト](https://www.gatellm.io/ja/use-cases/self-hosted-office-ai.md)
- [Token 使用量の可視化と帰属](https://www.gatellm.io/ja/use-cases/token-ops.md)
- [Token FinOps：AI コストの配賦と統制](https://www.gatellm.io/ja/use-cases/token-finops.md)
- [MCP ツールガバナンス](https://www.gatellm.io/ja/use-cases/mcp-tool-governance.md)
- [すべてのモデルに Web 検索を追加](https://www.gatellm.io/ja/use-cases/web-search-grounding.md)
- [マルチキーのローテーションと待機系](https://www.gatellm.io/ja/use-cases/multi-key-pooling.md)
- [モデル利用ポリシーの強制](https://www.gatellm.io/ja/use-cases/enforce-model-policy.md)
- [クライアントにモデル選択を公開しない](https://www.gatellm.io/ja/use-cases/automatic-model-tiering.md)
- [1 つのプロトコルで、あらゆるモデル](https://www.gatellm.io/ja/use-cases/one-protocol-any-model.md)
- [Office / Microsoft 365 アドイン](https://www.gatellm.io/ja/office-addin.md)
- [用語集](https://www.gatellm.io/ja/glossary.md)
- [モデルカタログ](https://www.gatellm.io/ja/models.md)
- [SDK・フレームワーク連携](https://www.gatellm.io/ja/integrations.md)
- [AI コーディングエージェントとハーネス](https://www.gatellm.io/ja/coding-agents.md)
- [セキュリティとコンプライアンス](https://www.gatellm.io/ja/security.md)
