1 Oracle Data Masking and Subsettingの概要

この章では、次の概要を示すことでOracle Data Masking and Subsettingパックの基本を説明します。

実装前にOracle Data Masking and Subsettingの前述の概念を理解しておくことをお薦めします。これらの概念をすでに理解している場合、またはデータのマスキングまたはサブセッティングを始める場合には、この章より後の章を参照してください。

注意:

Oracle Data Masking and Subsettingのライセンス情報の詳細は、Oracle Databaseライセンス・ガイドを参照してください。

データのマスキングとサブセッティングの必要性

データをマスクおよびサブセットする理由を次に示します。

  • 機密データの拡散の制限: セキュリティ脅威の増加により機密情報の公開を制限する必要性が増しました。その一方、非本番目的(テストや開発など)のために本番データをコピーすることは、機密データを拡散し、セキュリティやコンプライアンスの範囲を拡大し、データ侵害の可能性が増大します。

  • 必要なものを共有: 通常、企業は様々な理由で内部パーティおよび外部パーティと本番データ・セットを共有する必要があります。たとえば、クラウド・アプリケーション・プロバイダはオンデマンドで、個別のサブスクライバに固有の情報を抽出および共有する必要がある場合があります。別の例としては、裁判所命令を果たす企業は本番データのサブセットを抽出し、裁判所と共有する必要があります。いくつかのケースでは、本番データセット全体を共有するより、情報の一部またはサブセットを抽出および共有する方が効率的です。

  • データの機密に関する法律および標準に準拠: PCI-DSSや欧州連合(EU)一般データ保護規則(GDPR)などのデータの機密に関する標準では、非本番環境での機密情報の保護を主張します。これは、こうした環境が通常、本番システムほど保護または監視されていないためです。EU GDPRでは、情報のサブセットの識別および処理を必要とする個人の忘れられる権利、抹消の権利、ポータビリティの権利または修正の権利を義務付けています。

  • ストレージ・コストの最小化: 本番データ全体をテスト、開発およびQA目的に使用すると、ストレージ・コストを追加する必要性が生じ、テストおよび開発サイクルを延ばし、ストレージ全体および運用コストが増大します。

データのマスキングおよびサブセッティングは前述のユース・ケースに対応します。データ・マスキングは、本物に近い架空のデータで機密データを置き換えるプロセスです。データ・サブセッティングは、データを廃棄または抽出することで、サイズを小さくするプロセスです。マスキングは、機密性の高い本番データを匿名化することでデータ拡散を制限します。サブセッティングは、データの削除、または共有やアーカイブのためにデータのサブセットを抽出することにより、ストレージ・コストを削減します。データ・マスキングは静的データ・マスキングとも呼ばれ、データ・サブセッティングはテスト・データ管理とも呼ばれます。

データのマスキングおよびサブセッティングに関して組織が直面する課題

通常、組織はカスタム・スクリプトまたはソリューションを使用してデータをマスキングまたはサブセッティングします。こうした社内ソリューションは少数の列では動作する可能性がありますが、分散データベースで数千もの列を持つ大きなアプリケーションには対応できず、次に示すような課題が残ります。

  • 大規模なアプリケーション、データベースおよび環境の中に機密データをどのように置くか。

  • データは、VISA、AMEX、Discoverer、Master、Social Security Numbers、その他様々な形やフォームのため、機密データをどのように的確に保護するか。

  • 保護されたデータは、開発者、テスターおよびアプリケーションによって使用できるか。

  • アプリケーションはマスキングおよびサブセッティングが終了した後、動作し続けるか。

前述の課題に加えて、組織は、この絶え間なく変化するIT環境において、このようなソリューションを開発および維持するリソースがない場合があります。

Oracle Data Masking and Subsettingがマスキング/サブセッティングの課題に対処する方法

Oracle Data Masking and Subsettingは、機密性の高い本番データをマスキングおよびサブセッティングする、自動で柔軟な、使いやすいソリューションによって前述の課題に対処し、非本番データにも安全に共有できるようにします。

Oracle Enterprise Manager (EM)のOracle Data Masking and Subsetting (DMS)パックが役立つ内容を次に示します。

  • 機密情報をマスキングすることでデータのビジネス価値を最大化します

  • 機密の高い本番情報を急増させないことによって、コンプライアンス範囲を最小化します

  • データをサブセッティングすることで、テストおよび開発環境のストレージ・コストを削減します

  • 機密データおよび親子関係の検出を自動化します

  • マスキング・フォーマット、マスキング変換、サブセッティング技術およびアプリケーション・テンプレートの選択に関する総合的なライブラリを提供します

  • ソース・データベースからデータを抽出することで、データベース内またはファイル上でデータをマスキングまたはサブセッティングします

  • OracleデータベースとOracle以外のデータベースの両方でマスキングおよびサブセッティングします

  • Oracle CloudにホストされたOracle Databaseをマスキングおよびサブセッティングします

  • マスキングおよびサブセッティング中にデータ整合性を保持し、さらに多くの固有の機能を提供します

  • 選択されたOracleのテスト、セキュリティおよび統合製品と統合します。

