D.5.1.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ポリシーを適用します。

パラメータ

policy_name

既存のOLSポリシーの名前。

schema_name

アプリケーション表を含むスキーマの名前。

table_name

アプリケーション表の名前。

predicate

ラベルベースの述語と組み合せる追加の述語。

使用上のノート

トリプルレベル・セキュリティを使用する場合、ネットワークの各セマンティク・モデルには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所有ネットワークにのみ適用されます。(この手順をスキーマ・プライベート・ネットワークに適用しようとすると、エラー「Ora -20000: スキーマ・プライベート・ネットワークにアプリケーション表がありません」が戻されます。)セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。

次の例では、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;
/