KEEL

全体像

第02章 全体像と課題

LLM ゲートウェイが解決するシャドー IT・コスト・監査の課題と、KEEL 向け参照アーキテクチャを示す。

主な読者: 経営PMSEPGセキュリティインフラ

この章でわかること(30 秒)

LLM ゲートウェイは 「会社専用の AI 改札口」 です。開発者やアプリはここを通るだけで、認証・料金・安全チェック・ログが一括で効きます。

図: シャドー利用 vs ゲートウェイ経由(イメージ)
Before — バラバラ接続 開発者A 開発者B バッチ 個人APIキー Cursor直 不明経路 ログなし · コスト不明 · DLPなし After — 一本化 社内 LLM ゲートウェイ 認証 DLP ログ 仮想キー · 予算上限 · 監査可能

個人キーの直結は「誰が何を送ったか」が見えない。ゲートウェイは会社の AI 専用改札口のイメージ。

覚えておく一言: ゲートウェイ = プロバイダ API の前に置く「逆プロキシ + 統制レイヤー」


LLM ゲートウェイとは何か

LLM ゲートウェイは、社内のあらゆる LLM クライアント(IDE、チャット UI、バッチ、RAG パイプライン)と 複数のモデルプロバイダ API の間に置く逆プロキシ兼統制レイヤー である。OpenAI 互換エンドポイントを提供することで、クライアント側の設定変更を最小化しつつ、認証・認可・ログ・レート制限・ルーティングを中央集約する。

KEEL のような SI 企業では、社内開発顧客環境への展開提案 の両方で同じ参照アーキテクチャを使えることが重要である。

参照アーキテクチャ

flowchart TB subgraph clients [クライアント層] IDE[IDE / Cursor / VS Code] CHAT[チャット UI] APP[社内アプリ / RAG] BATCH[バッチ / CI] end subgraph gateway [LLM ゲートウェイ層] PROXY[LiteLLM Proxy / APIM] AUTH[認証・仮想キー] DLP[DLP / ガードレール] ROUTE[モデルルーティング] LOG[監査ログ] end subgraph providers [プロバイダ層] AZURE[Azure OpenAI] OAI[OpenAI API] ANT[Anthropic] OTHER[その他 / ローカル LLM] end subgraph ops [運用基盤] IDP[Entra ID / IdP] SIEM[SIEM / ログ基盤] VAULT[シークレット管理] end IDE --> PROXY CHAT --> PROXY APP --> PROXY BATCH --> PROXY PROXY --> AUTH AUTH --> DLP DLP --> ROUTE ROUTE --> AZURE ROUTE --> OAI ROUTE --> ANT ROUTE --> OTHER AUTH --> IDP LOG --> SIEM PROXY --> VAULT PROXY --> LOG

図中の LiteLLM / APIM は代表例である。第 5 章で KEEL 向けの選定基準を比較する。

KEEL が直面する 3 大課題

1. シャドー IT とキー散乱

開発者が個人クレジットカードや無料枠で API キーを取得し、.env や IDE 設定に直書きするパターンが蔓延している。

症状影響
退職者のキーが無効化されないデータ漏洩・不正利用
顧客ソースがパブリック API に送信契約違反・損害賠償リスク
部門ごとに別契約ボリュームディスカウント喪失

2. コストのブラックボックス化

トークン課金は リクエスト単位ではなく会話・ジョブ単位 で膨らむ。プロジェクトコードと紐づかない課金は、SI 企業の原価管理と相容れない。

ゲートウェイなしでは「誰がいくら使ったか」を月末に手集計する運用になりやすい。KEEL 内の実工数は Phase 0/1 でベースライン計測する(UNRESOLVED: 実績待ち)。

3. 監査・説明責任の欠如

金融・製造・公共の顧客は、サプライヤーの AI 利用について データの所在・学習利用の有無・ログ保持 を問う。都度アドホックに回答する体制では、提案フェーズで不利になる。

ゲートウェイが解くこと — 機能マッピング

課題ゲートウェイ機能期待効果
キー散乱仮想キー + プロバイダキー一元管理キーローテーションが 1 箇所で完結
コスト不可視チーム/プロジェクト別メタデータタグ月次レポート自動化
監査不足全リクエスト/レスポンスメタログ顧客監査へのエビデンス提示
モデル乱用許可モデルリスト + ルーティング用途に応じたコスト最適化
データ漏洩DLP・入力検査送信前ブロック(fail-closed)

KEEL における利用シナリオ

シナリオ利用者統制レベル
社内ツール開発PG / SE標準(社内コードは匿名化推奨)
顧客システム保守SE厳格(顧客データは原則禁止)
提案・ドキュメント作成PM / コンサル標準(個人情報マスキング)
PoC / デモSEサンドボックス仮想キー、低コストモデル限定

導入しない場合の代替案と限界

代替案限界
各クラウドのエンタープライズ契約のみIDE 直結は統制外、ログが分散
プロキシなし VPN 出口制限のみ暗号化 HTTPS では内容検査不可
利用規約と啓蒙のみコンプライアンス証跡にならない