図1-1 本番およびテスト・データベース設定で使用されるOracle Data Masking and Subsetting

図1-1の説明が続きます
「図1-1 本番およびテスト・データベース設定で使用されるOracle Data Masking and Subsetting」の説明

Oracle Data Masking and Subsettingの主なコンポーネント

Oracle Data Masking and Subsettingは、次の主要コンポーネントで構成されています。

アプリケーション・データ・モデル

Oracle Data Masking and Subsettingパックのアプリケーション・データ・モデリング・モジュールでは、自動検出プロシージャおよび機密列タイプによって、機密データの検出を簡素化します。こうしたプロシージャでは、機密情報を含む列を検出するのみでなく、データベースに定義されたそれらの列の親子関係も検出します。

機密列タイプは、列名、列データおよび列コメント内のデータ・パターンの組合せを使用して、国民保険番号などの機密データ要素のフォレンジックを作成します。自動検出プロシージャは、データベースの機密情報をスキャンする際に、機密列タイプを利用してデータベース表の列のデータをサンプリングします。

Application Data Modelingでは、クレジット・カード番号、社会保障番号、電話番号などデフォルトの機密の列タイプをいくつか提供します。顧客依存の列タイプは、正規表現を使用して簡単に作成できます。

図1-2 アプリケーション・データ・モデルの編集

図1-2の説明が続きます。
「図1-2 アプリケーション・データ・モデルの編集」の説明

データ・マスキング・フォーマット・ライブラリ

アプリケーション・データ・モデリングが機密データの検出およびモデリングのタスクを自動化する一方、マスキング・フォーマットおよび変換の包括的ライブラリは、検出された機密列のマスキング基準を定義する労力を簡素化します。

データ・マスキング動作の重要な側面の1つは、データ要素のセマンティクスや構造を崩すことなく、機密情報を偽のデータに置き換えることです。マスキングされたデータは、本物のようであり、フォーマット固有のチェック(Luhnチェックなど)をパスする必要があります。たとえば、マスキングされたクレジット・カード番号は有効なクレジット・カード番号であるのみでなく、有効なVISA、Master、American ExpressまたはDiscoverのカード番号である必要があります。このデータ整合性の維持に失敗すると、開発プロセスまたはテスト・プロセスに影響を及ぼし、対応するアプリケーションが中断する可能性があります。

Oracle Data Masking and Subsettingは、個人情報(PII)および支払カード情報(PCI)のほとんどをカバーするマスキング・フォーマットの包括的なライブラリが同梱されています。様々なタイプのクレジット・カード番号または様々な国の国別識別子または銀行口座番号において、マスキング・フォーマット・ライブラリは企業のニーズに応えます。

いくつかのデフォルトのマスキング・フォーマットに加えて、この製品はカスタム・マスキング・フォーマットを簡単に作成するための様々なビルトイン・ツールを提供します。固定またはランダムな数、文字列および日付を生成する簡単なツールがあります。参照表からの置換を容易にするツールがあります。複雑なユーザー定義マスキング・ロジックに対応するSQL式およびユーザー定義関数などのツールがあります。

図1-3 データ・マスキング・フォーマット・ライブラリ

図1-3の説明が続きます
「図1-3 データ・マスキング・フォーマット・ライブラリ」の説明

データ・マスキング変換

データ・マスキング・フォーマット・ライブラリおよびアプリケーション・テンプレートによって、マスキング・ルールを定義して、データ要素の構造の整合性を維持するタスクを促進します。

ビジネスのユースケースに応じて、マスキング・フォーマットを機密の列にマッピングする際に、組織には様々な要件がある場合があります。たとえば、大きな分散データベース環境の要件の1つは、指定された入力に対して、複数のデータベースに渡って一貫性のあるマスキングされた出力を生成することです。Oracle Data Masking and Subsettingは、幅広いビジネス・コンテキストに適合する洗練されたマスキング変換を提供します。マスキング・フォーマットがデータ・マスキング定義の基礎的要素として考えられる場合、マスキング変換は、様々なビジネス要件に応じてこれらのマスキング・フォーマットを調整します。

条件付マスキング

条件変換は様々な条件に応じてマスキング・フォーマットを調整する機能を提供します。たとえば、一意の個人識別子を含む列をマスキングすることを検討してください。アメリカ合衆国に属する識別子は、社会保障番号のフォーマットを使用してマスキングされ、イギリスに属する識別子は、国民保険番号のフォーマットを使用してマスキングできます。

