3.12 リダクションを使用しないポリシーの作成

開発環境でポリシーをテストする場合には、まったくリダクションを使用しないポリシーを作成できます。

3.12.1 リダクションを使用しないポリシーの作成の構文

リダクション・タイプNoneを指定するオプションを使用して、リダクション・ポリシーの内部動作をテストできます。

リダクション・タイプNoneは、ポリシーが定義された表に対する問合せの結果に影響を与えません。このオプションを使用して、リダクション・ポリシー定義を本番環境に適用する前にテストできます。LOB列がサポートされていないことに注意してください。

リダクションを使用しないポリシーを作成する場合の DBMS_REDACT.ADD_POLICYフィールドは次のとおりです。

DBMS_REDACT.ADD_POLICY (
   object_schema           IN VARCHAR2 := NULL, 
   object_name             IN VARCHAR2,
   column_name             IN VARCHAR2 := NULL,
   policy_name             IN VARCHAR2,
   function_type           IN BINARY_INTEGER := NULL,
   expression              IN VARCHAR2,
   enable                  IN BOOLEAN := TRUE);

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

  • object_schemaobject_namecolumn_namepolicy_nameexpressionenable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください。

  • function_type: データ・リダクションのタイプの設定に使用するファンクションを指定します。DBMS_REDACT.NONEと入力します。

    function_typeパラメータを省略する場合、デフォルトのリダクションfunction_type設定は、DBMS_REDACT.FULLです。

3.12.2 例: リダクションを実行しない

DBMS_REDACT.ADD_POLICYプロシージャによって、リダクションを実行しないポリシーを作成できます。

例3-11では、表示されたどの値もリダクションしないデータ・リダクション・ポリシーの作成方法を示します。

例3-11 リダクションされないデータ・リダクションの値

BEGIN
 DBMS_REDACT.ADD_POLICY(
   object_schema    => 'mavis', 
   object_name      => 'cust_info', 
   column_name      => 'user_name',
   policy_name      => 'redact_cust_no_vals', 
   function_type    => DBMS_REDACT.NONE,
   expression       => '1=1');
END;
/

実際のデータ(データがリダクションされないため)およびデータ出力を取得するための問合せ:

SELECT user_name FROM mavis.cust_info;

USER_NAME
----------
IDA NEAU