3.1 Oracle Data Redactionポリシーについて

Oracle Data Redactionポリシーでは、リダクションの発生条件を定義します。

データ・リダクション・ポリシーには、次のような特徴があります。

  • Oracle Data Redactionポリシーは、表、ビューまたはマテリアライズド・ビューに適用されます。各オブジェクトに適用できるポリシーは1つのみです。

  • データ・リダクション・ポリシーでは、次のものが定義されます。
    • リダクション対象
    • リダクションの実行方法
    • リダクションが実行される場合
  • データ・リダクション・ポリシーでは、値の完全なリダクション、部分的なリダクション、ランダムなリダクションが可能です。さらに、テスト環境でポリシーをテストする場合には、データをまったくリダクションしないようにデータ・リダクション・ポリシーを定義することもできます。

  • データ・リダクション・ポリシーは、ポリシー式がTRUEまたはFALSEのどちらを返すかに基づいて、異なるアプリケーション・ユーザーにリダクションされたデータまたは実際のデータのいずれかの表示を許可するポリシー式で定義できます。ポリシー式の評価のブール結果がTRUEであると、リダクションが実行されます。セキュリティ上の理由から、ポリシー式で使用できる関数および演算子は、SYS_CONTEXTなどの少数に限定されています。ユーザー作成関数は使用できません。ポリシー式では、SYS_SESSION_ROLES名前空間とSYS_CONTEXT関数を組み合せて使用し、有効なロールを確認できます。

  • 異なる名前のデータ・リダクション・ポリシー式を作成し、同じ表またはビュー内の異なる列に対して個別に適用できます。

  • Oracle Databaseでは、実行時の、データが問合せに返される直前に、リダクションが実行されます。

表3-1に、DBMS_REDACTパッケージのプロシージャを示します。

表3-1 DBMS_REDACTプロシージャ

プロシージャ 説明

DBMS_REDACT.ADD_POLICY

データ・リダクション・ポリシーを表またはビューに追加します

DBMS_REDACT.ALTER_POLICY

データ・リダクション・ポリシーを変更します

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL

名前付きデータ・リダクション・ポリシー式を表またはビューの列に追加します

DBMS_REDACT.CREATE_POLICY_EXPRESSION

名前付きデータ・リダクション・ポリシー式を作成します

DBMS_REDACT.DISABLE_POLICY

データ・リダクション・ポリシーを無効化します

DBMS_REDACT.DROP_POLICY

データ・リダクション・ポリシーを削除します

DBMS_REDACT.DROP_POLICY_EXPRESSION

名前付きデータ・リダクション・ポリシー式を削除します

DBMS_REDACT.ENABLE_POLICY

データ・リダクション・ポリシーを有効化します

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUES

指定されたデータ型の完全にリダクションされた値をグローバルに更新します。データベース・インスタンスを再起動すると、更新された値を使用できます。

DBMS_REDACT.UPDATE_POLICY_EXPRESSION

名前付きデータ・リダクション・ポリシー式を更新します