複合マスキング

複合変換(グループ化オプションとも呼ばれる)は関連する列間でマスキングされるデータが同じ関係を維持できるように、関連列をグループとしてマスキングします。たとえば、市区町村、都道府県、郵便番号などのアドレス・フィールドをマスキングすることを検討してください。これらの値はマスキング後、一貫性を保つ必要があります。

確定的/一貫したマスキング

確定的変換は、データベース間で、指定された入力に対して一貫性のある出力を生成します。この変換は、複数のアプリケーション間でデータの整合性を維持するために、また、シングル・サインオン環境でシステムの整合性を保つために役立ちます。たとえば、人材管理アプリケーション、顧客関係管理アプリケーションおよび販売データ・ウェアハウスという3つのアプリケーションを検討してください。3つのアプリケーションは、アプリケーション全体で一貫したマスキングを必要とする従業員IDなどの重要な共通フィールドを持つ可能性があります。置換および暗号化マスキング・フォーマットは、確定的マスキング変換を提供します。

シャッフル

シャッフル変換は、ランダムな方法で列内のフィールドをシャッフルします。この変換は、機密データ要素間の1対1のマッピングを崩すのに役立ちます。たとえば、医療情報をマスキングするときに個人の医療記録を含む列をシャッフルできます。

キー・ベースの元に戻すことのできるマスキング(暗号化形式)

この変換では、セキュアなキー文字列を使用して元のデータを暗号化および復号化します。入力データ・フォーマットは暗号化および復号化中、保持されます。この変換は強力な業界標準3DESアルゴリズムを使用します。この変換は、企業が分析、レポートまたは任意の他の業務処理のためにデータをマスキングしてサード・パーティに送信する必要がある場合に役立ちます。サード・パーティから処理されたデータを受信した後、データの暗号化に使用したのと同じキー文字列を使用して元のデータを復元できます。

フォーマット維持のランダム化(自動マスク・フォーマット)

この変換は入力長、入力での文字と数字の位置、大/小文字の区別および特殊文字を保持してデータをランダム化します。

データ・サブセッティング

現在のエンタープライズ・クラスのアプリケーションをサブセッティングすることは、難易度の高いタスクです。Oracle Data Masking and Subsettingは、定義のしやすい目標および条件ベースのサブセッティング方法により、この労力を簡素化します。データは様々な目標に基づいてサブセッティングできます。目標は相対的な表サイズにできます。たとえば、100万行を含む表の1%のサブセットを抽出します。また、データは様々な条件に基づいてサブセッティングすることもできます。条件は、時間に基づくこともできます。たとえば、特定の年より前に作成されたすべてのユーザー・レコードを破棄します。条件は地域に基づくこともできます。たとえば、新しいアプリケーション開発のために、アジア太平洋地域の情報を抽出します。条件は、SQL WHERE句を使用して指定します。「SQL WHERE句」もバインド変数をサポートします。

図1-4 条件に基づくサブセッティング

図1-4の説明が続きます
「図1-4 条件に基づくサブセッティング」の説明

データ・サブセッティングでは、サブセッティング前後の表内(依存表を含む)のストレージ・サイズおよびデータの割合でアプリケーション・スキーマのリアルタイムの動的表示を生成します。管理者はこの表示を使用して、データをサブセッティングする前にサブセッティング基準を検証することもできます。

アプリケーション・テンプレート

Oracle Data Maskingアプリケーション・テンプレートは、Oracle E-Business SuiteおよびOracle Fusion Applicationsなどのパッケージ・アプリケーションのための事前識別済の機密列、それらの関係、および業界標準のベスト・プラクティス・マスキング方法をすぐに利用できる状態で提供します。Oracleが提供する最新のデータ・マスキングおよびサブセッティング・テンプレートを取得するには、自己更新機能を使用します。

アーキテクチャ

Oracle Data Masking and Subsettingは、Oracle Enterprise Managerのインフラストラクチャの一部です。Oracle Enterprise Managerを使用している組織は、Oracle Data Masking and Subsettingパックを別でダウンロードしてインストールする必要はありません。Oracle Enterprise Managerによって、管理者用の統合されたブラウザベースのユーザー・インタフェースが提供されます。すべてのデータ・マスキングおよびサブセッティング・オブジェクトはOracle Enterprise Managerリポジトリ内に一元的に置かれ、これによりアプリケーション・データ・モデル、データ・マスキングおよびサブセッティング・ルールまたは定義の一極での作成および管理を容易にします。直観的なクラウド管理のグラフィカル・ユーザー・インタフェース(GUI)に加え、Oracle Enterprise Managerではデータ・マスキングおよびサブセッティングのタスクを自動化するためにコマンドライン・インタフェース(EMCLI)も提供します。

