AIセキュリティ保護対象のサービスポリシー
ベータ版
この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。
サービスポリシーにより、Unity Catalogに登録されたAIサービスとのやり取りのコンテンツ(Databricksがホストするものだけでなく、 外部 のMCPサーバーやあらゆるプロバイダーのモデルを含む)を管理できます。Unity Catalogの付与は、プリンシパルがサービスを呼び出すことが できるかどうか を決定します。サービスポリシーは、リクエストと応答のコンテンツ、および呼び出しを行っているユーザーに基づいて、そのやり取りが どのように 進むかを管理します。
サービス ポリシーは、AI サービスのガードレールを実装するために使用するメカニズムです。PIIのブロック、プロンプトインジェクション、または安全でないコンテンツなどのガードレールを追加する場合は、サービスポリシーがそのメカニズムです: Databricksには一般的なリスクに対する組み込みのガードレールがあり、組織固有のルールについてはカスタムポリシーを作成できます。
これは、エージェントがユーザーに代わって行動する場合に特に重要です。エージェントは、ユーザーがアクセスできるすべてを継承し、サービスは多くの場合、外部システムにアクセスします。サービスポリシーを使用すると、そのアクティビティにガードレールを設定できます。例えば、エージェントがGitリポジトリにコードをプッシュする前にユーザーの同意を求めたり、個人を特定できる情報 (PII) を含むモデル応答を拒否したり、安全でないコンテンツをブロックしたりすることができます。
サービスポリシーは、AIサービスにスコープ設定された属性ベースのアクセス制御(ABAC)ポリシーの一種です。ABACポリシーは2つのグループに分けられます。アクセス制御ポリシー(付与など)は、プリンシパルがオブジェクトに到達できるかどうかを決定し、コンテンツポリシーは、到達した後に何が起こるかを管理します。「サービスポリシー」は、AIサービスに対するコンテンツポリシーであり、行フィルターポリシーや列マスクポリシーがテーブルに対して果たす役割と同じです。それらと同様に、サービスポリシーはガバナンスロジックを含むUnity Catalog関数を参照し、それをセキュリティ保護可能なものにアタッチします。
サービスポリシーがUnity Catalogの付与を補完する方法
Unity Catalogの権限とサービスポリシーは、異なるガバナンスの課題に対応し、異なる適用ポイントで運用されます。
Unity Catalog の権限 | サービスポリシー | |
|---|---|---|
質問への回答 | このプリンシパルはこのサービスを呼び出すことができますか? | このインタラクションはどのように進行すべきですか? |
入力 | プリンシパルの識別情報と付与された権限 | リクエストコンテンツ、レスポンスコンテンツ、ツールアノテーション、アクターコンテキスト |
適用ポイント | リクエストがサービスに到達する前に | サービスが呼び出される前(ON CALL)と、サービスが応答した後(ON RESULT) |
粒度 | プリンシパルごと、セキュリティ保護可能なオブジェクトごと | リクエストごとに、コンテンツとコンテキストに基づいて |
サービスポリシーはUnity Catalogの権限を置き換えるものではありません。プリンシパルは、サービスを呼び出すためにまず適切なUnity Catalog権限を持っている必要があります。サービスポリシーは、各インタラクションのコンテンツを評価し、追加のガバナンスルールを適用します。
ポリシー決定
サービスポリシーはリクエストまたはレスポンスの内容を評価し、次の3つの結果のいずれかを返します。
- 許可 :インタラクションが進行します。
- DENY :ポリシーがインタラクションをブロックします。呼び出し元は、オプションの理由を含む構造化されたエラーを受け取ります。
- ASK :対話を進める前に、ポリシーは人間の承認のためにその対話を保留します。この承認ステップにより、機密性の高い操作に対するヒューマン・イン・ザ・ループのワークフローが可能になります。たとえば、管理者は破壊的なMCPツール呼び出しを実行する前に承認できます。MCPサービスを呼び出す外部エージェントの場合、この承認プロンプトはMCP URLエリシテーションを通じて配信されます。決定ポリシーの作成を参照してください。
ポリシーは、インタラクションイベント (アクターとリクエストまたはレスポンスのコンテンツを含む) を受信し、意思決定結果を返す SQL ユーザー定義関数 (UDF) です。
評価ポイント
Databricks は、すべてのインタラクションで 2 つの点でサービス ポリシーを評価します。
- 「 ON CALL 」:Databricksがサービスを呼び出す*前に*、リクエストに対して。 このフェーズを使用して、基盤となるサービスに到達する前にリクエストを検査してください。例えば、破壊的なMCPツールを呼び出すリクエストをブロックしたり、PIIが含まれるプロンプトがモデルに到達する前に拒否したりできます。
- 結果時 :サービスが応答した 後 、レスポンスに対して。このフェーズを使用して、レスポンスが呼び出し元に返される前に検査します。たとえば、幻覚コンテンツや機密データを含むレスポンスをブロックします。
カスタムポリシー関数は両方の点で実行されます。これは現在のフェーズ(event:type)を検査し、どのように動作するかを決定するため、単一のポリシーでリクエスト、レスポンス、またはその両方を管理できます。1つのフェーズでのみ動作させるには、関数本体でevent:typeに基づいて分岐します。組み込みポリシーは代わりにphasesオプションでスコープが設定され、一部は1つのフェーズでのみ実行されます(たとえば、ジェイルブレイク検出はON CALLでのみ、幻覚検出はON RESULTでのみ実行されます)。
評価順序
1つのサービスに複数のサービスポリシーをアタッチできます。各アタッチメントには**ランク**(優先度)があり、チェーンは最初のDENY で停止します。Databricksは、**ON CALL**では昇順(最低ランクが最初)で、**ON RESULT**では逆順でポリシーを評価します。 ランクを使用して、どのチェックを最初に実行するかを制御します。
次の図は、2つのフェーズがサービスの周囲にどのように配置されているか、そして各決定が何をするかを示しています。

