3 データ検出

概要

機密データの検出は、Enterprise ManagerでData Masking and Subsettingの一部として提供される最初の機能です。この機能を使用すると、アプリケーション・データ・モデルおよび機密タイプを作成または管理できます。機密データのスキャンとタグ付け、および参照関係のモデリングは、アプリケーション・データ・モデル(ADM)に組み込まれていますが、機密タイプは、それらの機能で検索する機密データの種類を記述する点で重要です。

アプリケーション・データ・モデルの使用を開始しましょう。

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

ADMの概要

データ検出では、ADMの作成は、機密データを検出および管理するための最初のステップであり、自動的に検出された機密列または手動で追加された機密列を格納できます。ADMには、アプリケーション(スキーマ)、オブジェクト(表またはエディショニング・ビュー)および列のリスト、および列間の関係が格納されます。ADMでは、機密タイプとそれに関連付けられた列が保持され、データ・サブセッティングやデータ・マスキングなどの後続の機能によって使用され、テスト・データが安全に生成されます。ADMの作成は、データ・マスキングおよびデータ・サブセッティング操作の前提となります。

ノート:

以降の項で「アプリケーション」、「スキーマ」、「オブジェクト」および「表」という用語がどのように使用されているかを確認してください。これらについて次に簡単に説明します:
  • アプリケーション: アプリケーションでは、関連するスキーマおよびオブジェクトがグループ化され、データ・マスキングおよびサブセッティング構成を管理するための高レベルの組織ビューが提供されます。
  • スキーマ: 通常はユーザーに関連付けられているデータベース・オブジェクトの論理コレクションで、表、ビュー、索引などが含まれます。
  • オブジェクト: データを保持する、または表、ビュー、索引などの構造を定義する、スキーマ内のエンティティ。
  • 表: スキーマ内の行と列で編成されて構造化された一連のデータ。

図3-1 アプリケーション・データ・モデルの概要

図3-1の説明が続きます
「図3-1 アプリケーション・データ・モデルの概要」の説明

図3-2 ADMのワークフロー

図3-2の説明が続きます
「図3-2 ADMのワークフロー」の説明

ワークフロー図に示されているステップは、次のトピックで参照できます:

続行する前に、「前提条件」の章で説明されているすべての必要な権限を持っていることを確認してください。

アプリケーション・データ・モデルを作成すると、PL/SQLメタデータ・コレクション・パッケージが自動的にターゲット・データベースにデプロイされます。パッケージを自動デプロイするデータベース・ユーザーには、DBA権限が必要です。

最初は権限の低いユーザーでアプリケーション・データ・モデルを作成することをお薦めします。

新しいADMの作成

このステップでは、ターゲット・データベース、アプリケーションおよびスキーマ間の関係を定義および構造化できます。この設定は、アプリケーション環境内のデータを正確にモデリングおよび管理するために不可欠です。

