セキュリティ

セキュリティ・ポリシーおよび監査メカニズムを適用して、A2Aエージェントが使用するデータへのアクセスを制御します。

VPDポリシー

仮想プライベート・データベース(VPD)ポリシーを使用して、エージェント・コンテキストに基づいてファイングレイン・アクセス制御を適用します。

使用可能なコンテキスト値:

SYS_CONTEXT('A2A_AGENT_ACCESS_CONTEXT$', 'USER_IDENTITY')
SYS_CONTEXT('A2A_AGENT_ACCESS_CONTEXT$', 'TEAM_NAME')

例: VPDポリシーの定義および適用

-- Define VPD policy
CREATE OR REPLACE FUNCTION limit_access (v_schema IN VARCHAR2, v_objname IN VARCHAR2)
RETURN VARCHAR2 authid current_user AS
BEGIN
RETURN 'SYS_CONTEXT(''A2A_AGENT_ACCESS_CONTEXT$'', ''TEAM_NAME'') = ''REPORT_SUMMARY_AGENT_TEAM''';
END;

-- Apply policy on table
BEGIN
DBMS_RLS.ADD_POLICY(
object_schema        => 'HR',
object_name          => 'EMPLOYEES',
policy_name          => 'POL',
policy_function      => 'LIMIT_ACCESS');
END;
/

このポリシーは、エージェント・チーム名に基づいて行へのアクセスを制限します。

監査証跡

A2Aエージェントへのアクセスは、Oracle管理監査ポリシーを介して統合監査証跡に記録されます。Oracleは、結果の監査レコードをUNIFIED_AUDIT_TRAILビューに格納します。このビューは、監査対象のアクティビティを確認するために問い合せることができます。監査レコードは、監査対象のSQL文および操作の実行中または実行後に生成されます。

A2A_AGENT_ACCESS_CONTEXT$アプリケーション・コンテキストを使用して、特定のSelect AIエージェント・チームのアクセスを監査するカスタム監査ポリシーを定義できます。式SYS_CONTEXT('A2A_AGENT_ACCESS_CONTEXT$', 'TEAM_NAME')では、TEAM_NAMEはコンテキスト属性名です。TEAM_NAMEを置換しません。比較された値('REPORT_SUMMARY_AGENT_TEAM'など)のみをエージェント・チーム名に置き換えます。ポリシーでは、そのコンテキスト値が実際のエージェントチーム名と比較されます。次に例を示します。

SYS_CONTEXT('A2A_AGENT_ACCESS_CONTEXT$', 'TEAM_NAME') =
      'REPORT_SUMMARY_AGENT_TEAM'

SYS_CONTEXTは、アプリケーション・コンテキストから名前付き属性の値を返します。Oracleアプリケーション・コンテキストは、通常、VPDや統合監査などのセキュリティおよびポリシー強制機能で使用されます。

カスタム監査ポリシーを作成してAUDIT文で有効にすると、Oracleは照合操作のポリシーを評価し、ポリシー条件を満たすアクティビティの統合監査レコードを書き込みます。これらのレコードは、UNIFIED_AUDIT_TRAILに表示されます。統合監査ポリシーは、監査対象のユーザーの次のユーザー・セッションで有効になります。監査ログへのアクセスは、データベース権限およびセキュリティ構成によって異なります。

ノート

ノート: Autonomous AI Database MCPサーバーまたはAgent2Agent (A2A)サーバーを有効にしても、個別のVMなどの追加のコンピュート・リソースはプロビジョニングされません。これらの機能は、現在のコンピュート割当てを使用して、Autonomous AI Databaseの一部として含まれています。リソース消費は、既存のデータベース環境内のツール(MCPの場合)またはエージェント操作(A2Aの場合)の実行によって決まります。

例: 監査方針を作成する

create audit policy MY_A2A_AGENT_ACCESS_AUDIT_POLICY
actions SELECT on HR.EMPLOYEE
when sys_context('A2A_AGENT_ACCESS_CONTEXT$', 'TEAM_NAME') is not null;

推奨事項

  • object_listは、必要なデータベース・オブジェクトのみを含むSelect AIプロファイルで定義します。詳細は、「プロファイル属性」および「例: 組込みツールを使用したムービー分析エージェントの作成」を参照してください。

  • 2スキーマ・アプローチ: このアプローチは主に、A2A固有の構成ではなく、Select AI Agent開発を編成および保護するためのものです。

    • エージェント、エージェント・チーム、タスク、ツールなどのSelect AIエージェント・オブジェクトには、1つのスキーマ(A2A_USERなど)を使用します。

    • PL/SQLファンクションおよびそれらのエージェントをサポートするその他のアプリケーション・オブジェクトには、別のスキーマ(SALES_USERなど)を使用します。

プライベート・エンドポイントのネットワーク構成

データベースでプライベート・エンドポイントを使用する場合、A2Aサーバー・エンドポイントには、構成済のVirtual Cloud Network (VCN)からのみアクセスできます。VCN外の外部クライアントは接続できません。

エンドポイント・フォーマット:

https://{hostname_prefix}.adb.{region-identifier}.oraclecloudapps.com/adb/a2a/v1/{database-ocid}
    ノート

  • hostname_prefix: プライベート・エンドポイントの設定中に定義または生成される値。

  • region-identifier: Oracle Cloudリージョン。

  • database-ocid: Autonomous AI DatabaseのOCID。ノート: A2Aサーバーにアクセスするクライアントが同じVCN内にデプロイされていること、またはVPNなどのネットワーク接続を持っていることを確認してください。

OCIコンソールのデータベース詳細ページからhostname_prefixを取得します。

詳細は、プライベート・エンドポイント・アクセスを参照してください。

プライベート・エンドポイント対応のAutonomous AI DatabaseでA2Aエージェントを使用できるのは、A2Aクライアント・エージェントが同じプライベートVCNで実行されている場合、またはデータベースへのネットワーク接続がある場合のみです。A2Aクライアント・エージェントが別のクラウドまたは外部環境で実行されている場合は、そのプラットフォームの接続ガイドラインに従ってネットワークを構成し、Autonomous AI Databaseとの通信を有効にします。

たとえば、Google Gemini Enterpriseアプリケーションを構成する場合は、Googleのプライベート・ネットワーキング・ガイダンスに従います。詳細は、Google Cloudでのマルチエージェント・プライベート・ネットワーキング・パターンを参照してください。