KEEL

ガバナンス

第04章 統制モデル

4 管理領域・5 統制軸・ログポリシー・RAG/MCP リスクを定義し、KEEL の LLM ガバナンス基盤を確立する。

主な読者: PMセキュリティSE

かみ砕き — 4 つの統制と 3 つのゲートウェイ層

たとえ統制の意味
改札誰が通れるか(認証・SSO)
手荷物検査何を送れるか(DLP)
通行量制限いくらまで使えるか(予算・レート)
防犯カメラあとから追えるか(監査ログ)
図: 3 層ゲートウェイ(役割の分離)
① Content Security GW — 中身を検査 プロンプト/応答 · DLP · インジェクション検知 ② MCP / Connectivity GW — 道具の出入り口 ツール台帳 · スキーマ検証 · OBO トークン ③ Runtime Authorization GW — 今やっていい? エージェント×ユーザー×意図 · OPA/Cedar · HITL 1 製品に全部入りでもよいが、設計上は 3 責務を分けて考える

図: 3 層ゲートウェイ(役割の分離)

図: 1 リクエストが通る 4 つのチェックポイント
ユーザー llm_input入力検査 LLM推論 llm_output出力検査 mcp_preツール前 mcp_postツール後 RAG/メール由来の「間接インジェクション」は mcp_post / llm_output で捕まえる

図: 1 リクエストが通る 4 つのチェックポイント


ガバナンスモデルの全体像

LLM ゲートウェイのガバナンスは 4 つの管理領域5 つの統制軸 で設計する。KEEL では社内利用と顧客案件を同一フレームで扱い、案件ごとに「上書きルール」を定義できる柔軟性を確保する。

4 つの管理領域

領域定義オーナー主な成果物
A. アクセス誰がゲートウェイを使えるかセキュリティ + インフラロール定義、仮想キー発行基準
B. データ何を LLM に送ってよいかセキュリティ + PMデータ分類表、禁止パターン
C. モデルどのモデルをどの用途で使うかSE リード + セキュリティ許可モデルリスト、ルーティング規則
D. 運用ログ・インシデント・変更管理インフラ + PMRunbook、変更申請テンプレ

5 つの統制軸

問い実装
Identify利用者・プロジェクトを特定できるか仮想キーに team_id / project_code を必須付与
Protect不適切な入力を防げるかDLP、許可モデル、ネットワーク分離
Detect異常利用に気づけるかレート異常、DLP ヒット、コスト急増アラート
Respondインシデント時に止められるかキー即時失効、fail-closed、エスカレーション
Recover再発防止できるかポストモーテム、ルール更新、教育

5 軸は NIST CSF の考え方を LLM 文脈に適用したものである。第 14 章で NIST AI RMF との対応表を示す。

ロールと責任(RACI 概要)

活動経営PMSEPGセキュリティインフラ
ポリシー承認ACIIRC
利用申請審査IA/RCICI
仮想キー発行ICIICR/A
DLP ルール変更IICIA/RR
インシデント一次対応ICCCA/RR

R = 実行責任、A = 説明責任、C = 協議、I = 情報共有。詳細テンプレは第 15 章。

ログポリシー

記録対象(必須)

項目保持期間備考
リクエスト ID、タイムスタンプ1 年(最低)顧客契約で 3 年要求あり得る
仮想キー ID(キー本体は不可)1 年ハッシュ化識別子
モデル名、トークン数、レイテンシ1 年コスト配賦に使用
DLP 判定結果(ブロック/許可)1 年監査エビデンス
プロジェクトコード / チームタグ1 年必須メタデータ

記録しない/マスクする項目

「デバッグのため全プロンプト保存」は Phase 1 でも原則禁止。例外はセキュリティ承認 + 限定キー + 自動削除 TTL 必須。

ログアクセス権

ロール閲覧範囲
一般開発者自分のキーの集計メトリクスのみ
PM担当プロジェクトの集計
セキュリティDLP ヒット・異常検知ログ
インフラ基盤メトリクス・障害ログ
監査人(内部)読み取り専用、全件サンプル

RAG / MCP 連携のリスク

RAG(Retrieval-Augmented Generation)と MCP(Model Context Protocol)は、ゲートウェイの外側に 新たなデータ経路 を作る。

リスク説明統制
データ過剰取得ベクター DB から機密チャンクが混入インデックス時の分類ラベル、検索フィルタ
ツール横断MCP サーバが外部 API・DB に無制限アクセス許可 MCP サーバリスト、スコープ制限
ゲートウェイ迂回ローカル LLM + 直結 MCP で統制外エージェント構成の事前登録、ネットワーク egress 制御
プロンプトインジェクション取得文書内の悪意ある指示入力サニタイズ + 出力ガードレール

Phase 2 で RAG/MCP を許可する場合、ゲートウェイだけでは不十分。データソース登録制と MCP サーバのセキュリティレビューをセットで義務化する。

変更管理

変更種別承認者リードタイム
新規仮想キー(標準モデル)PM + 自動即日〜1 営業日
新規モデル追加セキュリティ + SE リード3〜5 営業日
DLP ルール変更セキュリティ2 営業日(緊急は即時)
本番ゲートウェイバージョンアップインフラ + セキュリティ変更ウィンドウ週 1 回

