174 DBMS_TSDP_MANAGE

DBMS_TSDP_MANAGEパッケージは、データベース内の機密列および機密列タイプのインポートおよび管理を行うためのインタフェースを提供します。また、DBMS_TSDP_PROTECT パッケージを組み合せて使用することで、透過的機密データ保護(TSDP)ポリシーを実装できます。

DBMS_TSDP_MANAGEは、Enterprise Editionでのみ使用できます。

この章のトピックは、次のとおりです:

関連項目

174.1 DBMS_TSDP_MANAGEの概要

DBMS_TSDP_MANAGEパッケージでは、Oracleデータベース内の機密列および機密タイプを管理できます。

識別される機密列は、機密タイプに基づいて分類されます。 DBMS_TSDP_PROTECT パッケージを使用して、データ自体ではなく列タイプに基づいて指定されたクラスのデータを保護するポリシーを作成することによって、これらのタイプのセキュリティを一律に管理し、変化する法規制に合せて設定を変更できます。

また、データ・ポンプを使用した完全エクスポートを実行するときに、ポリシーを他のデータベースにエクスポートできます。ポリシー自体のエクスポートはできませんが、データベースのエクスポートにはTSDPポリシーが含まれます。

174.2 DBMS_TSDP_MANAGEのセキュリティ・モデル

すべてのプロシージャは、実行者の権限で実行されます。DBMS_TSDP_MANAGEパッケージの所有者はSYSです。

このパッケージのEXECUTE権限は、必要に応じて付与する必要があります。通常、このパッケージのEXECUTE権限はアプリケーション・データベース管理者に付与し、 DBMS_TSDP_PROTECT パッケージはセキュリティ管理者が管理する必要があります。

174.3 DBMS_TSDP_MANAGEサブプログラムの要約

この表は、DBMS_TSDP_MANAGEサブプログラムを示し、簡単に説明しています。

表174-1 DBMS_TSDP_MANAGEパッケージのサブプログラム

サブプログラム 説明

ADD_SENSITIVE_COLUMNプロシージャ

機密列リストに列を追加します。

ADD_SENSITIVE_TYPEプロシージャ

機密列タイプを作成して、これをデータベース内の機密列タイプのリストに追加します。

ALTER_SENSITIVE_COLUMNプロシージャ

機密タイプまたは機密列リストの列のコメント(あるいはその両方)を変更します。

DROP_SENSITIVE_COLUMNプロシージャ

機密列リストから列を削除します。

DROP_SENSITIVE_TYPEプロシージャ

機密列タイプを、データベース内の機密列タイプのリストから削除します。

DROP_SENSITIVE_TYPE_SOURCEプロシージャ

ソースに対応する機密列タイプを、データベース内の機密列タイプのリストから削除します。

IMPORT_DISCOVERY_RESULTプロシージャ

機密列を外部ソースからインポートします。これは、Oracle Enterprise Manager Cloud Controlインスタンスのアプリケーション・データ・モデル(ADM)である可能性があります。

IMPORT_SENSITIVE_TYPESプロシージャ

機密列タイプのリストをソースからインポートします。

REMOVE_DISCOVERY_RESULTプロシージャ

Oracle Enterprise Manager Cloud Controlインスタンスのアプリケーション・データ・モデル(ADM)に対応する機密列を削除します。

174.3.1 ADD_SENSITIVE_COLUMNプロシージャ

このプロシージャは、機密列リストに列を追加します。

構文

DBMS_TSDP_MANAGE.ADD_SENSITIVE_COLUMN (
   schema_name        IN VARCHAR2,
   table_name         IN VARCHAR2,
   column_name        IN VARCHAR2,
   sensitive_type     IN VARCHAR2,
   user_comment       IN VARCHAR2 DEFAULT NULL);

パラメータ

表174-2 ADD_SENSITIVE_COLUMNプロシージャのパラメータ

パラメータ 説明

schema_name

列が属するスキーマ。

table_name

列を含む表。

column_name

機密列名。

sensitive_type

機密列タイプの識別子。

user_comment

機密列に関するユーザー・コメント。

SCOTT.EMPの列SALを追加します。

 DBMS_TSDP_MANAGE.ADD_SENSITIVE_COLUMN (
   schema_name        => 'SCOTT',
   table_name         => 'EMP',
   column_name        => 'SAL',
   sensitive_type     => 'SALARY_TYPE',
   user_comment       => 'Salary column');