アプリケーション・データ・モデルを作成するには:

  1. Enterprise Managerの「名前付き資格証明」ページに移動し、ターゲット・データベースでDMS操作を実行するために使用できる名前付き資格証明を作成します。

    名前付き資格証明の作成の詳細は、Cloud Controlセキュリティ・ガイド - 名前付き資格証明を参照してください

  2. 「アプリケーション・データ・モデル」ページで、機密データを含むADMの作成ステップの概要図を確認します。
  3. 「作成」をクリックします。一般プロパティ情報を求めるポップアップ・ウィンドウが表示されます。
  4. 作成するADMの名前を指定します。
  5. ドロップダウン・リストから「ターゲット・タイプ」「ターゲット・データベース」および「データベース名前付き資格証明」を選択します。
  6. 「アプリケーション・スイート」を選択します:
    • 「カスタム・アプリケーション・スイート」を選択した場合:

      • デフォルトでは、ADMを作成するためのメタデータの収集は有効になっています。

    • 「Oracleアプリケーション・スイート」を選択した場合:

      • Oracle E-Business Suite – APPSユーザーのデータベース資格証明(または同等のもの)を入力し、ADMを作成するために「発行」をクリックします。

      • Oracle Fusion Applications – FUSIONユーザーのデータベース資格証明(または同等のもの)を入力し、ADMを作成するために「発行」をクリックします。

    メタデータ収集に関して次の点について注意してください:

    • 選択したアプリケーション・スイートのメタデータ収集により、ADMにそのスイート内のアプリケーションと表が移入されます。

    • ADMでは1つ以上のスキーマについてメタデータを収集できます。ADMアプリケーションとは、一般的にはスキーマを示します。選択した各スキーマはADMアプリケーションとなり、特にカスタム・アプリケーションの場合はADMにスキーマの表が入力されます。ただし、Fusion Applicationsの場合のように、複数のアプリケーションが単一のスキーマにマッピングされる可能性もあることに注意してください。実際のマッピングには、メタデータのコレクション・ジョブによって検出されたアプリケーションのメタデータによります。

  7. 作成するADMにアプリケーションとして含めるスキーマを選択します。ドロップダウンには、選択したデータベース内の限定された数の使用可能なスキーマのみが表示されます。目的のスキーマを検索して選択するために検索を開始します

    ノート:

    正確な結果を得るために、必ずdbms_stats.gather_table_statsを実行してすべての表の統計を収集してください。
  8. 次の関係検出タイプを選択します。
    • データベース・レベル(ディクショナリベース)の関係 - 参照整合性制約(プライマリ・キーと外部キー)としてデータ・ディクショナリで事前定義されたデータベース表の列間の関係を検出するには、この機能を使用します。たとえば、ORDERS表のCUSTOMER_ID列には、CUSTOMERS表のCUSTOMER_ID主キーを参照する外部キー制約があります。

    • アプリケーション・レベル(ディクショナリ以外)の関係 - 参照整合性制約(主キーおよび外部キー)としてデータ・ディクショナリに事前定義されていないデータベース表の列間の親子関係を検出するには、この機能を使用します。たとえば、EMPLOYEE_CONTACTS表のEMPLOYEE_ID列は、EMPLOYEES表のEMPLOYEE_ID列に関連付けられていますが、データベースに外部キー制約が定義されていません。

      「続行」をクリックします。

  9. メタデータ収集ジョブをスケジュールするためのパラメータを指定します。ADM作成ジョブをすぐに実行するか、後で開始するようにスケジュールするかを選択できます。
  10. ステップ8でアプリケーション・レベル検出を選択した場合は続行し、そうでない場合はステップ11にスキップします。
    1. 「次」をクリックします。
    2. 「サンプリング」オプションを選択します:
      • 列名のサンプリングによる: このオプションでは、列名を使用してアプリケーション定義の親子関係を識別します。列名のパターンは正規表現を使用して指定できます。たとえば: EMPID.*およびDEPT_EMPID.*です。
      • 列データのサンプリングによる: このオプションでは、データ・パターンまたは値パターンを使用して、アプリケーション定義の親子関係を識別します。データ・パターンは、正規表現を使用して指定できます。たとえば、123-456-7890などの10桁の米国電話番号は、[1-9]{3}[-][1-9]{3}[-][1-9]{4}と指定できます。

        Oracle Data Masking and Subsettingでは、列値を照合して、ユーザーが指定した名前またはデータ・パターン(あるいはその両方)を使用して潜在的な主キーと外部キーを識別し、結果を返します。

        潜在的な外部キーは、潜在的な主キー列内の包含を検証されます。つまり、潜在的な外部キーの値は潜在的な主キー内にすでに存在している必要があります。包含のテストは90%の精度を保つように行われます。つまり外部キー列が90%主キー内に含まれている場合、一致としてフラグ付けされます。このテストはアプリケーション(Oracle's E-Business SuiteおよびOracle Fusion Applications)に存在する可能性のある孤立した行を含めるために行われます。

  11. 「作成」をクリックして、アプリケーション・データ・モデルの作成ジョブを発行します。作成したADMがアプリケーション・データ・モデル・ページに表示されます。メタデータが収集されているとき、アプリケーション・データ・モデルはロックされ、編集できません。メタデータ収集ジョブのステータスを監視するには、最新のジョブ・ステータス表の列を使用します。

既存のADMの変更

既存のADMを変更して、機密列、アプリケーション、オブジェクト、権限および参照関係を表示または追加できます。

ADMへのアプリケーションの追加または削除

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして「アプリケーション」をクリックします。
  2. 「アプリケーション」サブページが表示され、メタデータ収集プロセス中に検出されたアプリケーションが示されます。
  3. 新しいアプリケーションを作成するには、「追加」をクリックします。「アプリケーションの追加」ポップアップ・ウィンドウが表示されます。
  4. アプリケーションの名前、ニックネーム/短縮名、アプリケーションの説明およびデータベース名前付き資格証明を指定します。
  5. 追加するスキーマの名前を入力して、検索アイコンをクリックします。または、テキストを入力せずに検索アイコンをクリックして、すべてのスキーマを取得します。
  6. リストからスキーマを選択します(すべてのオプションをフィルタリングして表示するには、入力が必要な場合があります)。
  7. 「追加」をクリックして、新しく作成したアプリケーションをデータ・モデルに追加します。

    アプリケーションが定義済スキーマとともに表示されるようになります。

  8. アプリケーションを削除するには、「アプリケーション」ページからアプリケーションを選択し、「削除」をクリックします。

    同様に、「アクション」メニューでオブジェクトおよび表タイプを変更できます。

参照関係の表示

参照関係を表示するには:

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして「参照関係」をクリックします。
  2. 親キーと依存キーの関係のリストを含むダイアログが開きます。サポートされる参照関係タイプは次のとおりです。
    • ディクショナリ定義

      これは、主キーと外部キーの関係に起因する、メタデータ収集によって抽出される参照関係です。必要に応じて、ADMから関係を削除できます。

    • 非ディクショナリ・ベース

      これは、Oracleデータ・ディクショナリには定義されていない参照関係で、潜在的な外部キーとなる列の名前および列値と潜在的な主キーとなる列の名前および列値をそれらのデータ型も含め、一致することによって達成されます。

    • ユーザー定義

      これはOracleデータ・ディクショナリで定義されていない参照関係であり、ユーザーは要件に基づいて手動で作成できます。

参照関係の追加と削除

参照関係を手動で追加または削除するには:

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして「参照関係」をクリックします。
  2. 親参照関係セクションの下にある「追加」ボタンをクリックします。

    「参照関係の追加」ポップアップ・ウィンドウが表示されます。

  3. 必要な「データベース名前付き資格証明」、「親キー」および「依存キー」の情報を選択します。
  4. これで、新規依存列が参照関係リストに表示されます。

機密データの自動検出

機密列を検出するには:

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして機密列の検出をクリックします。
  2. 「スケジュール」をクリックし、関連するカテゴリのデータベースの名前付き資格証明、アプリケーション、機密タイプの詳細を入力し、「発行」をクリックします。
  3. ジョブが発行されたら、ステータスが「成功」に変わるまでリフレッシュします。
  4. 行をクリックして、成功したジョブを強調表示します。検出列の下に機密列が表示されます。
  5. デフォルトでは、列の「機密ステータス」は「機密」です。いずれかの列の機密ステータスを変更するには、「検出された列」表で列の行を選択し、「機密でないとマーク」または「未定義」をクリックします。
  6. 「閉じる」をクリックし、「アプリケーション・データ・モデル」ページに戻ります。

機密列の手動追加

機密列を追加または削除するには:

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして機密列の管理をクリックします。
  2. 選択したADMに現在含まれているすべての機密列のリストを含むダイアログが表示されます。次に、「追加」をクリックします。

    「機密列の追加」ポップアップが表示されます。

  3. 必要な情報およびオプションの機密タイプを指定して、「追加」をクリックします。

    機密列の表に機密列が表示されます。

検出結果の表示

検出された機密列を表示するには:

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして機密列の検出をクリックします。
  2. いずれかの検出ジョブを選択して、選択したジョブによって検出された機密列を表示します。

ADMへのデータベースの関連付け:

  1. アプリケーション・データ・モデルを選択して、「アクション」ボタンをクリックし、「変更」をクリックして「関連データベース」をクリックします。

    このダイアログには、このADMに関連付けられたすべてのデータベースおよびデータベースごとの各アプリケーションに割り当てられたスキーマがリストされます。マスキングおよびサブセッティング操作中にデータ・ソースの選択肢となるデータベースをさらに追加できます。

  2. 「追加」をクリックし、ポップアップからターゲット・タイプおよびターゲット・データベースを選択します。

    選択したデータベースが「関連データベース」ダイアログの「データベース」セクションに表示されます。

  3. 「関連付け」をクリックします。
  4. スキーマを変更するには、左側の関連データベース、スキーマを変更する右側のアプリケーションの順に選択し、「更新」をクリックします。
  5. ポップアップのリストから不足しているスキーマを選択して、「更新」をクリックします。

既存ADMへの権限の割当て

他のユーザーがアクセス権を持つことができるように、作成するアプリケーション・データ・モデルで権限を付与できます。これを行うには、少なくともADMにデザイナ権限を持つEnterprise Manager管理者である必要があります。

既存のADMに権限を割り当てるには:

  1. 「アプリケーション・データ・モデル」ページから、権限を付与するADMを選択し、「アクション」をクリックします。
  2. 「アクション」メニューから、「変更」「権限」「権限」の順に選択し、「権限の付与」で次のいずれかを選択します:
    • オペレータ – 選択したロールまたは管理者にADMのオペレータ権限を付与します(権限受領者は定義を表示およびコピーできますが、編集および削除することはできません)。

    • デザイナ – 選択したロールまたは管理者にADMのデザイナ権限を付与します(権限受領者は定義を表示、編集および削除できます)。

  3. 必要に応じて、名前でフィルタリングします。選択して、「権限付与」をクリックします。

    これで、選択した名前は、ADMに対する権限を持ちます。

  4. 以前に付与された権限を取り消す場合は、「取消」アクションを使用します。

ノート:

ユーザーは、次のADM詳細を変更できます:
  • 名前
  • 説明
  • ソース・データベース

ソース・データベースが削除または破損した場合、ユーザーは新しいソースを再関連付けできます。

ADMの検証

ADMを作成すると、ADMステータス列に「有効」、「無効」、「検証が必要」または「アップグレードが必要」が示されます。

  • 無効なステータス – ターゲット・データベースを検証して、データ・ディクショナリで検出された内容でアプリケーション・データ・モデルの参照関係を更新し、アプリケーション・データ・モデルの各項目に対応するオブジェクトがデータベースにあるかどうかも判別します。

  • 検証ステータスが必要 – Oracle提供のテンプレートがインポートされており、これを使用する前にADMを検証する必要があります。これはデータ・ディクショナリからの必要な参照関係がADMにプルされたことを確認するために必要です。

ターゲット・データベースを検証するには:

  1. 検証するADMを選択します。

  2. 「アクション」メニューから、ADMの検証「検証」の順に選択します。

  3. 検証する関連データベースとその資格証明を選択します

  4. ADMを再度選択し、ADMの検証「結果」の順に選択します。

  5. 「リフレッシュ」ボタンを定期的にクリックして、以前に発行された検証ジョブのステータスをモニターします。

  6. 「検証」をクリックして、検証ジョブをスケジュールします。

  7. ジョブが正常に完了したら、「ターゲット・データベース」をクリックして、リストされている問題を確認します。

  8. オブジェクトの問題を修正し、検証ジョブを再実行して、ターゲット・データベースのステータスが有効になったことを確認します。

ADMのインポートとエクスポート

ADMをエクスポートして新しいリポジトリにインポートすることで、別のリポジトリを使用する他のEnterprise Manager環境とADMを共有できます。

エクスポートしたADMは、定義によりインポートに必要なXMLファイル形式です。インポートの前にエクスポートしたADM XMLファイルを編集できます。後続のインポートにADMをエクスポートする場合、ほとんどまたはすべての機能(アプリケーション、表、表タイプ、参照関係、機密列)を使用するADMを持つことが最適です。このため、インポートの前にエクスポートしたファイルを編集する場合、必要なXMLタグおよびファイルで属する場所がわかります。

  • ADMのインポート

  • ADMのエクスポート

ノート:

ADMのエクスポートおよびインポート操作をリモートで実行またはスクリプト化する場合に、これらの操作を実行するためのEnterprise Manager CLIの動詞があります。Enterprise Manager Cloud Controlコマンドライン・インタフェースを参照してください

ADMのインポート

  1. 「アプリケーション・データ・モデル」ページで、表の上部に表示されている「インポート」オプションをクリックします。
  2. 表示されたポップアップで、ADMの名前、ADMに割り当てるターゲット・データベース、およびインポートするADMを含むXMLファイルを指定します。
  3. 「インポート」をクリックします。

    アプリケーション・データ・モデル・ページにADMが表示されます。

ノート:

ADMのインポート後、機密列を検出したり、検証ジョブを実行したい場合があります。これらのタスクを実行する間、PL/SQLのメタデータのコレクション・パッケージがターゲット・データベースに自動的にデプロイされます。パッケージを自動デプロイするデータベース・ユーザーには、DBA権限が必要です。

XMLファイルとしてのADMのエクスポート

  1. アプリケーション・データ・モデル・ページから、エクスポートするADMを選択します。
  2. 「アクション」メニューから、「エクスポート」「ファイルにエクスポート」の順に選択します。
  3. ポップアップで、エクスポートされたXMLファイルを保存する場所に移動し、「保存」をクリックします。

ADMから透過的機密データ保護(TSDP)対応データベースへの機密メタデータのエクスポート

  1. 「アプリケーション・データ・モデル」ページから、エクスポートするADMを選択します。
  2. 「アクション」メニューから、「エクスポート」「TSDPカタログへのエクスポート」の順に選択します
  3. アプリケーション・データ・モデル・ページに、関連付けられたデータベースのテーブルが表示されます。データベースを選択し、「エクスポート」ボタンをクリックします。
  4. 表示される「エクスポート」ポップアップで、選択したデータベースの資格証明を指定し、「エクスポート」をクリックします。

    アプリケーション・データ・モデル・ページに、機密データがデータベースにコピーされたことを確認するメッセージが表示されます。

TSDPの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

機密タイプ

Oracleには、検出される機密データに基づいて事前定義された機密タイプが用意されています。既存の機密タイプを選択してデータを検出するか、新しい機密タイプを作成できます。

機密列の識別

データ検出ロジックが拡張され、機密列を識別する精度と効率が向上しました。新しいランキング・システムは、名前、コメントおよびデータに基づいて、列が機密タイプとどの程度一致するかを決定します。ランク1が最も完全に一致し(3つの属性すべて)、ランク7が最も一致しません(1つのみの属性が一致)。パフォーマンスを最適化するために、有効なスキャン順序が使用され、列に使用可能な属性に関連するランクのみがスキャンされます。さらに、機密タイプではAND/OR検索モードがサポートされています。ANDモードでは、列にフラグを付けるために、指定されたすべてのパターンが一致する必要があります。OR機密タイプの場合、列のデータが存在する場合は、一致したものとして識別する必要があります。列にデータが存在しない場合は、名前とコメント・パターンの一致で機密としてマークできます。たとえば、機密タイプで名前パターンとデータ・パターンの両方が定義されている場合、データのみの一致または名前とデータの組合せの一致に基づいて列にフラグを付けることができます。この更新により、様々なメタデータ・シナリオの柔軟性と一致精度が向上します。

機密タイプのカテゴリ化

検出と選択をより直感的にするために、すべての機密タイプ(新規と既存の両方)が8つの事前定義済カテゴリに編成されるようになりました。

  • 学業: 教育レコード
  • 個人情報: 個人識別子
  • 雇用: 勤務関連情報
  • 財務: 支払および銀行詳細
  • 医療: 医療情報
  • 識別: 政府発行の識別子
  • 情報技術: デジタル識別子とアセット
  • ユーザー定義: ユーザーによって作成された機密タイプ

このカテゴリ化は、ユーザーが機密タイプを選択するすべてのユーザー・インタフェース・ページに反映されています。最初に編成されたカテゴリ・リストが表示されるため、データおよびコンプライアンスのニーズに関連するタイプのナビゲートと選択が容易になります。この構造化されたアプローチにより、使いやすさが向上し、ユーザーは組織および規制要件に沿って機密データ・タイプを迅速に識別、適用および管理できます。

新しい機密タイプの作成

新しい機密タイプを作成するには:

  1. 「データ検出」で、機密タイプを選択します。

    機密タイプ・ページが表示されます。

  2. 「作成」をクリックします。

    機密タイプの作成ポップアップが表示されます。

  3. 「列名」、「列のコメント」および「列データ」検索パターンに必要な名前および正規表現を指定します。

    • 「Or」検索タイプは、パターンのいずれかが候補の機密列と一致することを意味します。機密タイプにデータ・パターンが定義されている場合、列データはこのパターンと一致する必要があります。

    • 「And」検索タイプは、すべてのパターンが候補の機密列に一致する必要があることを意味します。

    これらのパラメータに式を指定しない場合、機密データ検出ジョブではこの機密タイプの検索は行われません。

  4. 機密タイプ・ページの表に機密タイプが表示されます。ユーザー作成の機密タイプは、「ユーザー定義」の機密タイプ・カテゴリの下に表示されます。

    「作成」をクリックします。

既存のタイプに基づいて新しい機密タイプを作成することもできます:

  1. 「データ検出」で、機密タイプを選択します。

    機密タイプ・ページが表示されます。

  2. 「ユーザー定義」または7つの事前定義済カテゴリのいずれかから機密タイプを選択します。

  3. 「類似作成」をクリックします

    機密タイプの作成ポップアップが表示されます。

  4. 必要な名前を指定して、「列名」、「列のコメント」および「列データ」検索パターンの既存の式を必要に応じて変更します。

  5. 「作成」をクリックします。

    新しい機密タイプが「ユーザー定義」カテゴリの下に表示されます。

ノート:

カスタム機密タイプを含むADMをエクスポートすると、エクスポートされたXMLにカスタム機密タイプ情報がリストされます。

EMに特定の機密タイプがなく、インポートされたXMLにその機密タイプ情報がある場合は、インポート時に新しい機密タイプがEMに自動的に作成されます。

そのADMの機密列がその特定の機密タイプを使用して定義されている場合でも、XMLに特定の機密タイプ情報が含まれていない可能性があります。そのXMLをインポートした後、それらの機密列の機密タイプは"UNDEFINED"になります。