ポリシー文書体系

  1. LLM 利用ポリシー(全社)— 禁止事項・違反時措置
  2. データ分類ガイドライン — 送信可否マトリクス
  3. モデル選定基準 — 用途別推奨モデル
  4. インシデント対応手順 — 第 6 章・第 13 章と整合
  5. ベンダー管理方針 — プロバイダ契約・サブプロセッサ

成熟度モデル

レベル状態KEEL の目標
L0個人キー、ログなし(現状の一部)
L1ゲートウェイ + 仮想キー + 基本ログPhase 1 完了
L2DLP + コスト配賦 + インシデント RunbookPhase 1 後半
L3RAG/MCP 統制 + コンプライアンスマッピングPhase 2
L4顧客案件テンプレ・継続的改善Phase 2 完了

ガードレール適用フック(ライフサイクル)

ゲートウェイ上のポリシーは、リクエストの 4 フック に割り当てると実装と監査が一致する(TrueFoundry / Engineering Playbook 等の収束パターン)。

フックタイミング検査対象代表制御
llm_inputモデル呼び出し前ユーザープロンプト、添付インジェクション検知、PII マスク、長さ制限
llm_outputモデル応答後生成テキスト漏えいパターン、毒性、ポリシー違反
mcp_pre_toolツール実行前引数・ツール名許可リスト、OPA/Cedar、レート制限
mcp_post_toolツール応答後取得コンテンツ間接インジェクション(RAG 汚染)検知
典型レイテンシ増備考
Input Guard+20〜100ms本番は段階的ロールアウト(flag → block)
Gateway Policy+5〜20ms認証・テナント分離
Tool Allow-list+10〜30msMCP フェーズで必須
Output Guard+50〜200msストリーミング時はバッファリングとトレードオフ

間接インジェクションllm_input だけでは防げない。mcp_post_tool または llm_output でツール/RAG 由来コンテンツを再検査する設計を Phase 2 の必須要件とする。


第 1・3・7 章とのつながり

本章の骨格読者向けの入口本番深掘り
4 管理領域・5 統制軸第 3 章(ルール・教育の具体)第 7 章(PII・監査・RAG ACL)
ログポリシー第 1 章(送ってはいけない 5 つ)第 7 章(監査 5 問い)
RAG/MCP リスク第 1 章(シャドー AI)第 7 章(チャンク ACL)

v1.7 補強 — MCP / Agent 統制を管理領域に含める

MCP や Agent は「アプリから LLM へ送るリクエスト」ではなく、LLM が外部システムへ作用する経路である。したがって、通常の API ゲートウェイ設計に加えて、ツール定義と実行時認可を統制対象に含める。

統制対象最低限の管理項目Phase
MCP サーバ台帳所有者、用途、接続先、認証方式、データ分類Phase 1 設計 / Phase 2 実装
Tool schema名称、説明文、引数、戻り値、危険操作、変更履歴Phase 2
Tool 実行ユーザー、Agent、意図、対象リソース、承認有無Phase 2
Tool 変更差分レビュー、署名、承認者、ロールバック手順Phase 2

Tool poisoning は、ツールの「説明文」や「引数スキーマ」に隠れた命令で Agent の判断を誘導する。ソースコードレビューだけでは検出できないため、ツール定義を構成管理し、変更差分を監査ログへ残す。

統制判断の粒度

判断粗すぎる例推奨粒度
誰が使えるか全社員に MCP を許可部門・プロジェクト・ユーザー単位
何を読めるかRAG インデックス全体chunk ACL / 文書 ACL
何を実行できるかAgent に全ツール許可read / write / export / delete の操作別
いつ止めるかインシデント後に手動停止予算・異常回数・外部送信で自動停止

v1.11 — リスト・レジストリと Registry / Gateway の責務分離

役割正本リストの性質更新トリガー
Registry(目録)Git registry/mcp-servers.yaml承認済み MCP サーバの allow 台帳新規 MCP 申請・四半期レビュー
Gateway(実行時)GW policy/*.yamlツール名 · 引数 · egress の deny/auditインシデント · 脅威インテル
Runtime AuthZOPA / 社内 RBAC マトリクスロール → L1〜L11 の束組織変更 · プロジェクト追加
クライアント.cursor/permissions.json テンプレ端末コマンド allow + 破壊 deny新 IDE 標準 · iwaken71 型事故後

allow 主か deny 主か(層ごとの推奨)

リスト種別推奨理由
モデル · MCP サーバallow未知の追加を止める
DLP キーワード · メタデータ IPdeny既知の漏洩パターンを遮断
端末コマンドallow 日常 + deny 破壊日常は許可、破壊は二重で塞ぐ
ツール引数(git clean 等)deny + regexGW で引数まで見る(Phase 2)

RBAC の束ね方(例)

IdP ロール / チーム仮想キー許可モデルMCP端末 Auto-run
eng-backendteam キーgpt-4o-mini, claude-sonnetgithub-mcp, internal-wikiAllowlist モード
pm-readonly個人キーgpt-4o-mini のみなし手動承認のみ
sec-audit監査用全モデル read-only 用途監査 MCP のみ禁止

Cursor Enterprise では複数グループ併属時 より permissive な設定が勝つ場合がある。LiteLLM MCP は intersection(厳しい方)。製品ごとに評価ロジックが違うため、台帳でトレースする(第 15 章 KEEL-LST)。

KEEL