悪質なAIを阻止:Unity Catalogがエージェントの行動を保護する方法
エージェント型AIのリスクはもはや理論上のものではありません。外部ツールに接続されたエージェントが、データベース全体の消去や数百万行の重要なデータの削除など、破壊的で不可逆的な行動を本番環境で引き起こしています。Databricksは、Unity Catalogを介してMCPツールにきめ細かいアクセス制御、ポリシー適用、完全な監査証跡を提供し、このようなインシデントを防止し、トレーサビリティを確保します。
エージェント型AIのリスクはもはや理論上のものではありません。外部ツールに接続されたエージェントは、本番環境で破壊的で不可逆的な行動をとっています。データベース全体を数秒で消去し、数百万行の重要なデータを削除し、タスクの途中で本番データベースを削除します。いずれのインシデントでも、エージェントは委任された権限の範囲内で行動していましたが、呼び出せるツールに制限がなく、実行した行動の記録もありませんでした。
本日、私たちはすべてのMCPツールをデータと同様にガバナンスする機能を提供します。きめ細かいアクセス制御、ポリシー適用、完全な監査証跡を備えています。Unity Catalogを使用すると、誰がどのMCPサーバーを呼び出せるかを設定でき、管理者はサービスポリシーを階層化して特定のツール(例:delete_database)へのアクセスを制限したり、ツールを呼び出せる条件(例:管理者のみdelete_databaseを呼び出し可能)を定義できます。Unity AI Gatewayはこれらのポリシーをすべての呼び出しにリアルタイムで適用し、すべてのリクエストの完全なペイロードをログに記録します。
問題:アクセスは全か無か、ツール呼び出しは痕跡を残さない
MCPサーバーは、接続されたエージェントにツールのセットを公開します。GitHub MCPはpush_files、delete_file、merge_pull_requestを公開し、データベースMCPはexecute_queryやdrop_tableを公開する可能性があります。デフォルトでは、エージェントが接続を許可されている場合、これらのツールはすべていつでも利用可能です。「このエージェントは読み取りのみ可能で書き込みは不可」や「シニアエンジニアのみがこの操作を実行可能」、「本番環境で管理ツールを誰も呼び出すべきではない」といった設定はできません。
問題が発生した場合、調査する手段はありません。ツール呼び出しはモデルログやアプリケーションログに表示されません。エージェントが実行した正確なアクション、引数、誰の代理であったかという記録はどこにも存在しません。
つまり、1つの設定ミスのエージェント、1つの予期しないアクションが発生した場合、発生を防ぐ方法も、発生後に説明する方法もありません。
解決策:Unity CatalogでのMCPガバナンス
Unity Catalogは現在、LLMやMCPを含むGenAI全体をガバナンスします。MCPを登録すると、これまで欠けていたもの、つまりエージェントに許可される操作の制御と、実際に実行された操作の完全な記録が得られます。両方はUnity AI GatewayによってすべてのMCP呼び出しにリアルタイムで適用されます。
サービスポリシーを使用すると、ツール呼び出しが上流のMCPサーバーに到達する前後に評価されるルールを作成できます。どの呼び出しを許可、拒否、またはユーザーの同意を必要とするかを決定します。サービスポリシーはSQLで定義され、管理者は引数、呼び出し元のプロパティ、その他のコンテキストプロパティを確認できます。ポリシーを通過しない呼び出しはブロックされます。
ペイロードロギングにより、すべてのツール呼び出しがUnity Catalogで管理されるトレーシングテーブルのエントリとしてキャプチャされます。ツール名、引数、結果、ユーザーID、呼び出しが許可されたか拒否されたかが記録されます。他のテーブルと同様にSQLでクエリできます。
仕組み
Unity Catalogでポリシー関数を定義
Unity Catalogを使用すると、任意の外部MCPを登録してガバナンスできます(詳細はブログを参照)。サービスポリシーはUnity CatalogのSQL関数です。actor(呼び出し元)とcontext(呼び出し対象)の2つの引数を受け取り、許可/拒否と理由を返します。
これはGitHub MCPのシンプルなポリシーです。ファイル削除を完全にブロックし、承認されたエンジニア以外のPRマージをブロックします。
アタッチして適用
作成後、Unity AI Gatewayの任意のMCPサービスにポリシーをアタッチします。それ以降、そのサービスを経由するすべてのツール呼び出しは実行前に評価されます。エージェントやMCPサーバーのコード変更は不要です。
ログと検証
すべてのツール呼び出しは自動的にUnity CatalogのDeltaテーブルにキャプチャされます。ブロックされるべきプロンプトと通過すべきプロンプトを送信します。結果はすぐにログに表示され、他のテーブルと同様にSQLでクエリできます。
はじめに
MCPのサービスポリシーとペイロードロギングは限定ベータ版として提供され、データに既に使用しているガバナンスの概念をすべてのMCP呼び出しに拡張します。早期アクセスを希望する場合は、Databricksのアカウントチームにお問い合わせください。