ゲートウェイは 技術統制の要。ポリシー・教育・契約と三位一体で初めて効果を発揮する(第 4 章ガバナンス参照)。

他章への導線


2026 年モデル — 3 層ゲートウェイ(単一 GW だけでは足りない)

多くの企業は「LLM 用リバースプロキシ」を 1 枚置いた時点で完了と誤認する。2026 年時点のエンタープライズ実務では、役割の異なる 3 層に分けて設計するのが推奨パターンになっている。

名称主な責務KEEL Phase
1Content Security Gatewayプロンプト/応答のインライン検査、DLP、インジェクション検知Phase 1 必須
2MCP / Connectivity Gatewayツールサーバ台帳、スキーマ検証、MCP 経路の集中入口Phase 2
3Runtime Authorization Gatewayエージェント×ユーザー×意図に基づく実行時認可(OPA/Cedar 等)Phase 2 以降
flowchart LR Agent[Agent / IDE] --> G1[Content GW] G1 --> G2[MCP GW] G2 --> Tools[MCP / API / DB] G1 --> LLM[LLM Provider] G3[Runtime AuthZ] -.-> G1 G3 -.-> G2

3 層は必ずしも別製品である必要はない(例: Azure APIM が LLM + MCP Content Safety を統合)。ただし 設計上の責務分離 は監査・障害切り分けに有効。

統一テレメトリ平面

フォレンジック調査では、プロンプトログ(層1)・ツール呼び出し(層2)・認可決定(層3)を 同一 trace_id で相関できることが必須。SIEM には非同期転送でよいが、ID スキームは Phase 1 から固定する。


用語ミニ辞典(初めて読む人向け)

用語かんたん説明
Virtual Key(仮想キー)本物の OpenAI キーの代わりにアプリへ渡す「制限付き入館証」
DLPクレカ番号・個人情報などを送る前に止めるフィルタ
Guardrails有害な入出力やインジェクションを弾く安全柵
MCPAI が外部ツール(DB・API)を呼ぶための共通プロトコル
Shadow AI会社の承認なしに個人キーで LLM を使うこと
fail-closed安全装置が壊れたら「止める」。金融系ではこちらが標準
flowchart LR subgraph なし [ゲートウェイなし] U1[開発者] -->|個人キー| P1[OpenAI] end subgraph あり [ゲートウェイあり] U2[開発者] --> GW[社内GW] GW --> P2[複数モデル] GW --> LOG[ログ/予算] end

ストーリーで読む — 推奨順序(v1.7)

本パックには 2 つの読み方がある。通読ルートは経営・PM・セキュリティが全体設計を合意するための順序、役割別ルートは担当者が必要章だけ読むための順序である。

通読ルート(合意形成向け)

順番目的読者
1第 0 章投資判断・Phase 1/2 の全体像経営・PM
2第 1 章全社員が守る最低ライン全社員
3第 2 章何をゲートウェイで集中統制するか全員
4第 3 章ルール・契約・教育を固めるPM・法務・情シス
5第 4 章統制モデル・ログ・RACI を定義PM・セキュリティ
6第 5 章製品選定と PoC 観点を決めるPM・インフラ
7第 6〜7 章脅威モデルから本番品質へ落とすセキュリティ・SE
8第 8〜15 章構築・開発・運用・テンプレに展開各担当
9第 16〜17 章根拠確認・未決事項の管理全員

役割別ルート(実務向け)

立場最短ルート到達点
全社員第 1 章送ってはいけない情報と相談先が分かる
経営第 0 → 11 → 17 章投資判断・未決事項・KPI が分かる
PM第 0 → 3 → 10 → 12 → 15 章申請・教育・ロールアウトを回せる
セキュリティ第 4 → 6 → 7 → 14 章脅威モデル・DLP・監査証跡を設計できる
インフラ第 5 → 8 → 13 章製品・ネットワーク・運用を設計できる
開発者第 1 → 9 章IDE/SDK を安全に接続できる

第 5 章は章番号上はセキュリティ章より前にあるが、読む目的は「製品決定」ではなく PoC で何を検証するかを固定すること である。製品名だけで選ばず、第 6・7 章の防御要件を満たせるかで判断する。

脅威の現実化 — なぜ「入口統制」だけでは足りないか

近年の研究・事例では、攻撃者がチャット入力欄に直接命令を入れるだけでなく、メール、Web ページ、RAG 文書、MCP ツール説明文など、AI が読む周辺コンテキストに命令を埋め込むパターンが増えている。

攻撃面典型例ゲートウェイで見るべき信号
直接入力利用者プロンプト内の命令上書きllm_input の分類・拒否・警告
間接入力メール・Web・添付・RAG 文書に隠れた命令取得元 URL、文書 ID、検索クエリ、chunk ACL
ツール定義MCP tool の説明文・schema に隠れた命令ツール台帳、署名、差分レビュー、実行前承認
出力経路Markdown リンク、画像 fetch、外部 URL への誘導llm_output の URL/HTML/コード検査

