3.16 Oracle Data Redactionポリシーの有効化と無効化

Oracle Data Redactionポリシーは、必要に応じて無効化してから再度有効化できます。

3.16.1 Oracle Data Redactionポリシーの無効化

DBMS_REDACT.DISABLE_POLICYプロシージャは、Oracle Data Redactionポリシーを無効化します。

REDACTION_POLICIESビューのPOLICY_NAMEおよびENABLE列を問い合せると、既存のデータ・リダクション・ポリシーの名前およびそれらが有効化されているかがわかります。ただし、ポリシーが存在している場合は、元のポリシーが無効化されていても表またはビューに他のポリシーを作成することはできません。つまり、同じ表にある同じ列に別のポリシーを作成する場合は、最初のポリシーを削除してから新しいポリシーを作成し使用する必要があります。
  1. DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限と、ADMINISTER REDACTION POLICYシステムまたはスキーマ権限があるユーザーでPDBに接続します。
  2. 次の構文を使用してDBMS_REDACT.DISABLE_POLICYプロシージャを実行します。
    DBMS_REDACT.DISABLE_POLICY (
       object_schema       IN VARCHAR2 DEFAULT NULL, 
       object_name         IN VARCHAR2, 
       policy_name         IN VARCHAR2);
    

    ここでは次のように指定します:

    • object_schema: データ・リダクション・ポリシーを無効にするオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のスキーマ名を使用します。

    • object_name: データ・リダクション・ポリシーに使用する表またはビューの名前を指定します。

    • policy_name: 無効化するポリシーの名前を指定します。

    例:

    BEGIN
      DBMS_REDACT.DISABLE_POLICY (
        object_schema  => 'mavis',
        object_name    => 'cust_info',
        policy_name    => 'redact_cust_user_ids');
    END;
    /

3.16.2 データ・リダクション・ポリシーの有効化

DBMS_REDACT.ENABLE_POLICYプロシージャは、Oracle Data Redactionポリシーを有効化します。

新しいポリシーを作成した直後に有効化する必要はありません。作成プロセスによって処理されます。既存のデータ・リダクション・ポリシーの名前およびそれらが有効化されているかを確認するには、REDACTION_POLICIESビューのPOLICY_NAMEおよびENABLE列を問い合せます。ポリシーを有効にするプロシージャを実行すると、ポリシーはすぐに有効になります。
  1. DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限と、ADMINISTER REDACTION POLICYシステムまたはスキーマ権限があるユーザーでPDBに接続します。
  2. 次の構文を使用してDBMS_REDACT.ENABLE_POLICYプロシージャを実行します。
    DBMS_REDACT.ENABLE_POLICY (
       object_schema       IN VARCHAR2 DEFAULT NULL, 
       object_name         IN VARCHAR2, 
       policy_name         IN VARCHAR2);
    

    ここでは次のように指定します:

    • object_schema: データ・リダクション・ポリシーを有効にするオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のスキーマ名を使用します。

    • object_name: データ・リダクション・ポリシーに使用する表またはビューの名前を指定します。

    • policy_name: 有効化するポリシーの名前を指定します。

    例:

    BEGIN
      DBMS_REDACT.ENABLE_POLICY (
        object_schema  => 'mavis',
        object_name    => 'cust_info',
        policy_name    => 'redact_cust_user_ids');
    END;
    /