1.1 Oracle Data Redactionとは
Oracle Data Redactionを使用すると、データに直接影響することなく、問合せから返されるデータを隠すことができます。これは、結果を表示する直前に、データベース問合せの結果をリダクション(機密情報や機密情報を選択的に削除または不明瞭化)することによって行われます。
データ・リダクション・ポリシーは、表、ビューまたはマテリアライズド・ビューに適用できます。その後、その表に対するポリシーを、その表内の特定の列に適用します。次の方法のいずれかを使用して、列データをリダクションできます。
-
完全リダクション。列データの内容をすべてリダクションします。問合せ元ユーザーに返される、リダクションされた値は、その列のデータ型と、完全リダクションの値が何に設定されていたかで異なります。デフォルトでは、
NUMBER
データ型の列はゼロ(0
)でリダクションされ、文字データ型は空白1つでリダクションされます。ただし、これらの値はUPDATE_FULL_REDACTION_VALUES
を使用して変更できます。 -
部分リダクション。列データの一部をリダクションします。たとえば、社会保障番号の最後4桁以外をアスタリスク(*)でリダクションできます。
-
正規表現。正規表現を使用してリダクションするデータのパターンを検索できます。たとえば、正規表現を使用して、文字の長さが変化する可能性のある電子メール・アドレスをリダクションできます。これは、文字データのみで使用するように設計されています。
-
ランダム・リダクション。問合せを行ったユーザーに表示されるリダクションされたデータは、列のデータ型に応じて、表示されるたびにランダムに生成された値として表示されます。
-
NULL化リダクション。NULL化リダクション・タイプは、列内のすべてのデータをリダクションし、NULL値で置き換えます。
-
リダクションなし。リダクション・タイプNoneを指定するオプションでは、リダクション・ポリシーが定義された表に対する問合せの結果に影響を与えずに、ポリシーの内部動作をテストできます。このオプションを使用して、リダクション・ポリシー定義を本番環境に適用する前にテストできます。
データ・リダクションは、元のデータ型、および形式(オプション)が維持されるため、エンド・ユーザーに対して透過的です。データは同じバッファ、キャッシュ、記憶域に保持され、呼出し元にSQL問合せの結果が返される直前に初めて変更されるので、これは、データベースに対して透過的です。リダクションは、リダクション・ポリシーがある表またはビューにアクセスするすべての問合せにわたり、一貫して強制適用されます。SYS_CONTEXT
ファンクションによって、データベースに渡されるユーザー情報をチェックすることで、リダクションされたデータのみを表示するユーザーを指定できます。現在のデータベースの属性に基づいてデータをリダクションできます。また、指定されたリダクション・ポリシー内に複数の論理条件を実装できます。また、データ・リダクションは、パフォーマンス・オーバーヘッドを最小化する方法で実装されます。このような特徴から、Oracle Data Redactionは、共通の本番データベースを共有する様々なアプリケーション、分析ツール、レポート・ツールおよび監視ツールを使用する場合に非常に適しています。
Oracle Databaseでは、ユーザーがデータにアクセスするとき(つまり問合せ実行時)にランタイムのリダクションが適用されます。このソリューションは、本番システムでも十分の機能します。データがリダクションされている間、処理中のすべてのデータは通常どおりに実行され、バックエンドの参照整合性制約は保持されます。
データ・リダクションは、知る必要性に基づいてカード所有者データまたは個人情報へのアクセスを制限することで、業界、政府および組織の要件への準拠に役立ちます。