8 Oracle Data Redactionの概要

Oracle Data Redactionとは、機密データを、リアルタイムでリダクションする機能です。

8.1 Oracle Data Redactionとは

Oracle Data Redactionを使用すると、アプリケーションが発行する問合せから返されるデータをマスク(リダクション)できます。

次の方法のいずれかを使用して、列データをリダクションできます。

  • 完全リダクション。列データの内容をすべてリダクションします。問合せを行ったアプリケーション・ユーザーに返される、リダクションされた値は、列のデータ型によって異なります。たとえば、NUMBERデータ型の列はゼロ(0)でリダクションされ、文字データ型は空白1つでリダクションされます。

  • 部分リダクション。列データの一部をリダクションします。たとえば、社会保障番号の最後の4桁以外をアスタリスク(*)でリダクションできます。

  • 正規表現。正規表現を使用してリダクションするデータのパターンを検索できます。たとえば、正規表現を使用して、文字の長さが変化する可能性のある電子メール・アドレスをリダクションできます。これは、文字データのみで使用するように設計されています。

  • ランダム・リダクション。問合せを行ったアプリケーション・ユーザーに表示されるリダクションされたデータは、列のデータ型に応じて、表示されるたびにランダムに生成された値として表示されます。

  • リダクションなし。リダクション・タイプNoneを指定するオプションでは、リダクション・ポリシーが定義された表に対する問合せの結果に影響を与えずに、ポリシーの内部動作をテストできます。このオプションを使用して、リダクション・ポリシー定義を本番環境に適用する前にテストできます。

Oracle Databaseは、起動時、およびユーザーがデータにアクセスするとき(つまり問合せ実行時)にリダクションを適用します。このソリューションは、本番システムでも十分の機能します。データがリダクションされている間、処理中のすべてのデータは通常どおりに実行され、バックエンドの参照整合性制約は保持されます。

データ・リダクションは、クレジットカード業界のセキュリティ基準(PCI DSS)やサーベンス・オクスリー法などの業界の規則の順守に役立ちます。

関連項目:

8.2 Oracle Data Redactionを使用する状況

アプリケーションおよびアプリケーション・ユーザーがアクセスする必要のある機密データを偽装しなければならない場合には、Oracle Data Redactionを使用します。

データ・リダクションを使用すると、いくつかの異なるリダクション・スタイルを使用して簡単にデータを偽装できます。

Oracle Data Redactionは、特定のアプリケーション・ユーザーに戻される、個人を識別できる情報(PII)の問合せの結果セットから、特定の文字をリダクションする必要がある場合に最適です。たとえば、末尾が4320の米国社会保障番号番号を、***-**-4320のように提示できます。

Oracle Data Redactionは特に、コール・センター・アプリケーションや読取り専用のアプリケーションに適しています。更新を実行してデータベースに書き戻すアプリケーションにOracle Data Redactionを使用する場合は注意してください。リダクションされたデータがこのデータベースに書き戻されることもあるからです。

8.3 Oracle Data Redactionを使用する利点

Oracle Data Redactionをデータの保護に使用するといくつかの利点があります。

これらの利点は次のとおりです。

  • 異なるスタイルのリダクションから選択できます。

  • データは起動時にリダクションされるため、データ・リダクションは、データが常時変更されている環境に非常に適しています。

  • 中央となる1か所にリダクション・ポリシーを作成して、そこから簡単に管理できます。

  • データ・リダクション・ポリシーを使用して、データ・リダクション・ポリシーがアプリケーション・ユーザーの問合せの結果に適用されるタイミングを決定するために、実行時に使用できるSYS_CONTEXT値に基づいて、様々な種類の関数の条件を作成できます。

8.4 Oracle Data Redactionのターゲットのユースケース

Oracle Data Redactionは、一般的なユースケース・シナリオに対応します。

8.4.1 データベース・アプリケーションにおけるOracle Data Redactionの使用

Oracle Data Redactionは、データベース・アプリケーションに表示される機密データを保護します。

データ・リダクションは、元のデータ型と(オプションで)形式を維持するためアプリケーション・ユーザーに対して透過的です。データは同じバッファ、キャッシュ、記憶域に保持され、呼出し元にSQL問合せの結果が戻される直前に初めて変更されるので、データベースに対して非常に透過的です。リダクションは、基礎となる同じデータベースを使用するすべてのアプリケーションに一貫して適用されます。リダクションされたデータのみが表示されるアプリケーション・ユーザーを指定するには、SYS_CONTEXT関数でデータベースに渡されるアプリケーション・ユーザー情報をチェックします。データは、現在のデータベースまたはアプリケーション・ユーザーの属性に基づいてリダクションでき、特定のリダクション・ポリシーに複数の論理条件を実装できます。また、データ・リダクションは、パフォーマンス・オーバーヘッドを最小化する方法で実装されます。このような特徴から、Oracle Data Redactionは、共通の本番データベースを共有する様々なアプリケーション、分析ツール、レポート・ツールおよび監視ツールを使用する場合に非常に適しています。この主要なターゲットは、アプリケーションの本番データのリダクションですが、Oracle Data Redactionは、テストおよび開発環境の機密データを保護するために、Oracle Enterprise Manager Data Masking and Subsetting Packと組み合せて使用することもできます。

関連項目:

8.4.2 非定型データベース問合せにおけるOracle Data Redactionの考慮事項

データベース・ユーザーによって実行される非定型の問合せの機密データをリダクションすると便利な場合に遭遇する可能性があります。

たとえば、本番アプリケーションのサポート中に、ユーザーは、非定型のデータベース問合せを実行して、アプリケーションの緊急な問題のトラブルシューティングを行って修正する必要がある場合があります。Oracle Data Redactionは、データベースに対して非定型問合せを実行するデータベース・ユーザーにデータが公開されることを防ぐために設計されているわけではありませんが、誤ってデータが公開される危険性を少なくする追加のセキュリティ層として利用できます。そのようなユーザーは、データを変更したり、データベース・スキーマを変更したり、SQL問合せインタフェースを完全に回避する権限があるため、悪質なユーザーは、特定の状況ではデータ・リダクション・ポリシーをバイパスすることができます。

データ・リダクションでは非定型のSQLのWHERE句に制限はなく、問合せ列にデータ・リダクション・ポリシーが存在し、リダクションされた値のみが表示されている場合でも、WHERE句を反復的な方法で使用して実際のデータを推論できます。

Oracle Databaseのセキュリティ・ツールは、全体的なセキュリティを向上させるために同時に使用するように設計されています。Oracle Data Redactionを補完するものとして1つ以上のこれらのツールをデプロイすることで、全体的なセキュリティ体制を改善することができます。