16 SEM_OLSパッケージのサブプログラム
SEM_OLSパッケージには、Oracle Label Security (OLS)を使用した、RDFデータに対するトリプルレベル・セキュリティに関連するサブプログラム(関数とプロシージャ)が含まれます。
この章のサブプログラムを使用するには、RDFセマンティク・グラフの概要とRDFデータのファイングレイン・アクセス制御に記載されている概念および使用情報について理解しておく必要があります。
この章では、サブプログラムに関するリファレンス情報を示します(サブプログラムのリストはアルファベット順です)。
16.1 SEM_OLS.APPLY_POLICY_TO_APP_TAB
書式
SEM_OLS.APPLY_POLICY_TO_APP_TAB( policy_name IN VARCHAR2, schema_name IN VARCHAR2, table_name IN VARCHAR2, predicate IN VARCHAR2 DEFAULT NULL);
説明
MDSYS所有ネットワークのアプリケーション表にOLSポリシーを適用します。
パラメータ
使用上のノート
トリプルレベル・セキュリティを使用する場合、ネットワークの各セマンティク・モデルにはOLSが適用されます。つまり、関連する内部表とすべてのアプリケーション表にラベル・セキュリティが適用されるため、既存のセマンティク・モデルのアプリケーション表に手動でポリシーを適用する必要はありません。ただし、OLSポリシーの適用後に追加のモデルを作成する必要がある場合、モデルを作成する前に、SEM_OLS.APPLY_POLICY_TO_APP_TABプロシージャを使用してアプリケーション表にOLSを適用する必要があります。
このプロシージャを実行するには、SA_POLICY_ADMINパッケージのEXECUTE権限およびpolicy_DBAロールを持っている必要があります。
このプロシージャを実行する前に、rdfsa_optionsパラメータにSEM_RDFSA.TRIPLE_LEVEL_ONLYを指定するSEM_RDFSA.APPLY_OLS_POLICYプロシージャを実行しておく必要があります。
アプリケーション表からOLSポリシーを削除するには、SEM_OLS.REMOVE_POLICY_FROM_APP_TABプロシージャを使用します。
OLSのサポートの詳細は、RDFデータのファイングレイン・アクセス制御を参照してください。
このプロシージャは、スキーマプライベート・ネットワークではなく、MDSYS所有ネットワークにのみ適用されます。セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。
例
次の例では、MY_SCHEMA.MY_APP_TABLEアプリケーション表にOLSポリシーdefenseを適用します。
begin
sem_ols.apply_policy_to_app_table(
policy_name => 'defense',
schema_name => 'my_schema',
table_name => 'my_app_table');
end;
/親トピック: SEM_OLSパッケージのサブプログラム
16.2 SEM_OLS.REMOVE_POLICY_FROM_APP_TAB
書式
SEM_OLS.REMOVE_POLICY_FROM_APP_TAB( policy_name IN VARCHAR2, schema_name IN VARCHAR2, table_name IN VARCHAR2, check_model IN BOOLEAN DEFAULT TRUE);
説明
MDSYS所有ネットワークのアプリケーション表からOLSポリシーを永続的に削除または分離します。
パラメータ
使用上のノート
セマンティク・モデルをすでに削除していて、アプリケーション表を保護する必要がなくなった場合、このプロシージャを使用できます。
このプロシージャを実行するには、SA_POLICY_ADMINパッケージのEXECUTE権限およびpolicy_DBAロールを持っている必要があります。
このプロシージャを実行する前に、rdfsa_optionsパラメータにSEM_RDFSA.TRIPLE_LEVEL_ONLYを指定するSEM_RDFSA.APPLY_OLS_POLICYプロシージャを実行しておく必要があります。
check_modelをTRUE (デフォルト)に設定すると、関連付けられているモデルが存在する場合は例外が生成されます。この場合、このプロシージャを実行するには、最初にモデルを削除する必要があります。
OLSのサポートの詳細は、RDFデータのファイングレイン・アクセス制御を参照してください。
このプロシージャは、スキーマプライベート・ネットワークではなく、MDSYS所有ネットワークにのみ適用されます。セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。
例
次の例では、MY_SCHEMA.MY_APP_TABLEアプリケーション表からOLSポリシーdefenseを削除します。
begin
sem_ols.remove_policy_from_app_table(
policy_name => 'defense',
schema_name => 'my_schema',
table_name => 'my_app_table');
end;
/親トピック: SEM_OLSパッケージのサブプログラム