外部モデルプロバイダー(モデルプロバイダーサービス)へのアクセスを検出および管理する
利用可能な外部モデルプロバイダー(モデルプロバイダーサービス)を確認し、Unity Catalogの権限を使用してそれらへのアクセスを管理します。
要件
- モデルプロバイダーサービスを管理するには、そのサービスに対する
MANAGE権限、またはそのカタログまたはスキーマに対するMANAGE権限が必要です。
モデルプロバイダーサービスを探索する
モデルプロバイダーサービスはUnity Catalogのセキュリティ保護可能なオブジェクトであるため、Catalog Explorerのカタログおよびスキーマの下に、他のデータおよびAIアセットと並んで表示されます。Catalog Explorerを使用して、アクセス権を持つモデルプロバイダーサービスを見つけ、そのプロバイダータイプと設定を検査できます。サービスは資格情報を表示しません。
Unity Catalog の権限でアクセスを管理します
他の Unity Catalog セキュリティ保護可能オブジェクトに使用するのと同じ GRANT および REVOKE ステートメントで、モデル プロバイダー サービスへのアクセスを許可または取り消します。モデル プロバイダー サービスをクエリするには、ユーザーはそれに対して EXECUTE が必要で、そのカタログとスキーマに対して USE CATALOG および USE SCHEMA が必要です。
-- Grant access to a team
GRANT USE CATALOG ON CATALOG main TO ai_team;
GRANT USE SCHEMA ON SCHEMA main.default TO ai_team;
GRANT EXECUTE ON MODEL PROVIDER SERVICE main.default.openai_prod TO ai_team;
-- Revoke access
REVOKE EXECUTE ON MODEL PROVIDER SERVICE main.default.openai_prod FROM ai_team;
権限およびサービスポリシーの変更がクエリーリクエストに反映されるまで、数分かかる場合があります。その間、リクエストは以前の権限を引き続き使用する可能性があります。
呼び出し元は、認証情報を確認することなくモデルプロバイダーサービスに対してクエリーを実行できます。Unity Gatewayがリクエスト時に保存された認証情報を付与します。したがって、EXECUTEを付与することで、チームはAPIキーを配布することなくプロバイダーを使用できるようになります。
モデルプロバイダーサービスを更新して、保存されている資格情報をローテーションまたは置き換えます。モデルプロバイダーサービスを編集するには、その上でMANAGEが必要です。これは直接保持するか、親カタログまたはスキーマから継承されます。サービスがどのプロバイダー資格情報を使用するかを設定することを意図するプリンシパルにのみ、MANAGEを付与してください。サービスは、読み取り時に保存されている資格情報をプレーンテキストで返しません。サービスを更新すると、資格情報が置き換えられ、開示されません。
サービス資格情報によってサポートされるプロバイダー
Google Gemini Enterpriseプロバイダーは、保存されたAPIキーの代わりにサービス認証情報を使用して認証できます。その場合、アクセスは1つではなく2つのオブジェクトに依存します:
- 呼び出し元には、他のプロバイダーと同様の権限が引き続き必要です。サービス認証情報を使用する場合、追加の要件はありません。呼び出し元は、認証情報自体に対する権限を必要としません。
- モデルプロバイダーサービスの所有者は、サービス資格情報に対する
ACCESSを保持している必要があり、それを維持する必要があります。Databricks では、リクエストの処理時に所有者のアクセス権が再確認されるため、所有者のACCESSを取り消すと、EXECUTEを保持している呼び出し元を含め、すべての人に対してプロバイダーが無効になります。
この認証方法の構成方法については、「サービス認証情報を使用したGoogle Gemini Enterpriseの認証」をご覧ください。
Unity Catalogシークレットによってサポートされるプロバイダー
プロバイダー認証情報は、保存されたインライン値の代わりに、顧客が所有する Unity Catalog シークレットによってサポートされることができます。したがって、アクセスは 1 つではなく 2 つのオブジェクトに依存します。
- 呼び出し元には、他のプロバイダーと同様の付与(グラント)を引き続き必要とします。Unity Catalog シークレットを使用しても要件は追加されません。呼び出し元はシークレット自体に対する権限を必要としません。
- モデルプロバイダーサービスの所有者は、Unity Catalogのシークレットに対する
READ SECRETを保持している必要があり、それを維持する必要があります。Databricksはリクエストの処理時に所有者のアクセス権を再確認するため、所有者のREAD SECRETを取り消すと、EXECUTEを保持している呼び出し元を含め、すべてのユーザーに対してプロバイダーが無効になります。
この認証方式の構成方法については、Unity Catalog シークレットを使用したプロバイダー資格情報のバックアップを参照してください。
さまざまなプロバイダーを異なるチームに提供する
異なるチームにそれぞれ異なるプロバイダーへのアクセス権を付与するには、プロバイダーごとに個別のモデルプロバイダーサービスを作成し、それに応じて EXECUTE を付与します。たとえば、一般用の低コストプロバイダー用に1つのサービスを作成し、少人数グループ用のプレミアムプロバイダー用にもう1つのサービスを作成します。モデルプロバイダーサービスによるプロバイダーの作成と管理を参照してください。
-- All users can query the standard provider
GRANT EXECUTE ON MODEL PROVIDER SERVICE ai_platform.default.standard TO `account users`;
-- Only power users can query the premium provider
GRANT EXECUTE ON MODEL PROVIDER SERVICE ai_platform.default.premium TO ai_power_users;
容量とコストを管理するために、各モデルプロバイダーサービスで異なるレート制限を構成します。モデルおよび MCP サービスへのレート制限の適用を参照してください。
インタラクションのコンテンツを管理する
ベータ版
サービスポリシーはベータ版です。Unity Gatewayは一般提供されていますが、そのベータ機能は個別に有効化されます。アカウント管理者は、アカウントコンソールの プレビュー ページから Unity Gateway のベータ機能をオンにする必要があります。Databricksのプレビューを管理するを参照してください。
Unity Catalogの権限は、プリンシパルがモデルプロバイダーサービスに対してクエリーを実行できるかどうかを決定します。各インタラクションの進行を管理するため(例えば、安全でないコンテンツやPIIを含むレスポンスをブロックするため)には、モデルプロバイダーサービスにサービスポリシーをアタッチします。サービスポリシーは、ガードレールを実装するための手段です。組み込みのガードレールは、PII、プロンプトインジェクション、安全でないコンテンツなどの一般的なリスクをカバーし、カスタムポリシーは組織固有のルールを強制します。
Forward all URL paths を有効にしたときにUnity Gatewayがプロバイダーにそのまま転送する パススルーリクエスト では、サービスポリシーは評価されません。これらは、プロバイダーのサポートされているAPIパスにのみ適用されます。
サービスポリシーについて学習し、それをアタッチする方法については、以下を参照してください:
- 概念、組み込みのガードレール、および評価モデルに関するAI セキュラブルのサービス ポリシー。
- ポリシー関数を作成してサービスにアタッチする方法については、サービスポリシーを作成してアタッチするを参照してください。