174.3.2 ALTER_SENSITIVE_COLUMNプロシージャ

このプロシージャは、機密タイプまたは機密列リストの列のコメント(あるいはその両方)を変更します。

構文

DBMS_TSDP_MANAGE.ALTER_SENSITIVE_COLUMN (
   schema_name        IN VARCHAR2,
   table_name         IN VARCAHR2,
   column_name        IN VARCAHR2,
   sensitive_type     IN VARCAHR2,
   user_comment       IN VARCAHR2 DEFAULT NULL);

パラメータ

表174-3 ALTER_SENSITIVE_COLUMNプロシージャのパラメータ

パラメータ 説明

schema_name

列が属するスキーマ。

table_name

列を含む表。

column_name

機密列名。

sensitive_type

機密列タイプの識別子。

user_comment

機密列に関するユーザー・コメント。

機密列リストにリストされているSCOTT.EMPの列SALを変更します。

 DBMS_TSDP_MANAGE.ALTER_SENSITIVE_COLUMN (
   schema_name        => 'SCOTT',
   table_name         => 'EMP',
   column_name        => 'SAL',
   sensitive_type     => 'FINANCE_Type',
   user_comment       => 'Finance Type. Earlier categorized as Salary Type');

174.3.3 ADD_SENSITIVE_TYPEプロシージャ

このプロシージャは、機密列タイプを作成して、これをデータベース内の機密列タイプのリストに追加します。

構文

DBMS_TSDP_MANAGE.ADD_SENSITIVE_TYPE (
   sensitive_type     IN  VARCHAR2,
   user_comment       IN  VARCAHR2 DEFAULT NULL);

パラメータ

表174-4 ADD_SENSITIVE_TYPEプロシージャのパラメータ

パラメータ 説明

sensitive_type

機密列タイプの名前。 

user_comment

機密列に関するユーザー・コメント。

給与データを含む列に関連付けられる、機密列タイプSALARY_TYPEを追加します。

 DBMS_TSDP_MANAGE.ADD_SENSITIVE_TYPE (
   sensitive_type     => 'SALARY_TYPE',
   user_comment       => 'Salary data');

174.3.4 DROP_SENSITIVE_COLUMNプロシージャ

このプロシージャは、機密列リストから列を削除します。

構文

DBMS_TSDP_MANAGE.DROP_SENSITIVE_COLUMN (
   schema_name        IN VARCHAR2 DEFAULT '%',
   table_name         IN VARCAHR2 DEFAULT '%',
   column_name        IN VARCAHR2 DEFAULT '%');

パラメータ

表174-5 DROP_SENSITIVE_COLUMNプロシージャのパラメータ

パラメータ 説明

schema_name

列が属するスキーマ。

table_name

列を含む表。

column_name

機密列名。

機密列リストからSCOTT.EMPの列SALを削除します。

 DBMS_TSDP_MANAGE.DROP_SENSITIVE_COLUMN (
   schema_name        => 'SCOTT',
   table_name         => 'EMP',
   column_name        => 'SAL');

174.3.5 DROP_SENSITIVE_TYPEプロシージャ

このプロシージャは、機密列タイプをデータベース内の機密列タイプのリストから削除します。

構文

DBMS_TSDP_MANAGE.DROP_SENSITIVE_TYPE (
   sensitive_type     IN VARCHAR2);

パラメータ

表174-6 DROP_SENSITIVE_TYPEプロシージャのパラメータ

パラメータ 説明

sensitive_type

削除する機密列タイプの名前。

SALARY_TYPEを削除する例を次に示します。

 DBMS_TSDP_MANAGE.DROP_SENSITIVE_TYPE (
   sensitive_type     => 'SALARY_TYPE');

174.3.6 DROP_SENSITIVE_TYPE_SOURCEプロシージャ

このプロシージャは、ソースに対応する機密列タイプをデータベース内の機密列タイプのリストから削除します。

構文

DBMS_TSDP_MANAGE.DROP_SENSITIVE_TYPE_SOURCE (
   source      IN VARCHAR2);

パラメータ

表174-7 DROP_SENSITIVE_TYPE_SOURCEプロシージャのパラメータ

