セキュリティ
Autonomous AI Database環境の保護に役立つ、認証、アクセス制御、監査、コンプライアンスなど、MCPサーバーの主要なセキュリティ機能の概要を示します。
トピック
- 保護されたデータ・アクセス
仮想プライベート・データベース(VPD)ポリシーおよびセキュリティを使用して、きめ細かく保護されたデータ・アクセスを有効にします。 - VPDポリシーの作成および登録
仮想プライベート・データベース(VPD)ポリシーを作成して登録し、データと操作を保護する方法について学習します。 - アクセス制御リスト(ACL)
アクセス制御リスト(ACL)を使用して、データベース・リソースへのネットワーク・アクセスを管理および制限します。 - プライベート・エンドポイント・アクセス
プライベート・エンドポイントを使用してネットワーク・アクセスを構成する場合、MCPサーバー・エンドポイントは、プライベート・エンドポイントの構成時に指定されたVirtual Cloud Network (VCN)からのみアクセス可能です。 許可されたVCN外のクライアントは、MCPサーバーに接続できません。 - 監査
MCPサーバーは、すべてのアクセスおよび操作をモニターおよび追跡するのに役立つ監査機能を提供します。 監査ログは、カスタム・ポリシーの詳細情報を取得します。
保護されたデータ・アクセス
仮想プライベート・データベース(VPD)ポリシーおよびセキュリティを使用して、きめ細かく保護されたデータ・アクセスを有効にします。
Autonomous AI Database MCPサーバーを使用すると、データベース権限で許可されているすべてのデータおよびメタデータにアクセスできます。 MCPサーバーは、仮想プライベート・データベース(VPD)やReal Application Security (RAS)などのOracleセキュリティ機能と連携しますが、AIプロファイル・ベースの制御を実施したり、アクションを選択専用アクセスに制限することはありません。 登録および公開するツールを決定するため、制限的なツール・セットのみを選択することで、MCPサーバーがデータに対して実行できる操作を制御できます。
ノート:
MCPを使用すると、データがデータベースから離れる可能性があることに注意してください。 機密情報を保護し続けるように、MCPクライアント・アプリケーションのセキュリティを常に考慮してください。
ノート:
ツールの説明に、ツールの結果がLLMが実行するコマンドとして意図されていないことが明確に示されていることを確認する必要があります。
- カスタム・ツールは、MCPサーバーへのログインに使用されるデータベース・ユーザー・スキーマ(
MCP_USERなど)に存在する必要があります。 - これらのツールで使用されるPL/SQLファンクションは、個別のスキーマ(
SALES_USERなど)で定義する必要があります。 SALES_USERからMCP_USERスキーマへの適切なアクセス権を付与します。
親トピック: セキュリティ
VPDポリシーの作成および登録
仮想プライベート・データベース(VPD)ポリシーを作成して登録し、データと操作を保護する方法を学習します。
Oracle Virtual Private Database (VPD)ポリシーを定義して、ファイングレイン・アクセス制御を提供することで、特定のデータ行のみが各ユーザーに表示されるようにできます。
このVPDポリシーの例では、HR.EMPLOYEE表をフィルタ処理して、MCPサーバーを介してアクセスするユーザーが自分のレコードのみを自動的かつ安全に参照できるようにします。
この例では、AIクライアントがAutonomous AI Databaseに対してMCPツールを呼び出すときにサインイン・ユーザーに表示される必要がある行のみを返す方法を示します。
CREATE OR REPLACE FUNCTION limit_sal (v_schema IN VARCHAR2, v_objname IN VARCHAR2)
RETURN VARCHAR2 authid current_user AS
BEGIN
RETURN 'employee_id = SYS_CONTEXT(''MCP_SERVER_ACCESS_CONTEXT'', ''USER_IDENTITY'')';
END;MCPツールにアクセスすると、データベース・ユーザーのアイデンティティはsys_context('MCP_SERVER_ACCESS_CONTEXT', 'USER_IDENTITY')を介して使用できます。 これらのアプリケーション・コンテキスト値を使用するVPDポリシーを作成して、各アプリケーションまたはデータベース・ユーザーに表示されるデータ行を制限できます。 ユーザーに既存のVPDポリシーがある場合は、MCP_SERVER_ACCESS_CONTEXTを使用して別のポリシーを作成し、行を制限し、MCPサーバーの使用時にそのユーザーのVPDポリシーを使用します。
この例では、フィルタリング・ファンクションをHR.EMPLOYEE表にアタッチします。
BEGIN
DBMS_RLS.ADD_POLICY(
object_schema => 'HR',
object_name => 'EMPLOYEE',
policy_name => 'POL',
policy_function => 'LIMIT_SAL');
END;
/親トピック: セキュリティ
アクセス制御リスト(ACL)
アクセス制御リスト(ACL)を使用して、データベース・リソースへのネットワーク・アクセスを管理および制限します。
アクセス制御リスト(ACL)は、データベース・リソースへのネットワーク・アクセスを管理および制限する強力な方法を提供します。 ACLを構成することで、接続を許可するクライアントまたはネットワークを定義し、データベース・セキュリティ・ポスチャを強化できます。 詳細は、Network Access Control List (ACL)を参照してください。
ACLを構成する場合、MCPサーバー・エンドポイントには、それらのルールで指定されたIPアドレスからのみアクセスできます。 定義されたACLエントリ以外のアドレスから発生したリクエストは拒否されます。 この制限は、すべてのMCPサーバー接続に適用され、認証が発生する前にネットワークレベルのアクセス制御を強制します。 Autonomous AI DatabaseのACLの構成の詳細は、アクセス制御ルール(ACL)を使用したネットワーク・アクセスの構成を参照してください。
親トピック: セキュリティ
プライベート・エンドポイント・アクセス
プライベート・エンドポイントを使用してネットワーク・アクセスを構成する場合、MCPサーバー・エンドポイントは、プライベート・エンドポイントの構成時に指定されたVirtual Cloud Network (VCN)からのみアクセス可能です。 許可されたVCN外のクライアントは、MCPサーバーに接続できません。
https://{hostname_prefix}.adb.{region-identifier}.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}
プライベート・エンドポイントを使用したネットワーク・アクセスの構成の詳細は、プライベート・エンドポイント拡張オプションの構成を参照してください。
-
hostname_prefix: プライベート・エンドポイントの設定時に指定した値、またはシステムによって自動的に生成された値のいずれかです。hostname_prefixを取得するには、OCIコンソールのAutonomous AIデータベースの詳細ページに移動し、「ネットワーク」セクションでプライベート・エンドポイントURLを見つけます。 プライベート・エンドポイントURLの検索の詳細は、プライベート・エンドポイントのノートを参照してください。 -
region-identifier: データベースがデプロイされるOracle Cloudリージョンです。 -
database-ocid: Autonomous AI DatabaseインスタンスのOCIDです。
testhostname01.adb.us-ashburn-1.oraclecloud.comこの場合、testhostname01はhostname_prefixです。
親トピック: セキュリティ
監査
MCPサーバーは、すべてのアクセスおよび操作をモニターおよび追跡するのに役立つ監査機能を提供します。 監査ログは、カスタム・ポリシーの詳細情報を取得します。
MCPサーバーは、各アクセスおよび使用される特定のツールに関する詳細情報を記録します。
ノート:
SESSION_USERに基づいてセキュリティまたは監査を決定しないでください。 かわりに、MCP_SERVER_ACCESS_CONTEXT$を使用して、認証済ユーザーを確実に参照してください。
親トピック: セキュリティ