図1-5 Oracle Data Masking and Subsettingのアーキテクチャ

図1-5の説明が続きます
「図1-5 Oracle Data Masking and Subsettingのアーキテクチャ」の説明

Oracle Enterprise Manager Architectureの詳細は、Oracle Enterprise Managerの概要ガイドを参照してください。

デプロイメント・オプション

Oracle Data Masking and Subsettingは、データのマスキングとサブセッティング用に次のモードを提供します。

  • インデータベース・モードでは、非本番データベース内のデータを直接にマスキングおよびサブセッティングし、本番環境への影響は最小限であるか、まったく影響を与えません。インデータベース・モードでは、データベース内のデータが永続的に変更されるため、本番データベースではなく、ステージング、テストまたは開発データベースなどの非本番環境をお薦めします。

  • インエクスポート・モードでは、データベースからデータを抽出するときに、ほぼリアルタイムでデータをマスキングおよびサブセッティングします。抽出されたマスキングおよびサブセッティングされたデータは、データ・ポンプ・エクスポート・ファイルに書き込まれ、これはテスト、開発またはQAデータベース内にインポートできます。通常、インエクスポート・モードは、本番データベースに使用されます。マスキングおよびサブセッティングのインエクスポート・メソッドは、製品の境界内で機密情報のサニタイズを行うOracleの固有の製品です。

  • 異機種環境モード Oracle Data Masking and Subsettingでは、非Oracleデータベースでデータをマスキングおよびサブセッティングできます。ターゲットの本番データは、まずOracle Database Gatewayを使用して非Oracle環境からOracle Databaseにコピーされ、次にOracle Database内でマスキングおよびサブセッティングされ、最後に非Oracle環境にコピーして戻されます。このアプローチは、Oracle Databaseがデータ変換の仲介となることを除けば、様々なETL (抽出、変換およびロード)ツールで使用されるステップと似ています。Oracle Database Gatewaysによって、Oracle Data Masking and SubsettingがOracle MySQL、Microsoft SQLServer、Sybase SQLServer、IBM DB2 (UDB, 400、z/OS)、IBM InformixおよびTeradataのデータ上で動作できるようにします。

注意:

ライセンスの詳細は、Oracle Databaseライセンス・ガイドを参照してください。

方法

Oracle Data Masking and Subsettingでは、次の方法を使用して非本番データベースを保護し、コンプライアンス要件を満たしている、架空であるが関連のあるデータによって、機密データを置き換えます。

  • アプリケーション・データ・モデルの作成: 機密データおよびデータの関係を検出し、アプリケーション・データ・モデルを作成または割り当てます

  • マスキング・フォーマットおよび基準の選択: 検出された機密データに基づいて、データ・マスキング定義、マスキング・フォーマット・タイプおよびテンプレートを作成します

  • プレビューおよび検証: マスキング・アルゴリズムの結果およびサブセットの削減結果をプレビューすることで機密データを保護します

  • マスキング変換の実行: インデータベースまたはインエクスポートのマスキングおよびサブセッティング変換を実行し、マスキングされたデータを検証します

次の図は、Oracle Data Masking and Subsettingで使用される方法を示しています。

ワークフロー

次の図は、Oracle Data Masking and Subsettingワークフローについて説明しています。

図1-7 Oracle Data Masking and Subsettingワークフロー

DMS_workflow.pngは、フロー・チャート形式でOracle Data Masking and Subsettingワークフローについて説明しています。Data Masking and Subsettingワークフローの3つの重要なステップは、a)アプリケーション・データ・モデルの作成 b)データ・マスキング定義の作成および c)データ・サブセッティング定義の作成です。

次のステップでは、Oracle Data Masking and Subsettingワークフローについて説明します。

  1. アプリケーション・データ・モデルの作成: Oracle Data Masking and Subsettingの使用を開始するには、アプリケーション・データ・モデル(ADM)を作成する必要があります。ADMは、アプリケーション・メタデータ、参照関係を取得し、ソース・データベースから機密データを検出します。

  2. データ・マスキング定義の作成: ADMを作成したら、次のステップは、データ・マスキング定義を作成することです。マスキング定義には、表の列とこれらの各列のマスキング・フォーマットに関する情報が含まれます。マスキングされたデータをエクスポート・ファイルに書き込むことによって、マスクを作成できます。

  3. データ・サブセッティング定義の作成: 表ルールおよびルール・パラメータを定義するためにデータ・サブセッティング定義を作成します。サブセット・データをエクスポート・ファイルに書き込むことによって、サブセットを作成できます。