このため、LLM ゲートウェイは単なる API キー集約ではなく、入力・検索・ツール・出力・認可判断を同じ trace_id でつなぐ監査平面として設計する。


v1.8 — Bedrock「だけ」では足りない論点(国内検証の収束)

エンタープライズが Bedrock 等の従量課金プロバイダへ移行するとき、推論 API 自体には次が 標準では揃いにくい

要件Bedrock 単体の典型ギャップCF AIG で補える部分依然として自前が要る部分
監査ログCloudWatch/S3 は設定次第。IDE 直結は分散リクエスト/レスポンスの集中ログ [71]保持期間・SIEM 形式・PII マスキング方針
ガードレールGuardrails はあるがアプリ統合が別途DLP・Guardrails・レート制限の一体 [9]社内データ分類とのマッピング
個人/チーム予算CUR/Cost Explorer は 事後集計 が中心 [78]Spend limits + metadata で リアルタイム 429 [72]請求確定額はプロバイダ正
予算超過の強制停止ネイティブな per-user ハードストップは弱いゲートウェイ側でブロック or 安価モデルへフォールバック [72]並行リクエストは eventually consistent
プロジェクト按分2026-04 以降 IAM principal / session tag 按分 [78][79]cf-aig-metadata で利用分析 [71]AWS 請求タグと GW メタデータの突合

なぜ LiteLLM を選ばなかった企業もいるか

mediba では勉強会で LiteLLM プロキシのカスタム が他社事例として出てきた一方、自社では「構築・運用・OSS カスタム保守の隠れコスト」を理由に見送っている [71]。KEEL の Phase 1 推奨(LiteLLM)は 柔軟性と Azure 親和性 のトレードオフとして維持しつつ、運用リソースが乏しい部門向けの代替パターン として CF AIG を第 5・8・12 章に追記した。

参照アーキテクチャ — Pattern CF(コーディングエージェント向け)

[Claude Code / Cursor / SDK]
        ↓  cf-aig-authorization + cf-aig-metadata
[Cloudflare AI Gateway] — ログ · レート制限 · Spend limits · DLP
        ↓  BYOK(Bedrock API キー or IAM)
[Amazon Bedrock ap-northeast-1 等]
        ↓
[AWS 請求] ← IAM principal / タグ按分(事後)

CF AIG の認証トークンは アカウントスコープ で、単一トークンが同一アカウント内の全ゲートウェイ(BYOK 含む)に使える [77]。テナント分離は Cloudflare アカウント分割 または Worker binding 等で設計する。


v1.10 — 露出は二方向に分けて考える

AI 利用時の「情報の露出」は、性質の異なる 2 つの問題に分けて整理します(Zenn: 開発現場のAIセキュリティを見直す)。

AI利用時の露出は①AI提供事業者への露出と②攻撃者への露出の二方向
AI利用時の露出は①AI提供事業者への露出と②攻撃者への露出の二方向

*出典: 開発現場のAIセキュリティを見直す(nenene01 / Zenn)*

方向何が起きるか守り方KEEL での実装
① 事業者への露出プロンプト・ツール出力が OpenAI / Anthropic 等へ送信される契約・ガバナンス(学習オプトアウト、保持期間、Shadow AI 禁止)第 3 章 · 社内 GW · エンタープライズ契約
② 攻撃者への露出プロンプトインジェクション等でコンテキストが外部へ流出技術・設計(致死的三要素を崩す、最小権限)第 6 章 · MCP 台帳 · Runtime AuthZ

ARN やシークレットのキー名は「露出しても単体では悪用しにくい」メタデータ。個人情報は露出した時点でアウト — ①②の両方で遮断が必要です。

2026 年の進め方(4 ステップ)

安全なAI利用へのロードマップ4ステップ
安全なAI利用へのロードマップ4ステップ

*出典: 開発現場のAIセキュリティを見直す(nenene01 / Zenn)*

Step内容本パックの章
1ルールと契約を固める第 3 章
2エージェントに専用の身分を払い出す第 8・9 章
3経路とデータを固める第 7・8 章
4外部汚染対策を仕組みにする第 6・9・13 章

v1.11 — リスト・権限は「ゲートウェイの外」にもある

本パックは社内 LLM ゲートウェイが主題だが、iwaken71 氏の事故 が示す通り、端末の git cleanRemove-ItemGW を経由しない。統制は次の 4 層で考える。

リスト例権限(誰が編集)
クライアント端末 allow/deny · ワークスペーススコープPG(プロジェクト)+ Sec 雛形
Content GWモデル · DLP · 出力 URLPM + Sec · 仮想キー RBAC
MCP GWサーバ台帳 · ツール名 · 引数 regexSec · Registry 承認
Runtime AuthZロール → 上記の束 · HITLPMO · IdP グループ

denylist だけでは足りないBackslash 分析の通り文字列 deny は回避されうる。allowlist + サンドボックス + 承認を併用する(第 6・9 章)。

KEEL