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パッケージのサブプログラム
サブプログラム | 説明 |
---|---|
機密列リストに列を追加します。 |
|
機密列タイプを作成して、これをデータベース内の機密列タイプのリストに追加します。 |
|
機密タイプまたは機密列リストの列のコメント(あるいはその両方)を変更します。 |
|
機密列リストから列を削除します。 |
|
機密列タイプを、データベース内の機密列タイプのリストから削除します。 |
|
ソースに対応する機密列タイプを、データベース内の機密列タイプのリストから削除します。 |
|
機密列を外部ソースからインポートします。これは、Oracle Enterprise Manager Cloud Controlインスタンスのアプリケーション・データ・モデル(ADM)である可能性があります。 |
|
機密列タイプのリストをソースからインポートします。 |
|
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
列が属するスキーマ。 |
|
列を含む表。 |
|
機密列名。 |
|
機密列タイプの識別子。 |
|
機密列に関するユーザー・コメント。 |
例
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
列が属するスキーマ。 |
|
列を含む表。 |
|
機密列名。 |
|
機密列タイプの識別子。 |
|
機密列に関するユーザー・コメント。 |
例
機密列リストにリストされている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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
機密列タイプの名前。 |
|
機密列に関するユーザー・コメント。 |
例
給与データを含む列に関連付けられる、機密列タイプ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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
列が属するスキーマ。 |
|
列を含む表。 |
|
機密列名。 |
例
機密列リストから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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
削除する機密列タイプの名前。 |
例
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ソース名。 |
例
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
機密列のリストと、XML形式の機密列タイプを定義したオプションのリスト( |
|
インポート元。discovery_source名は、インポートされる機密列のリストを識別します。ADMの場合、これはADM名である必要があります。 |
|
別のソースによって機密であるとすでに識別されている機密列が検出結果に含まれる場合、この検出結果をインポートするかどうかを指定します。
|
例
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
XML形式の機密列タイプのリスト( |
|
インポート元。ソースは、インポートされる機密列タイプのリストを識別します。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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
インポート元。ADMの場合、これはADM名である必要があり、その結果は削除されます。 |
例
ADMインスタンス(ADM_Demo
)に対応する機密列を削除します。
DBMS_TSDP_MANAGE.REMOVE_DISCOVERY_RESULT ( discovery_source => 'ADM_Demo');