Skip to content
Berktug Berke Ates
Berktug Berke Ates

ソフトウェアエンジニア

ブログ

マルチテナントAIコパイロットの権限モデル

· 7分で読める

チャット権限を継承しつつデータACLを無視するマルチテナントAIコパイロットは、誤ったテナントを自信満々に引用します。ツール呼び出しはAPIと同じ認可パスを使うべきです—テナント・役割・リソースごとにスコープ。

チャットアクセスはデータアクセスではない

コパイロットパネルを開けるユーザーが、モデルが取得できるすべての文書を自動で読めてはいけません。会話メンバーシップとリソース権利を分離します。モデルは、そのテナントでそのプリンシパルにサーバー側ポリシーが許すものだけを見ます—プロンプトがユーザーに「必要」と主張するものではありません。

クロステナント漏洩はしばしば検索で始まります:テナント述語なしで索引付けされた埋め込み、または類似度だけで問い合わせる共有ベクトルコレクション。すべてのインデックスパーティションとツール引数検証にテナントIDを入れてください。

ツールを公開APIのように認可する

すべてのツール呼び出しはRESTまたはgRPCハンドラと同じ認可ミドルウェアを通すべきです:ユーザー(またはサービス身元)を認証し、テナント文脈を解決し、RBAC/ABACを確認し、最小権限で実行。エージェントは行レベル検査を迂回する長期の神トークンを持ってはいけません。

セッションまたはツール呼び出しごとに発行する短命・スコープ付きクレデンシャルを好みます。エージェントがファンアウトするときは subject とテナントクレームを伝播し、プランナー段が「もっと文脈が要る」からスコープを広げないでください。

  • 検索インデックスとツール引数にテナント述語を強制する
  • すべてのツール呼び出しでAPI認可ミドルウェアを再利用;影の権限パスなし
  • 共有サービス神の代わりに短命スコープ付きクレデンシャルを発行
  • 各呼び出しでプリンシパル、テナント、ツール、リソース、決定を監査

エージェントが代理するプリンシパルをモデル化する

コパイロットがエンドユーザーとして動くか、制約付きアシスタント役割か、別承認のブレイクグラスオペレーターかを決めます。サポートとコンプライアンス向けに差を文書化します。監査なしのなりすましは待ち構えるセキュリティ事故です。

プロンプトインジェクションはツール昇格を試みます。防御はモデル外のポリシー執行です:拒否リスト、役割ごとのツール許可リスト、新しい権限を付与できない出力フィルタ。

分離を継続的に証明する

盗まれた会話IDでクロステナント検索とツール呼び出しを試みる自動テストを追加します。プロンプトやインデックス変更後の拒否率と予期せぬ許可スパイクを監視します。マルチテナントコパイロットはデモでは騒がしく、本番では静かに失敗します—静かな失敗に計装してください。

権限はプロダクト面です。背後で話すモデルと同じ注意で設計してください。


2026年9月17日、Berktug Berke Ates が公開。