組み込みサービスポリシー
Databricksは、system.aiカタログで組み込みのサービスポリシーを提供します。これらはカスタムSQLなしで一般的なガバナンスシナリオをカバーします。Databricksの AIガードレール は、カスタムポリシーと同じ方法でアタッチする、事前設定されたDatabricks管理ポリシー(PIIや安全でないコンテンツの検出など)である組み込みのサービスポリシーです。
system.ai.block_pii:個人を特定できる情報を含むインタラクションを拒否します。system.ai.block_unsafe_content: 安全でない、または有害なコンテンツを含むインタラクションを拒否します。system.ai.block_jailbreakモデルの安全指示を回避しようとするリクエストを拒否します。system.ai.block_hallucination:ハルシネーションを含む応答を拒否します。
組み込みポリシーを使用するには、サービスにアタッチします。ポリシー関数に対するEXECUTE権限と、ターゲットサービスに対するMANAGE権限が必要です。
組み込みサービス ポリシーの仕組み
組み込みサービスポリシーはLLM-as-a-judgeチェックであり、それぞれがDatabricksがキュレートするプロンプトを評価者モデルに対して実行し、コンテンツがポリシーに違反するかどうかを判断します。

評価者モデルサービス
各組み込みサービスポリシーは、コンテンツを判断するモデルである**評価器モデルサービス**でプロンプトを実行します。Databricksはdefaultの評価器を事前に選択するため、セットアップは不要です。CAN QUERY別のモデルを使用するには、ポリシーをアタッチするときに**詳細オプション**を展開して選択します。選択したモデルには が必要です。評価器は保護対象のサービスとは別であるため、ポリシーは別のモデルを評価器として使用して、あるモデルサービスへのリクエストを評価できます。
Databricksは、読み取り専用であるポリシーのプロンプトを管理しています。評価者が適用する正確な基準を確認するには、ポリシーをアタッチした際に プロンプト の下でご覧いただけます。
評価器が受け取るもの
組み込みサービスポリシーが実行されると、Databricksは評価器に2つの部分からなるリクエストを送信します:機会
- ポリシープロンプトと出力コントラクト(次のセクションで説明)を含む システムメッセージ 。
- 評価対象のコンテンツを含む ユーザーメッセージ です。リクエスト時(ON CALL)にはモデルサービスでの最後のユーザーメッセージ、またはMCPサービスでのツール呼び出しとその引数が含まれ、応答時(ON RESULT)にはモデルの返信が含まれます。
評価者は、抽出された単一の項目のみを認識します。保護されたサービスのシステム プロンプト、会話の以前のターン、または画像と音声のコンテンツは認識されません。各評価は単一のメッセージにスコープされているため、組み込みのサービスポリシーでは、会話を通じた段階的なエスカレーションなど、複数のメッセージにまたがるパターンを検出できません。
出力コントラクト
DatabricksはポリシープロンプトにJSON出力コントラクトを自動的に追加するため、評価者はフリーテキストではなく構造化された決定を返します。評価者は以下を返します。
flagged(Boolean):コンテンツがポリシーの基準に違反している場合はtrue。confidence(浮動小数点数、0.0~1.0、オプション):評価器がその決定に抱く信頼度。reason(文字列):コンテンツにフラグが立てられた理由の短い説明。flaggedがtrueの場合に返されます。
評価者がflagged: trueを返すと、Databricksはdefaultでやり取りをブロックします。ポリシーがMCPサービスにアタッチされており、要求するように構成されている場合、フラグ付きの結果は代わりに人間による承認のために呼び出しを停止します。Databricksがお客様に契約を適用するため、組み込みサービスポリシーにはフェーズとランク以外の設定は必要ありません。
評価コスト
Databricksは、組み込みのサービスポリシーに対して別途料金を請求しません。各評価は、評価モデルサービスへの他の呼び出しと同様に課金されるため、コストはそのモデルが提供される方法によって異なります。各評価で課金されるトークンには、ポリシープロンプト、出力コントラクト、抽出されたメッセージ、および評価者の応答が含まれます。オーバーヘッドを制限するため、フェーズあたりのポリシー数を少なく保ち、低レイテンシの評価モデルを推奨します。
サポートされているサービス
ベータ期間中、以下の Unity Catalog サービス セキュリティ保護可能なオブジェクトにサービス ポリシーをアタッチできます。
- MCPサービス:マネージド、外部、およびカスタムのMCPサーバー。
- モデルサービス:ホストされているLLMエンドポイントおよび外部LLMエンドポイント。
- モデルプロバイダーサービス:統制された外部モデルプロバイダー。
フェイルクローズド動作
サービスポリシーの評価はフェイルクローズドセマンティクスを使用します。Unity AI Gateway を介してポリシーをアタッチすると、Databricks はアタッチ時にそれを検証し、評価中にエラーが発生すると DENY になります。エラーには、ポリシー関数のユーザーエラー、システムエラー、リクエストコンテキスト内の不足しているフィールド、およびタイムアウトが含まれます。
誤って設定された、または破損したポリシーは、インタラクションを通過させるのではなくブロックします。
制限事項
ベータ版の期間中、以下の制限が適用されます:
- 変換:サービスポリシーは意思決定 (ALLOW、DENY、または ASK) を返します。ベータ期間中、リクエストまたはレスポンスのコンテンツを変換しません。
- サポートされているサービス : サービスポリシーは、MCPサービス、モデルサービス、モデルプロバイダーサービスに適用されます。エージェントサービスはサポートされていません。
- 単一メッセージ評価 :組み込みのサービスポリシーは一度に1つのメッセージを評価するため、会話内の複数のメッセージにまたがるパターンを検出することはできません。組み込みサービスポリシーの仕組みを参照してください。
- ネストされた評価:組み込みサービスポリシー用に選択した評価モデルサービスに独自のポリシーがアタッチされている場合、Databricksは評価の実行時にそれらをスキップします。これにより再帰が防止されます。