パラメータ 説明

source

ソース名。

Oracle Enterprise Manager Cloud Controlインスタンスのアプリケーション・データ・モデル(ADM)(ADM_DEMO)に対応するすべての機密列タイプを削除するには、次のように実行します。

 DBMS_TSDP_MANAGE.DROP_SENSITIVE_TYPE_SOURCE (
    source      =>  'ADM_DEMO');

174.3.7 IMPORT_DISCOVERY_RESULTプロシージャ

このプロシージャを使用して、外部ソースから機密列を関連機密タイプとともにインポートできます。この外部ソースは、Oracle Enterprise Manager Cloud Controlのアプリケーション・データ・モデル(ADM)インスタンスである可能性があります。

構文

DBMS_TSDP_MANAGE.IMPORT_DISCOVERY_RESULT (
  discovery_result         IN  CLOB,
  discovery_source         IN  VARCHAR2,
  force                    IN  FORCE DEFAULT FALSE); 

DBMS_TSDP_MANAGE.IMPORT_DISCOVERY_RESULT (
  discovery_result         IN  XMLTYPE,
  discovery_source         IN  VARCHAR2,
  force                    IN  FORCE DEFAULT FALSE); 

パラメータ

表174-8 IMPORT_DISCOVERY_RESULTプロシージャのパラメータ

パラメータ 説明

discovery_result

機密列のリストと、XML形式の機密列タイプを定義したオプションのリスト(CLOBタイプの場合がある)。

discovery_source

インポート元。discovery_source名は、インポートされる機密列のリストを識別します。ADMの場合、これはADM名である必要があります。 

force

別のソースによって機密であるとすでに識別されている機密列が検出結果に含まれる場合、この検出結果をインポートするかどうかを指定します。

  • FALSE(デフォルト): 列の競合がある場合、検出結果はインポートされません。列および機密タイプはインポートされません。

  • TRUE: 検出結果がインポートされ、競合列の属性が受信した検出結果に基づいて設定されます。

ADMインスタンス(ADM_Demo)の機密列のリストをインポートします。

 DBMS_TSDP_MANAGE.IMPORT_DISCOVERY_RESULT (
   discovery_results        =>  xml_adm_result,
   discovery_source         => 'ADM_Demo');

174.3.8 IMPORT_SENSITIVE_TYPESプロシージャ

このプロシージャは、機密列タイプのリストをソースからインポートします。

構文

DBMS_TSDP_MANAGE.IMPORT_SENSITIVE_TYPES (
  sensitive_types        IN CLOB,
  source                 IN VARCHAR2);  

DBMS_TSDP_MANAGE.IMPORT_SENSITIVE_TYPES (
  sensitive_types        IN XMLTYPE,
  source                 IN VARCHAR2);  

パラメータ

表174-9 IMPORT_SENSITIVE_TYPESプロシージャのパラメータ

パラメータ 説明

sensitive_types

XML形式の機密列タイプのリスト(CLOBの場合がある)。

source

インポート元。ソースは、インポートされる機密列タイプのリストを識別します。Oracle Enterprise Manager Cloud Controlインスタンスのアプリケーション・データ・モデル(ADM)の場合、これはADM名である必要があります。

ADMインスタンス(ADM_Demo)の機密列タイプのリストをインポートします。

 DBMS_TSDP_MANAGE.IMPORT_SENSITIVE_TYPES (
   sensitive_types        =>  xml_adm_result,
   source                 => 'ADM_Demo');

174.3.9 REMOVE_DISCOVERY_RESULTプロシージャ

このプロシージャは、Oracle Enterprise Manager Cloud Controlインスタンスのアプリケーション・データ・モデル(ADM)に対応する機密列を削除します。

構文

DBMS_TSDP_MANAGE.REMOVE_DISCOVERY_RESULT (
  discovery_source     IN  VARCHAR2);   

パラメータ

表174-10 REMOVE_DISCOVERY_RESULTプロシージャのパラメータ

パラメータ 説明

discovery_source

インポート元。ADMの場合、これはADM名である必要があり、その結果は削除されます。 

ADMインスタンス(ADM_Demo)に対応する機密列を削除します。

 DBMS_TSDP_MANAGE.REMOVE_DISCOVERY_RESULT (
   discovery_source    => 'ADM_Demo');