Oracle®

Data Masking and Subsettingガイド

Enterprise Manager 13c

E72570-04(原本部品番号:E63408-05)

2017年3月

Oracle Data Masking and Subsettingガイド, Enterprise Manager 13c

E72570-04

Copyright © 2014, 2017, Oracle and/or its affiliates.  All rights reserved.

原本著者: Preethy P G, Bert Rich

原本協力著者: Jim Garrison, Tulika Das, Dinesh Rajasekharan

原本協力者: Eric Paapanen, Vipin Samar, Gopal Mulagund, John Kati, Amoghavarsha Ramappa

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

図一覧

表一覧

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

『Oracle Data Masking and Subsettingユーザーズ・ガイド』のこのリリースでの変更点

- Oracle Data Masking and Subsettingのバージョニング

- Oracle Data Masking and Subsettingリリース13.1での変更点

- 非ディクショナリ・ベースの参照関係(アプリケーション定義の関係)のサポート

- 表パーティションに基づいたデータ・サブセッティング

- エディション・ビュー・オブジェクトのアプリケーション・データ・モデリングおよびデータ・マスキングのサポート

- Oracle Data Masking and Subsettingリリース12.1での変更点

- セキュア・シェル鍵ベースのホスト認証のサポート

- Oracle CloudでのData Masking and Subsettingのサポート

1 Oracle Data Masking and Subsettingの概要

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

- コンポーネント

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

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

- データ・マスキング変換

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

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

- アーキテクチャ

- 実行方法

- インデータベース

- インエクスポート

- 異種

- 方法

- ワークフロー

2 始める前に

- Oracle Data Masking and Subsettingのアクセス権

- Oracle Data Masking and Subsettingオブジェクトに対するアクセス制御

- 記憶域要件

- セキュリティおよび法規制に対するコンプライアンス

- サポートされるデータ型

- サポートされないオブジェクト

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

- アプリケーション・データ・モデルの作成

- ADMの作成

- アプリケーションのスキーマと表を表示するためのADMの編集

- アプリケーション・スキーマへの表の追加および削除

- 参照関係の表示

- 参照関係の追加と削除

- 機密データの検出の実行

- 検出結果の表示

- 検出結果での機密ステータスの設定

- 機密列の追加と削除

- カスタム機密列タイプの作成と管理

- 既存ADMへのデータベースの関連付け

- ADMの検証または同期

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

- ADMのインポート

- ADMのエクスポート

- 既存ADMへの権限の割当て

4 データ・マスキング

- Oracleデータ・マスキングの概要

- データ・マスキングの概念

- データ・マスキング・ユーザーのロール

- Oracleのセキュリティ関連の製品

- データ・マスキングについてのエージェントの互換性

- フォーマット・ライブラリとマスキング定義

- データ・マスキングで推奨されるワークフロー

- データ・マスキング・タスクの順序

- マスキング・フォーマットの定義

- 新規マスキング・フォーマットの作成

- ユーザー定義関数および後処理関数の指定

- マスキング・フォーマット・テンプレートの使用

- Oracle付属の事前定義済のマスキング・フォーマットの使用

- フォーマット定義のパターン

- カテゴリ定義

- クレジット・カード番号

- 米国社会保障番号

- ISBN番号

- UPC番号

- カナダの社会保険番号

- 北米電話番号

- イギリスの国民保険番号

- 自動マスク

- DM_FMTLIBパッケージのインストール

- マスキング・フォーマットの指定による列の定義

- 置換フォーマットを使用した決定論的マスキング

- アプリケーション・データ・モデルおよびワークロードによるマスキング

- マスキングする列の追加

- データ・マスキング拡張オプションの選択

- データ・マスキングのオプション

- 乱数の生成

- マスク前およびマスク後スクリプト

- スクリプト生成ジョブのスケジューリング

- データ・マスキング・ジョブのスケジュール

- マスキング操作のための領域の要件の見積り

- 依存列の追加

- パッケージ・アプリケーションの依存列のマスキング

- データ・マスキング・テンプレートのインポート

- 本番データベースのクローニング

- パフォーマンスの評価のためのテスト・システムのマスキング

- マスキングのみを使用した評価

- クローニングおよびマスキングを使用した評価

- アップグレードに関する考慮事項

- シャッフル・フォーマットの使用

- グループ・シャッフルの使用

- 条件付マスキングの使用

- LONG列を含むデータ・マスキングの使用

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

- データ・サブセット定義の作成

- サブセット・スクリプトの生成

- サブセット・スクリプトの保存

- サブセット・テンプレートおよびダンプのインポートとエクスポート

- サブセット定義のインポート

- サブセット定義のエクスポート

- ターゲット・データベースのサブセット・バージョンの作成

- アプリケーション・データ・モデルによるサブセット定義の同期化

- サブセット定義での権限の付与

- インライン・マスキングおよびサブセット化について

- インライン・マスキングおよびサブセット化シナリオ

- ライフサイクル管理

索引

図一覧

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

- 1-2 方法

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

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

- 3-2 テスト・データ管理アーキテクチャ

- 4-1 データ・マスキングのワークフロー

表一覧

- 4-1 元の表(保持せず)

- 4-2 マッピング表(保持せず)

- 4-3 マスクされた表(保持せず)

- 4-4 ジョブ・カテゴリを使用したグループ・シャッフル

- 4-5 グループ・シャッフルでのジョブ・カテゴリの使用

はじめに

「はじめに」の内容は次のとおりです。

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

対象読者

このドキュメントでは、Oracle Enterprise Manager (EM)データベース・プラグインのOracle Data Masking and Subsetting Pack (DMS)を使用して、開発およびテストなど非本番使用のデータをマスキングおよびサブセッティングする方法に関する情報を示します。このドキュメントは、データベース管理者(DBA)、データベース設計者、アプリケーション管理者、アプリケーション所有者、ビジネス所有者、テスターおよび開発者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWeb サイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

このマニュアルで説明するいくつかのトピックの詳細は、Oracleドキュメント・セットの次のマニュアルを参照してください。

- 『Oracle Database 2日でデータベース管理者』

- 『Oracle Database 2日でパフォーマンス・チューニング・ガイド』

- Oracle Database管理者ガイド

- Oracle Database概要

- 『Oracle Databaseパフォーマンス・チューニング・ガイド』

- 『Oracle Database SQLチューニング・ガイド』

- 『Oracle Databaseインストレーション・ガイド for Linux』

- Enterprise Managerコマンドライン・インタフェース

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

『Oracle Data Masking and Subsettingユーザーズ・ガイド』のこのリリースでの変更点

この章の内容は次のとおりです。

- Oracle Data Masking and Subsettingのバージョニング

- Oracle Data Masking and Subsettingリリース13.1での変更点

- Oracle Data Masking and Subsettingリリース12.1での変更点

Oracle Data Masking and Subsettingのバージョニング

Oracle Data Masking and Subsettingのバージョンは、Oracle Enterprise Managerデータベース・プラグインのバージョンに基づいています。

Oracle Data Masking and Subsettingは、Oracle Enterprise ManagerのOracle Databaseプラグインの一部です。一般に、Oracle Enterprise Managerバージョンのライフサイクル中に、複数のOracle Enterprise Managerデータベース・プラグインのバージョンがリリースされます。たとえば、Oracle Enterprise Managerデータベース・プラグイン・バージョン12.1.0.6と12.1.0.7は、Oracle Enterprise Managerバージョン12.1.0.4のライフサイクル中にリリースされています。

Oracle Data Masking and Subsettingリリース13.1での変更点

この項では、Oracle Data Masking and Subsettingリリース13.1で導入された機能について説明します。

- 非ディクショナリ・ベースの参照関係(アプリケーション定義の関係)のサポート

- 表パーティションに基づいたデータ・サブセッティング

- エディション・ビュー・オブジェクトのアプリケーション・データ・モデリングおよびデータ・マスキングのサポート

非ディクショナリ・ベースの参照関係(アプリケーション定義の関係)のサポート

Oracle Data Masking and Subsettingは、非ディクショナリ・ベースの参照関係をサポートします。非ディクショナリ・ベースの参照関係は、Oracleデータ・ディクショナリに定義されていないアプリケーション固有の参照関係です。この機能の使用方法の詳細は、「アプリケーション・データ・モデリング」の章を参照してください。

表パーティションに基づいたデータ・サブセッティング

Oracle Data Masking and Subsettingは、パーティションに基づいてデータのサブセットを生成する機能を提供します。パーティションおよびサブパーティションに基づいたサブセッティングでは、表の特定のパーティションまたはサブパーティションに属するサブセット内の行のみを含めることができます。この機能の使用方法の詳細は、「データ・サブセッティング」の章を参照してください。

エディション・ビュー・オブジェクトのアプリケーション・データ・モデリングおよびデータ・マスキングのサポート

アプリケーション・データ・モデリングとデータ・マスキング・コンポーネントは、エディション・ビューをサポートするように拡張されました。エディション・ビューのサポートは、最小限の停止時間でアプリケーションへのパッチ適用やデータベースのアップグレードを行うためにエディション・ベースの再定義を使用する、Oracle E-Business Suite 12.2以上などのアプリケーションの検出およびマスキングのために必要です。

エディション・ビューを持つアプリケーション・データ・モデルを作成し、エディション・ビュー列を機密としてマークできます。データ・マスキングは、エディション・ビュー列が参照しているベース列をマスキングします。

エディション・ビューの詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。

Oracle Data Masking and Subsettingリリース12.1での変更点

『Oracle Data Masking and Subsettingユーザーズ・ガイド』リリース12.1.0.8での変更点は次のとおりです。

- セキュア・シェル鍵ベースのホスト認証のサポート

- Oracle CloudでのData Masking and Subsettingのサポート

セキュア・シェル鍵ベースのホスト認証のサポート

Oracle Data Masking and Subsettingは、ターゲット・データベース・ホストへのセキュア・シェル(SSH)鍵ベースのホスト認証をサポートしています。詳細は、『Oracle Enterprise Manager Cloud Controlセキュリティ・ガイド』を参照してください。

Oracle CloudでのData Masking and Subsettingのサポート

Oracle Data Masking and Subsettingは、オンプレミス・データベースに加えて、Oracle Cloud (DBaaS)でホストされているデータベースをモデル化、マスキングおよびサブセット化する機能を提供します。Oracle Cloud (DBaaS)でデータをマスキングおよびサブセット化するには、Oracle Enterprise ManagerのターゲットとしてOracle Cloudでデータベースを登録する必要があります。詳細は、『Oracle Enterprise Manager Cloud Control管理者ガイド』を参照してください。

1 Oracle Data Masking and Subsettingの概要

Enterprise Manager for Oracle Database Plug-inのデータ・マスキングおよびサブセット化機能では、テスト・データを安全に管理できます。

現実的なテストを実行すると、テスト環境内の非本番ユーザーに機密データが公開されてしまうリスクがあります。Oracle Databaseのテスト・データの管理機能では、テスト・データに対してデータ・マスキングおよびデータ・サブセット化を実行し、このリスクを最小限にできます。

本番データをテスト環境にコピーした場合、機密情報がアプリケーション開発者や外部コンサルタントなどの非本番ユーザーに漏えいしてしまうというリスクがあります。現実的な環境のテストを行うには、このような非本番ユーザーが元のデータの一部にアクセスする(ただし、すべてのデータにはアクセスしない)ようにする必要があります(特に情報が機密情報とみなされる場合)。

Oracle Databaseには、このリスクを低減する次を実行するテスト・データ管理機能があります。

- アプリケーション・データ・モデリングおよび機密列を使用して、アプリケーション、表および表列間の関係のリストを格納します。詳細は、「アプリケーション・データ・モデリング」を参照してください。

- データ・マスキングを使用して、本番システムの機密データを架空のデータに置き換え、テスト時に使用することができます。詳細は、「データ・マスキング」を参照してください。

- データ・サブセット化を使用して、特定のサイトのみに関係する情報をレプリケートできます。詳細は、「データ・サブセッティング」を参照してください。

注意:

これらのセキュリティ機能を使用するには、Oracle Data Masking and Subsetting Packライセンスが必要です。

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

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

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

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

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

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

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

コンポーネント

この項では、Oracle Data Masking and Subsettingのコンポーネントについて説明します。

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

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

- データ・マスキング変換

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

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

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

アプリケーション・データ・モデリング(ADM)は、自動検出プロシージャおよび機密列タイプを介して、Oracleデータベース表からの機密データの検出を簡素化します。自動検出プロシージャは、機密情報を含む列を検出するだけでなく、データベースに定義されたそれらの列の参照関係や親子関係も識別します。

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

アプリケーション・データ・モデリングには、クレジット・カード番号、社会保障番号、電話番号などの様々な即時利用可能な機密列タイプが提供されています。独自の機密列タイプは、正規表現を使用して簡単に作成できます。Oracle Data Masking Pack、およびOracle Enterprise Managerのデータ検出およびモデリング機能により、企業はデータ・パターン検索基準を定義でき、データベース管理者による機密要素の検索が可能になります。たとえば、15または16桁のクレジット・カード番号、9桁の書式設定された米国の社会保障番号などのデータ・パターンがあります。

Oracle Data Masking and Subsettingでは、アプリケーション・データ・モデルをインポートおよびエクスポートすることもできます。

詳細は、「アプリケーション・データ・モデリング」の章を参照してください。

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

Oracle Data Masking and Subsettingにより、セキュリティ管理者は、共通マスキング・フォーマットの集中定義を管理できます。この集中定義により、データベース管理者は、データベースおよび機密データが存在する場所に関係なく、企業全体にわたって同じマスキング・ルールを適用できます。したがって、組織および企業は、機密データのマスキングの一貫性を維持し、データ共有のために設定された基準に準拠できます。

データ・マスキング・フォーマット・ライブラリには、一般的に使用されている機密データのための集中的なデータ・マスキング・フォーマットのセットが含まれています。たとえば、電話番号、社会保障番号、クレジット・カード番号および架空の姓名のマスク・フォーマットがあります。セキュリティ管理者は、これらのマスク・フォーマットを定義し、企業全体のDBAによって使用されるように、それらをフォーマット・ライブラリで管理できます。

データ・マスキング・フォーマット・ライブラリには、次のものが提供されています。

- データ・マスキング定義で使用できる、いくつかの組込みの即時利用可能なマスキング・フォーマットおよびプリミティブ

- 追加のフォーマットを作成するために組み合せが可能な組込みのマスク・プリミティブ

- 複雑なフォーマットを処理するためのユーザー定義のSQLまたはPL/SQL関数

データ・マスキング・ライブラリには、次のプリミティブも含まれています。

- 固定数値

- 固定文字列

- ランダム文字列

- ランダム桁数

- ランダム数値

- ランダム日付

データ・マスキング変換

Oracle Data Masking and Subsettingは、洗練されたマスキング変換を提供します。マスキング・フォーマットがデータ・マスキング定義の基礎的要素として考えられる場合、マスキング変換は、多様なビジネス要件に応じてこれらのマスキング・フォーマットを調整します。Oracle Data Masking and Subsettingは、次のデータ・マスキング変換を提供します。

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

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

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

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

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

- フォーマットを保持するランダム化(自動マスク・フォーマットとも呼ばれる): 入力長、入力での文字と数字の位置、大/小文字の区別および特殊文字を保持してデータをランダム化します。

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

Oracle Data Masking and Subsettingは、定義のしやすい目標ベースおよび条件ベースのサブセッティング方法により、サブセッティングを簡素化します。

- 目標ベースのサブセッティング: 目標に基づいてデータをサブセット化します。目標は、相対的な表サイズにすることができます。たとえば、1万行を含む表の1%のサブセットを抽出します。

- 条件ベースのサブセッティング: 条件に基づいてデータをサブセット化します。条件は、SQL WHERE句を使用して指定します。SQL WHERE句は、バインド変数をサポートします。
条件は、時間に基づくことができます。たとえば、特定の年より前に作成されたすべてのユーザー・レコードを破棄します。

条件は、地域に基づくことができます。たとえば、新しいアプリケーション開発のために、アジア太平洋地域に関連する情報を抽出します。

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

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

アーキテクチャ

Oracle Data Masking and Subsettingアーキテクチャは、2層フレームワークで構成されています。Cloud Control UIは、管理者がすべての管理タスクを処理するためのグラフィカル・ユーザー・インタフェースを提供します。これらのクライアント・コンポーネントは、ローカルにインストールするか、Webブラウザで起動できます。Oracle Enterprise Managerフレームワークは、Oracle Management Serverとデータベース・リポジトリで構成されています。

管理サーバーは、Enterprise Managerフレームワークのコアです。管理ユーザー・アカウントを提供し、ジョブやイベントなどの管理機能を処理し、Enterprise Management AgentとともにCloud Control UIとノード間の情報フローを管理します。Oracle Enterprise Manager Agentは、Oracle Management Serverと通信し、Cloud Control UIや他のクライアント・アプリケーションによって送信されるタスクを実行します。

Enterprise Management Agentは、各監視対象ホストにインストールされ、これらのホストで実行されているすべてのターゲットを監視し、Oracle Management Serverにその情報を伝達し、ホストとそのターゲットを管理および維持する役割を担います。

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

実行方法

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

- インデータベース

- インエクスポート

インデータベース

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

インエクスポート

インエクスポート・モードでは、データベースからデータを抽出するときに、ほぼリアルタイムでデータをマスキングおよびサブセッティングします。マスキングおよびサブセッティングされた抽出データは、データ・ポンプ・エクスポート・ファイルに書き込まれた後、テスト、開発またはQAデータベース内にインポートされます。通常、インエクスポート・モードは、本番データベースに使用されます。

異種

Oracle Data Masking and Subsettingは、IBM DB2、Microsoft SQL ServerおよびSybaseなどの任意のOracle以外のデータベースからのデータのデータ・マスキングもサポートします。

Oracle Data Masking and Subsettingでは、DBリンクおよびゲートウェイを使用して、Oracle以外の本番データベースからデータを読み取り、Oracleベースのステージング環境にデータをコピーし、Oracleステージング環境でマスクを適用した後、Oracle以外のテスト・データベースに書き込みます。

これはデータ・マスキングのためにOracleデータベースで使用されるのと同じマスキング方法を使用しています。

注意:

Oracle Data Masking and Subsettingは、Oracle以外のデータベースの自動データ検出をサポートせず、また、Oracle以外のデータベースに対する参照整合性を実行しません。

方法

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

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

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

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

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

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

図1-2 方法

ワークフロー

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

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

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

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

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

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

2 始める前に

この章は、Oracle Data Masking and Subsettingをインストールして使用する前に、考慮する必要のある前提条件およびその他の重要事項を準備するのに役立ちます。

Oracle Data Masking and Subsettingのアクセス権

前提条件

Oracle Data Masking and Subsettingユーザー・インタフェース・ページを管理および参照するために、Oracle Enterprise Managerのリポジトリに関する次の権限をユーザーに割り当てる必要があります。

- DB_MASK_ADMIN: Oracle Enterprise Managerのデータ・マスキング機能の管理および使用。

- DB_ADM_ADMIN: Oracle Enterprise Managerのアプリケーション・データ・モデルの管理および使用
DB_SUBSET_ADMIN: Oracle Enterprise Managerのデータ・サブセッティング機能の管理および使用

デフォルトでは、Enterprise Manager管理者は、次の主要Oracle Data Management and Subsettingページにアクセスできます。

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

- データ・サブセット定義

- データ・マスキング定義

- データ・マスキングのフォーマット

これは、PUBLICロールに含まれるTDM_ACCESS権限に基づいています。スーパー管理者は、指定した管理者の権限を取り消すことができるため、TDMのページへのアクセスを制限できます。権限がない場合、個々のメニュー項目はCloud Controlコンソールに表示されません。

また、Enterprise Managerには、スーパー管理者および管理者がTDMオブジェクトへのアクセスを認可ユーザーのみに制限できる権限アクセス・モデルが用意されています。このモデルでは、選択したユーザーにオペレータおよびデザイナ権限を付与できます。

オペレータ権限

付与されたこれらのオペレータ権限では、データ・マスキングおよびサブセット化の操作を実行できます。権限は、アプリケーション・データ・モデル(ADM)、データ・サブセット化定義およびデータ・マスキング定義で、TDMプロジェクトに付与できます。オペレータ権限では、これらのオブジェクトを編集および削除できません。

- ADM: オペレータ権限を持つユーザー(スーパー管理者以外)はADMを表示できますが、編集および削除することはできず、プロパティを表示することもできません。これを行うための「編集」アイコン、「削除」アイコン、および「プロパティ」メニューは無効になります。さらに、検証ジョブの作成・ページの同期オプションは無効になります。

- データ・サブセット定義: オペレータ権限を持つユーザー(スーパーDSD管理者以外)は、サブセット定義を表示できますが、編集および削除することはできません。これを行うための「編集」アイコンおよび「削除」アイコンは無効になります。
データ・サブセット定義オペレータ権限を持つユーザーは、データ・サブセット定義の編集および削除以外の操作を実行することができ、次の操作を実行する権限を持ちます。

- データ・サブセット定義を表示します。

- データ・サブセットを作成してファイルをエクスポートします。

- データベースにデータ・サブセットを作成します。

- サブセット・スクリプトを保存します。

- データ・マスキング定義: データ・マスキング定義オペレータ権限を持つユーザーは、データ・マスキング定義の編集および削除以外の操作を実行することができ、次の操作を実行する権限を持ちます。

- データ・マスキング定義を表示します。

- データ・マスキング・スクリプトを生成します。

- データ・マスキング・ジョブをスケジュールします。

- データ・マスキング定義をエクスポートします。

デザイナ権限

デザイナ権限を付与されたユーザーは、TDMオブジェクトを拡張、変更および管理できます。これらのユーザーは、オペレータおよびデザイナ権限を他のユーザーに付与したり取り消すこともできます。デザイナの権限は、TDMオブジェクト上の対応するオペレータ権限を意味します。

- ADM: デザイナ権限を持つユーザーは、削除も含め、ADMでのすべての操作を実行できます。

- データ・サブセット定義: デザイナ権限を持つユーザーは、削除も含め、サブセット定義でのすべての操作を実行できます。

- データ・マスキング定義: デザイナ権限を持つユーザーは、削除も含め、マスキング定義でのすべての操作を実行できます。

Oracle Data Masking and Subsettingオブジェクトに対するアクセス制御

この項では、アプリケーション・データ・モデル、データ・マスキング定義およびデータ・サブセッティング定義に関する権限の付与のための手順を説明します。

- 既存ADMへの権限の割当て

- サブセット定義での権限の付与

記憶域要件

データ・モデル、マスキングおよびサブセッティング定義などのOracle Data Masking and Subsettingオブジェクトが使用する記憶領域はごく少量ですが、一定期間にわたって保存されるデータの量に応じて、Oracle Enterprise Managerのリポジトリ・データベースへの追加の記憶領域の割当てが必要になる場合があります。

この項では、マスキングおよびサブセッティングのための記憶域の推奨事項を詳しく説明します。

- インデータベース・マスキング: ユーザー表領域に3Xの追加領域(Xは、サイズが最大の表)、一時表領域に2Xの追加領域

- インエクスポート・マスキング: ユーザー表領域に2Xの追加領域(Xは、サイズが最大の表)、一時表領域に2Xの追加領域。生成されたエクスポート・ダンプ・ファイルを格納するための十分なディスク領域

- インデータベース・サブセッティング: ユーザー表領域に2Xの追加領域(Xは、サイズが最大の表)、一時表領域に2Xの追加領域

- インエクスポート・サブセッティング: ユーザー表領域にXの追加領域(Xは、サイズが最大の表)。生成されたダンプ・ファイルを格納するための十分な領域

注意:

統合されたマスキングおよびサブセッティングの推奨記憶域要件は、前述のマスキングおよびサブセッティングの記憶域要件の合計です。

セキュリティおよび法規制に対するコンプライアンス

テスト情報をマスキングするとデータが誤って漏れるのを防止できるため、データのマスキングはビジネス・セキュリティの観点から見て賢明な予防策です。多くの場合、データのマスキングは法律上の義務です。Enterprise Manager Data Masking Packを使用すると、組織では法律上の義務を満たし、サーベンス・オクスリー法、カリフォルニア州データベース機密保護違反通知法(CA上院法案1386)、欧州連合データ保護指令のようなグローバルな規制基準に応じることができます。

法的必要条件は国によって異なりますが、個人的な消費者情報の機密性および整合性を保護するためのなんらかの形態の規制が現在ではほとんどの国に存在しています。たとえば、米国の場合、財務プライバシ権法(1978年)により財務レコードに対する第4修正条項の法的保護が策定され、これを必要とする州法は多数あります。同様に、米国における医療保険の相互運用性と説明責任に関する法令(US Health Insurance Portability and Accountability Act: HIPAA)では、個人医療情報の保護が策定されています。

サポートされているデータ型

サポートされているデータ型のリストは、リリースによって異なります。

- Grid Control 10gリリース5(10.2.0.5)、Database 11gリリース2(11.2)、およびCloud Control 12cリリース1(12.1.0.1)およびリリース2(12.1.0.2)

- 数値型
次の数値型では、「配列リスト」、「削除」、「固定数値」、「NULL値」、「後処理関数」、「元のデータの保持」、「ランダム小数」、「ランダム数値」、「シャッフル」、「SQL式」、「置換」、「表の列」、「切捨て」、「暗号化」、「ユーザー定義関数」マスキング・フォーマットを使用できます。

- NUMBER

- FLOAT

- RAW

- BINARY_FLOAT

- BINARY_DOUBLE

- 文字列型
次の文字列型では、「配列リスト」、「削除」、「固定数値」、「固定文字列」、「NULL値」、「後処理関数」、「元のデータの保持」、「ランダム小数」、「ランダム桁数」、「ランダム数値」、「ランダム文字列」、「シャッフル」、「SQL式」、「置換」、「部分文字列」、「表の列」、「切捨て」、「暗号化」、「ユーザー定義関数」マスキング・フォーマットを使用できます。

- CHAR

- NCHAR

- VARCHAR2

- NVARCHAR2

- 日付型
次の日付型では、「配列リスト」、「削除」、「NULL値」、「後処理関数」、「元のデータの保持」、「ランダム日付」、「シャッフル」、「SQL式」、「置換」、「表の列」、「切捨て」、「暗号化」、「ユーザー定義関数」マスキング・フォーマットを使用できます。

- DATE

- TIMESTAMP

- Grid Control 11gリリース1(11.1)およびCloud Control 12cリリース1(12.1.0.1)およびリリース2(12.1.0.2)

- ラージ・オブジェクト(LOB)・データ型
次のデータ型では、「固定数値」、「固定文字列」、「NULL値」、「正規表現」およびSQL式のマスキング・フォーマットを使用できます。

- BLOB

- CLOB

- NCLOB

サポートされないオブジェクト

Oracle Data Masking and Subsettingでは、次をサポートしていません。

- クラスタ化表

- LONG列

- 型がXMLの列; XML型の列

- 仮想列

注意:

LONG列を含む表およびリレーショナル表のマスキングは、サポートされています。

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

セキュア・テスト・データ管理では、Enterprise Managerに、機密データ検出、データ・サブセッティング、データ・マスキングなどの操作を有効にする機能が提供されます。これらの機能により、アプリケーション・データ・モデル(ADM)内に組み込まれた機密データのスキャンおよびタグ付けと、データ関係のモデリングが可能です。テスト・データ管理機能を使用するには、Oracle Data Masking and Subsetting Packライセンスが必要です。

次の図は、アプリケーション・データ・モデルに関連するワークフローを示しています。

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

ADMには、アプリケーションのリスト、表およびデータ・ディクショナリで宣言される表の列、アプリケーションのメタデータからインポートされる表の列またはユーザー指定の表の列の関係が格納されています。ADMは、機密データのタイプとそれに関連付けられた列を保持し、データ・サブセット化やデータ・マスキングなどのテスト・データ操作によって使用され、テスト・データを安全に生成します。ADMの作成は、データ・サブセット化およびデータ・マスキング操作の前提となります。

次の図は、アプリケーション・データ・モデルと他のテスト・データ管理コンポーネント、本番環境およびテスト環境との関係を示しています。

図3-2 テスト・データ管理アーキテクチャ

この章で説明する次のタスクを含むアプリケーション・データ・モデルに関連する複数のタスクを実行できます。

- アプリケーション・データ・モデルの作成

- カスタム機密列タイプの作成と管理

- 既存ADMへのデータベースの関連付け

- ADMの検証または同期

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

- 既存ADMへの権限の割当て

注意:

この章で説明する手順は、Oracle Enterprise Manager Cloud Control 12.1以上のみに適用されます。

関連項目:

- データのサブセット化の詳細は、「データ・サブセット化」を参照してください

- データ・マスキングの詳細は、「機密データのマスキング」を参照してください

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

続行する前に、次の権限があることを確認します。

- ターゲット権限(すべてのターゲットに適用可能):

- 表示可能な任意のターゲットに接続

- 任意の場所でのコマンドの実行

- 任意のターゲットの表示

リソース権限:

- ジョブ・システム

- 名前付き資格証明

- Oracle Data Masking and Subsettingのリソース権限

注意:

Enterprise Manager Cloud ControlユーザーのためのEM_ALL_OPERATOR権限には、前述のすべての権限が含まれています。

- データベース・ユーザーのSELECT_CATALOG_ROLE

- データベース・ユーザーのSelect Any Dictionary権限

注意:

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

すべての必要なパッケージがデプロイされるように、高権限のユーザーを使用して初回のアプリケーション・データ・モデルを作成することをお薦めします。その後、他のすべてのアプリケーション・データ・モデルは、低権限のユーザーを使用して作成できます。

ADMの作成

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

1. 「アプリケーション・データ・モデリング」ページから、テスト環境用のデータベースを作成する方法が記載されたダイアグラムを表示します。

2. 「作成」をクリックします。
一般プロパティ情報を求めるポップアップ・ウィンドウが表示されます。

3. 作成するADMの名前を指定します。

4. 「データベース・ターゲットの選択」アイコンをクリックしてソース・データベースを選択します。
ソース・データベースは、メタデータを抽出するソースです。

5. 「アプリケーション・スイート」の選択:

- 「カスタム・アプリケーション・スイート」を選択した場合:

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

- 「スキーマごとに1つのアプリケーションの作成」が選択されていない場合は、シェルADMが作成されます。後でADMを編集してアプリケーションと表を追加する必要があります。また、メタデータ収集ジョブは、デフォルトを選択した場合のように送信されないことに注意してください。

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

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

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

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

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

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

6. 次を選択します。

- ディクショナリ・ベースの関係の検出: データ・ディクショナリに参照整合性制約(主キーと外部キー)として事前に定義されている、データベース表の列間の関係の候補が検出されます。

- 非ディクショナリ・ベースの関係の検出: 外部キーとなる列の名前と主キーとなる列の名前をそれらのデータ型も含め、一致することによって関係が検出されます。

7. 「続行」をクリックします。
手順5で「カスタム・アプリケーション・スイート」を選択した場合は、「スキーマ」ポップアップが表示されます。「使用可能」リストから、作成されるADMにアプリケーションとして含めるスキーマを選択します。

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

9. 手順6で「非ディクショナリ・ベースの関係の検出」を選択した場合は、+アイコンをクリックし、一致する必要がある主キーと外部キーの列を指定します。

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

11. メタデータ収集ジョブをスケジュールするためのパラメータを指定します。
メタデータ収集ジョブをすぐに実行するか、後で開始するようにスケジュールするかのいずれかを選択できます。

12. メタデータ収集ジョブを送信するには、「発行」をクリックします。
作成したADMがアプリケーション・データ・モデル・ページに表示されます。

13. メタデータ収集処理のステータスおよび詳細を表示するには、「ジョブ詳細を表示」をクリックします。

14. メタデータ収集ジョブのステータスを監視するには、「最新のジョブ・ステータス」表の列を確認します。
メタデータが収集されているとき、アプリケーション・データ・モデルはロックされ、編集できません。ステータスがジョブの完了を示すまで待つ必要があります。

アプリケーションのスキーマと表を表示するためのADMの編集

アプリケーションの表を表示および編集するには:

1. 「アプリケーション・データ・モデリング」ページから、テスト環境用のデータベースを作成する方法が記載されたダイアグラムを表示します。

2. 前に作成したアプリケーション・データ・モデルを選択し、「編集」をクリックします。
「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションが表示されます。
アプリケーションに関連付けられた表を表示するには、展開(>)アイコンをクリックします。

3. アプリケーションを編集するには、アプリケーションを選択し、「アクション」メニューを開いて「アプリケーションの追加」を選択します。
「アプリケーションの追加」ポップアップ・ウィンドウが表示されます。

4. アプリケーションの名前、ニックネーム/短縮名、アプリケーションの説明を指定し、スキーマを検索するために検索アイコンをクリックします。

5. リストからスキーマを選択し、「OK」をクリックします。

6. 「OK」をクリックしてデータ・モデルにアプリケーション表を追加します。
これで、この表は、「アプリケーションと表」ビューに表示されます。

7. 非ディクショナリ・ベースの参照関係を検出するには、「参照関係」タブ、「非ディクショナリ・ベースの関係の検出」の順にクリックします。

アプリケーション・スキーマへの表の追加および削除

アプリケーション・スキーマに表を追加または削除するには:

1. 「アプリケーション・データ・モデリング」ページで、前に作成したアプリケーション・データ・モデルを選択し、「編集」をクリックします。
「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションおよびオブジェクトが表示されます。
アプリケーションの表を表示するには、拡張( > )アイコンをクリックします。

2. 表を追加するには、「アプリケーションの追加」をクリックします。
「アプリケーションの追加」ポップアップ・ウィンドウが表示されます。

3. アプリケーションの名前、ニックネーム/短縮名、アプリケーションの説明を指定し、スキーマを検索するために検索アイコンをクリックします。
「検索および選択」ポップアップに、アプリケーションに割り当てられていない、選択されているスキーマからのすべての表が表示されます。

4. 割り当てられていない表を選択し、「OK」をクリックします。
これで、「アプリケーションの追加」ポップアップに、表名が表示されます。

5. 「表タイプ」を選択したら、「OK」をクリックします。
これで、この表は、「アプリケーションおよびオブジェクト」ビューに表示されます。

6. 表を削除するには、「アプリケーションおよびオブジェクト」ビューから表を選択し、「削除」をクリックします。

参照関係の表示

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

1. 「アプリケーション・データ・モデリング」ページで、作成したモデルを選択し、「編集」をクリックします。
「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションが表示されます。
アプリケーションの表を表示するには、展開(>)アイコンをクリックします。

2. 「参照関係」タブをクリックします。

サポートされる参照関係タイプは次のとおりです。

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

- 非ディクショナリ・ベース
これは、Oracleデータ・ディクショナリに定義された参照関係ではなく、外部キーとなる列の名前と主キーとなる列の名前をそれらのデータ型も含め、一致することによって達成されます。ここにリストされた非ディクショナリ・ベースの参照関係の候補を評価し、その関係が有効であると判断した場合は、関係を選択し、「ADMに追加」をクリックしてアプリケーション・データ・モデルに追加します。

- テンプレートからのインポート
Oracle Fusion ApplicationsやOracle E-Business Suiteなどのエンタープライズ・アプリケーションのベンダーから提供されたアプリケーション・テンプレートがある場合は、ADMホームページの「インポート」アクションを使用して、アプリケーション・ベンダーが提供するテンプレートからADMを作成できます。

- ユーザー定義

3. アプリケーション・ビューを選択して開き、山アイコン(>)を使用して親と依存キーの関係を表示するか、「表示」メニューから「すべてを開く」を選択してすべての関係を表示します。

参照関係の追加と削除

手動により参照関係を追加するには:

1. 「アプリケーション・データ・モデリング」ページで、作成したモデルを選択し、「編集」をクリックします。
「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションおよびオブジェクトが表示されます。
アプリケーションの表およびオブジェクトを表示するには、展開(>)アイコンをクリックします。

2. 「参照関係」タブから、「アクション」メニューを開き、「参照関係の追加」を選択します。
「参照関係の追加」ポップアップ・ウィンドウが表示されます。

3. 必要な親キーおよび依存キー情報を選択します。

4. 「列名」リストで、親キー列に関連付ける依存キー列を選択します。

5. 「OK」をクリックして、参照関係をADMに追加します。
これで、新規依存列が参照関係リストに表示されます。

機密データの検出の実行

機密列を検出するには:

1. 「アプリケーション・データ・モデリング」ページで、作成したモデルを選択し、「編集」をクリックします。
「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションおよびオブジェクトが表示されます。アプリケーションの表を表示するには、展開(>)アイコンをクリックします。

2. 「機密列」タブから、「アクション」メニューを開き、「機密列検出ジョブの作成」を選択します。
「パラメータ」ポップアップが表示されます。

3. アプリケーションおよび機密列タイプを選択します。
選択した機密列タイプは、タイプに一致する列を検索するように各アプリケーションで処理されます。

4. 「続行」をクリックします。
スケジュール・ポップアップ・ウィンドウが表示されます。

5. 必要な情報を指定し、ジョブをスケジュールし、終了したら「発行」をクリックします。
「機密列」サブページが表示されます。

6. 「保存して戻る」をクリックし、「アプリケーション・データ・モデリング」ホームページに戻ります。

機密列タイプの変更

機密列タイプを変更するには:

1. 「アプリケーション・データ・モデリング」ページで、作成したモデルを選択し、「編集」をクリックします。

「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションおよびオブジェクトが表示されます。アプリケーションの表を表示するには、展開(>)アイコンをクリックします。

2. 「機密列」タブをクリックします。
このビューにすでに識別された機密列が表示されます。

3. タイプを変更する機密列を選択します。

4. 「アクション」メニューを開き、「機密列タイプの設定」を選択します。
「機密列タイプの設定」ポップアップ・ウィンドウが表示されます。

5. 新しいタイプを選択して「OK」をクリックします。

検出結果の表示

機密列の検出結果を表示するには:

1. 「アプリケーション・データ・モデリング」ページで、作成したモデルを選択し、「編集」をクリックします。
「アプリケーションおよびオブジェクト」サブページに、メタデータ収集プロセス中に検出されたアプリケーションが表示されます。
アプリケーションの表を表示するには、展開(>)アイコンをクリックします。

2. 「機密列」タブを選択し、「検出結果」をクリックして検出結果を表示します。

検出結果での機密ステータスの設定

検出結果の機密ステータスを設定するには:

1. 「最新のジョブ・ステータス」列にジョブが成功したと表示されたら、ADMを選択して「編集」をクリックします。

2. 「機密列」タブを選択し、「検出」、「結果」の順にクリックし、ジョブの結果を表示します。

3. 任意の列の機密列を設定するには、定義する列の行を選択し、「ステータスの設定」メニューを開き、「機密」または「機密ではありません」を選択します。

4. 「OK」をクリックして保存し、「機密列」タブに戻ります。
これで、前のステップで定義した機密列がリストに表示されます。

5. 「保存して戻る」をクリックし、「アプリケーション・データ・モデリング」ページに戻ります。

機密列の追加と削除

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

1. アプリケーション・データ・モデル・ページからADMを選択し、「編集」をクリックします。

2. 「機密列」タブを選択し、「追加」をクリックします。
「機密列の追加」ポップアップが表示されます。

3. 必要な情報およびオプションの機密列タイプを指定して、「OK」をクリックします。
「機密列」タブの表に機密列が表示されます。

カスタム機密列タイプの作成と管理

正常にADMを作成した後、次のタスクとして、新しい機密列タイプまたは既存のタイプに基づいた機密列タイプを作成します。

機密列タイプを作成するには:

1. 「アプリケーション・データ・モデル」ページの「アクション」メニューから「機密列タイプ」を選択します。
「機密列タイプ」ページが表示されます。

2. 「作成」をクリックします。
「機密列タイプの作成」ポップアップが表示されます。

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

- Or検索タイプは、パターンのいずれかが、候補の機密列と一致することを意味します。

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

これらのパラメータのいずれにも式を指定しない場合、システムはエンティティの検索を行いません。

4. 「OK」をクリックします。
「機密列タイプ」ページの表に機密列が表示されます。

既存のタイプに基づいて機密列タイプを作成するには:

1. 「アプリケーション・データ・モデル」ページの「アクション」メニューから、「機密列タイプ」を選択します。
「機密列タイプ」ページが表示されます。

2. すでに定義済の機密列タイプを選択するか、または製品が提供する即時利用可能なタイプから選択します。

3. 「類似作成」をクリックします。
「機密列タイプの作成」ポップアップが表示されます。

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

5. 「OK」をクリックします。
「機密列タイプ」ページの表に機密列が表示されます。

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

アプリケーション・データ・モデル(ADM)を作成した後、次の手順に従って、ADMに関連付ける追加のデータベースを選択できます。ADMの作成方法の詳細は、「ADMの作成」を参照してください。

データベースをADMに関連付けるには:

1. アプリケーション・データ・モデル・ページからADMを選択し、「アクション」、「関連データベース」の順に選択します。
このダイアログには、このADMに関連付けられたすべてのデータベースおよびデータベースごとの各アプリケーションに割り当てられたスキーマがリストされます。サブセット化の実行時にデータソースを選択する追加のデータベースおよびマスキング中にマスクするデータベースを追加できます。

2. 「追加」をクリックして、ポップアップからデータベースを選択します。
選択したデータベースが「関連データベース」ダイアログの「データベース」セクションに表示されます。

3. スキーマを変更するには、左側の関連データベース、スキーマを変更する右側のアプリケーションの順に選択し、「スキーマの選択」をクリックします。

4. ポップアップのリストから不足しているスキーマを選択して、「選択」をクリックします。

ADMの検証または同期

アプリケーション・データ・モデル(ADM)を作成した後、「ソース・データベースのステータス」列は有効、無効、検証が必要またはアップグレードが必要と示されます。

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

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

- アップグレードが必要ステータス: 12c以前のマスキング定義がインポートされているので、ADMをアップグレードする必要があります。

ソース・データベースを検証するには:

1. 無効ステータスを示す検証するADMを選択します。

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

3. 無効ステータスのソース・データベースを選択して、検証ジョブの作成をクリックします。

4. 検証ジョブの作成ポップアップでジョブ・パラメータを指定して、「発行」をクリックします。

5. ジョブが正常に完了した後、ソース・データベースをクリックして、リストされているオブジェクトの問題を確認します。

6. オブジェクトの問題を解決し、検証ジョブを再実行して、ソース・データベース・ステータスが有効であることを確認します。

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

後で新しいリポジトリにインポートできるADMをエクスポートすることによって、アプリケーション・データ・モデル(ADM)を、異なるリポジトリを使用する他のEnterprise Manager環境で共有できます。

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

- ADMのインポート

- ADMのエクスポート

注意:

ADMのエクスポートおよびインポート操作をリモートで実行またはスクリプト化する場合に、これらの操作を実行するためのEMCLI動詞があります。

ADMのインポート

次の2つのインポートの方法があります。

- デスクトップからのADM XMLファイルのインポート

- ソフトウェア・ライブラリからのADM XMLファイルのインポート

デスクトップからADM XMLファイルをインポートするには、次の手順に従います。

1. 「アプリケーション・データ・モデル」ページで、インポートするADMを選択します。

2. 「アクション」メニューから「インポート」を選択し、次に「デスクトップのファイル」を選択します。

3. 表示されたポップアップで、ADMの名前、ADMに割り当てるソース・データベースおよびADMをインポートするデスクトップの場所を指定します。

4. 「OK」をクリックします。
アプリケーション・データ・モデル・ページにADMが表示されます。

ソフトウェア・ライブラリからADM XMLファイルをインポートするには、次の手順に従います。

1. 「アプリケーション・データ・モデル」ページで、インポートするADMを選択します。

2. 「アクション」メニューから「インポート」を選択し、次に「ソフトウェア・ライブラリのファイル」を選択します。

3. 表示されるソフトウェア・ライブラリからのファイルのエクスポート・ポップアップの、左側で目的のADM XMLファイルを選択し、右側で名前およびADMに割り当てるソース・データベースを指定します。

4. 「インポート」をクリックします。

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

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

ADMのエクスポート

次の3つのインポートの方法があります。

- デスクトップへの選択したADMのエクスポート

- ソフトウェア・ライブラリからのADMのエクスポート

- TSDPカタログへのADMのエクスポート

XMLファイルとしてADMをデスクトップにエクスポートするには、次の手順に従います。

1. アプリケーション・データ・モデル・ページから、エクスポートするADMを選択します。

2. 「アクション」メニューから「エクスポート」を選択し、次に「選択されたアプリケーション・データ・モデル」を選択します。

3. 表示されるファイル・ダウンロード・ポップアップで、「保存」をクリックします。

4. 表示される「別名保存」ポップアップで、ファイルの場所にナビゲートし、「保存」をクリックします。
ADMがXMLファイルに変換され、デスクトップの指定された場所に表示されます。

ソフトウェア・ライブラリからADMをエクスポートするには、次の手順に従います。

1. 「アクション」メニューから「エクスポート」を選択し、次に「ソフトウェア・ライブラリのファイル」を選択します。

2. 「アクション」メニューから「エクスポート」を選択し、次に「ソフトウェア・ライブラリのファイル」を選択します。

3. 表示されるソフトウェア・ライブラリからのファイルのエクスポート・ポップアップで、目的のADMを選択し、「エクスポート」をクリックします。

4. 表示されるファイル・ダウンロード・ポップアップで、「保存」をクリックします。

5. 表示される「別名保存」ポップアップで、ファイルの場所にナビゲートし、「保存」をクリックします。
ADMがXMLファイルに変換され、デスクトップの指定された場所に表示されます。

透過的機密データ保護(TSDP)カタログにADMをエクスポートするには、次の手順に従います。

1. アプリケーション・データ・モデル・ページから、エクスポートするADMを選択します。

2. 「アクション」メニューから「エクスポート」→「TSDPカタログへのエクスポート」を選択します。

3. アプリケーション・データ・モデル・ページに、関連付けられたデータベースのテーブルが表示されます。データベースを選択し、「機密データのエクスポート」ボタンをクリックします。

4. 表示される「機密データのエクスポート」ポップアップで、選択したデータベースの資格証明を指定し、「OK」をクリックします。

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

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

既存ADMへの権限の割当て

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

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

1. 「エンタープライズ」メニューから、「クオリティ管理」、「アプリケーション・データ・モデル」の順に選択します。

2. 権限を付与するADMを選択します。

3. 「アクション」メニューから「権限」を選択し、次のいずれかを選択します。

- オペレータ: 選択したロールまたは管理者にADMのオペレータ権限を付与します(権限受領者は定義を表示およびコピーできますが、編集および削除することはできません)。

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

4. 開いたダイアログで、タイプ(管理者、ロール、あるいはその両方)を選択します。必要に応じて、名前で検索します。選択し、「選択」をクリックします。

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

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

4 データ・マスキング

この章では、Oracleデータ・マスキングを構成するコンポーネントの概念と、マスキング・フォーマットやマスキング定義の作成など、タスク順序を実行する手順について説明します。データ・マスキングでは、機密列が定義されたアプリケーション・データ・モデル(ADM)が作成されていることを前提としています。

この章の手順は、Oracle Enterprise Manager 12.1以上のCloud Controlのみに適用されます。データ・マスキング機能を使用するには、Oracle Data Masking and Subsetting Packライセンスが必要です。

注意:

Database Plug-in 12.1.0.3以上を使用する11.2.0.3データベースでマスキングを実行するには、マスキングを正常に実行するためにデータベース・パッチ#16922826の適用が必要です。エクスポート内マスク機能(ソース・マスキングとも呼ばれる)は、Oracle Database 11.1以上で動作します。

企業は、アプリケーション開発、テストまたはデータ分析のために本番データを非本番環境にコピーする際に、機密情報が漏えいするリスクにさらされます。Oracleデータ・マスキングを使用すると、元の機密データを架空のデータに不可逆的に置き換え、本番データを非本番ユーザーと安全に共有できるようにすることで、このようなリスクを低減できます。Oracleデータ・マスキングはOracle Enterprise Managerからアクセス可能で、エンドツーエンドの安全な自動化により、本番データを元に規制に準拠したテスト・データベースを提供します。

Oracleデータ・マスキングの概要

企業は、アプリケーション開発、テストまたはデータ分析のために本番データを非本番環境にコピーする際に、機密情報が漏えいするリスクにさらされます。Oracleデータ・マスキングを使用すると、元の機密データを架空のデータに不可逆的に置き換え、本番データを非本番ユーザーと安全に共有できるようにすることで、このようなリスクを低減できます。Oracleデータ・マスキングはOracle Enterprise Managerからアクセス可能で、エンドツーエンドの安全な自動化により、本番データを元に規制に準拠したテスト・データベースを提供します。

データ・マスキングの概念

データ・マスキング(データ・スクランブルやデータの匿名化とも呼ばれる)は、本番データベースから非本番テスト・データベースにコピーされる機密情報を、外見は本物であるもののマスキング・ルールに基づいて修正されたデータに置き換えるプロセスのことです。データ・マスキングは、機密データまたは規制対象のデータを非本番ユーザーと共有する必要があるほぼすべての状況において最適です。そのようなユーザーには、アプリケーション開発者などの内部ユーザーや、海外のテスト企業、サプライヤ、カスタマなどの外部のビジネス・パートナなどが含まれます。このような非本番ユーザーは、すべての表のあらゆる列を参照する必要はありませんが、元のデータの一部にはアクセスする必要があります(特に情報が政府の規制によって保護されている場合)。

データ・マスキングを使用すると、組織ではオリジナル・データに類似した特性を持つ、外見は本物で完全に機能するデータを生成し、機密情報のかわりに使用することができます。これと対照的な暗号化や仮想プライベート・データベースの場合は、データが単に隠されるだけであり、適切なアクセス権やキーがあればオリジナル・データを取得できます。データ・マスキングの場合は、元の機密データを取得することも、元の機密データにアクセスすることもできません。

情報コンテンツを不適切な開示から保護すべきデータの例としては、名前、住所、電話番号、クレジット・カードの詳細情報などがあります。本物の本番稼働データベース環境には、貴重な機密データが含まれており、そのような情報へのアクセスは厳重に規制されます。ただし、各本稼働システムには通常、開発用のコピー・データがあり、そのようなテスト環境に対する規制はさほど厳しくありません。これにより、データが不適切に使用されるリスクが非常に高くなります。データ・マスキングでは、データベースの機密レコードを変更し、利用可能ではあるものの機密情報も個人情報も含まれないようなデータにすることができます。マスクされたテスト・データは、アプリケーションの整合性を確保するために、外見はオリジナル・データに類似しています。

データ・マスキング・ユーザーのロール

通常のエンタープライズの場合は、次のタイプのユーザーがデータ・マスキング・プロセスに関与します。

- アプリケーション・データベース管理者またはアプリケーション開発者
このユーザーは、アプリケーションおよびデータベースのオブジェクトに精通しています。このユーザーは、カスタムなデータベース・オブジェクトまたは拡張機能をOracle E-Business Suiteのようなパッケージ・アプリケーションに追加する場合もあります。

- 情報セキュリティ管理者
このユーザーは、情報セキュリティ・ポリシーの定義、セキュリティに関するベスト・プラクティスの施行、および隠蔽および保護の対象とすべきデータの推奨を行います。

Oracleのセキュリティ関連の製品

データ・マスキング以外に、Oracleでは次のセキュリティ製品を提供しています。

- 仮想プライベート・データベースまたはOracle Label Security - ユーザーのアクセス権限に基づいて、行およびデータを隠します。

- 透過的データ暗号化 - ディスクに格納されている情報を暗号化を使用して隠します。暗号化されていない情報は、クライアントに表示されます。

- DBMS_CRYPTO: ユーザー・データを暗号化できるサーバー・パッケージが得られます。

- Database Vault - データに対するアクセス制御を強化できます。

データ・マスキングについてのエージェントの互換性

データ・マスキングは、Oracle Database 9i 以上のリリースをサポートしています。11.1より前のバージョンを保有している場合、次の回避策を実行することで、そのバージョンを使用できます。

次のファイルを置き換えます。

AGENT_HOME/sysman/admin/scripts/db/reorg/reorganize.pl

... 次のファイルと置き換えます。

OMS_HOME/sysman/admin/scripts/db/reorg/reorganize.pl

フォーマット・ライブラリとマスキング定義

データのマスキングを対象として、Data Masking Packでは次の2つの主要な機能を提供しています。

- マスキング・フォーマット・ライブラリ
すぐに利用可能な一連のマスキング・フォーマットが入ったフォーマット・ライブラリです。このライブラリは、マスキングに利用可能な一連のフォーマット・ルーチンから構成されています。マスキング・フォーマットには、ユーザーが作成したものか、Oracle付属のデフォルト・マスキング・フォーマットのリストから取得したものを使用できます。

組織では、一般的に規制の対象になるすべての情報に対してマスキング・フォーマットを作成し、機密データが属するデータベースとは無関係に機密データにフォーマットを適用できるようにすることをお薦めします。そうしておけば、組織全体にわたり、全機密データに対するマスキングを首尾一貫して行うことができます。

- マスキング定義
マスキング定義では、1つのデータベース内の1つまたは複数の表に実装されるデータ・マスキング操作を定義します。マスキング定義では、データのマスキングに使用する表の列とフォーマットを関連付けます。また、データベース内で正式に宣言されない列間の関係も、関連列を使用して維持されます。

マスキング操作には、新しいマスキング定義を作成することもできますし、既存の定義を使用することもできます。マスキング定義を作成するには、データがマスキングの対象となる表の列とマスク・データのフォーマットを指定します。マスク対象の列が一意な主キー制約または外部キー制約に関与している場合は、データ・マスキングにより、それらの制約に違反しないような値が生成されます。マスキングでは、10進演算を使用して文字ごとの一意性が確保されます。たとえば、5文字の文字列では最大で99999個の一意な値のみが生成されます。同様に、1文字の文字列では最大で9個の一意な値のみが生成されます。

通常は、マスキング定義をファイルにエクスポートした後、他のシステムにインポートします。テスト・サイトと本番サイトが、別々のOracle Management Systemにある場合や、まったく別のサイトにある場合には、これが重要です。

関連項目:

オンライン・ヘルプのデータ・マスキングの作成に関する説明および各「データ・マスキング」ページのヘルプを参照してください。

データ・マスキングで推奨されるワークフロー

次の図は、ステージング領域に本番データベースのクローンが作成され、そこでマスキングされることを示しています。マスキングのプロセスでは、ステージング領域およびテスト領域は本番サイトのように厳重に規制されます。

図4-1 データ・マスキングのワークフロー

データ・マスキングは、セキュリティ管理者によって処理され、データベース管理者によって実装される、反復され改良される処理です。データ・マスキングを最初に構成する場合は、テスト・システムでマスキング定義を十分に試してから、マスキング定義に追加する列の数を増やし、マスキング定義が適切に機能し、かつアプリケーションの制約に違反しないことをテストします。この過程において、実データに対するすべての埋込み参照を削除する際に、参照整合性を維持するように注意する必要があります。

データ・マスキングを納得いくまで構成したら、クローニング後に既存の定義を使用して繰り返しマスキングを行うことができます。ただし、新しいスキーマの変更によって新しいデータおよび列のマスキングが必要になったら、マスキング定義を修正する必要があります。

マスキング・プロセスが終わると、データベースは広く利用可能な状態にすることができます。データベースを別のサード・パーティ・サイトに移送する場合は、データ・ポンプ・エクスポート・ユーティリティを使用してリモート・サイトにダンプ・ファイルを移送する必要があります。ただし、マスキングされたデータを社内に保持する場合は、「データ・マスキング・タスクの順序」を参照してください。

サブセット定義の作成時に、インラインでまたはソースで、データ・マスキングを実行できます。詳細は、「データ・セブセット定義の作成」を参照してください。

データ・マスキング・タスクの順序

この項のタスク順序では、データ・マスキングのワークフローを具体的に示すと同時に、一部のタスク順序では追加情報を紹介します。この順序を確認する前に、このプロセスを完了するためのオプションが2つあることに注意してください。

- 別のデータベースへのエクスポートおよびインポート
本番データベースをステージング領域にクローニングしてマスキングし、別のデータベースにエクスポートおよびインポートしてから、社内テスト実行者または外部のカスタマに提供できます。これは最も安全な方法です。

- テスト・リージョンとしてのステージング領域の使用
本番データベースをマスキングされたステージング領域にクローニングし、そのステージング領域を新しいテスト・リージョンにします。この場合は、SYSDBAアクセスや、データベース・ファイルへのアクセス権をテスト実行者に付与しないでください。付与するとセキュリティが低下します。マスキングされたデータベースでは、未使用ブロックと空きリストに元のデータが含まれます。この情報は、データを別のデータベースにエクスポート/インポートすることでのみパージできます。

次の基本的な手順は、データ・マスキング・プロセスを、追加情報が記載されている他のセクションの参照箇所とともに示します。

1. アプリケーション・データベースを見直し、機密情報のソースを特定します。

2. 機密データのマスキング・フォーマットを定義します。マスキング・フォーマットがシンプルであるか複雑であるかは、組織の情報セキュリティに対するニーズによって異なります。

詳細は、「新規マスキング・フォーマットの作成」および「Oracle付属の事前定義済のマスキング・フォーマットの使用」を参照してください。

3. これらのマスク・フォーマットに表の列とエディション・ビュー・オブジェクトを関連付けるために、マスキング定義を作成します。データ・マスキングにより、データベースの外部キー関係が決定され、外部キー列がマスクに追加されます。

詳細は、「アプリケーション・データ・モデルおよびワークロードによるマスキング」を参照してください。

4. マスキング定義を保存してマスキング・スクリプトを生成します。

5. マスキングされたデータが情報セキュリティ要件を満たしているかどうかを確認します。満たしていない場合は、マスキング定義を調整し、変更した表をリストアした後、マスキング定義の最適なセットが得られるまでマスキング定義の適用を繰り返します。

6. 本番データベースをステージング領域にクローニングし、クローニング後に使用するマスキング定義を選択します。Oracle Enterprise Managerを使用してクローンを作成し、Oracle Enterprise Managerのクローン・ワークフローにマスキングを追加できます。ただし、Oracle Enterprise Manager外でクローンを作成した場合は、クローンの作成が完了した後にOracle Enterprise Managerからマスキングを開始する必要があります。クローニングされたデータベースは、本番環境用の機密データがまだ含まれているので、本稼働システムと同じ権限で制御する必要があります。

クローニングの後、パスワードを変更し、外部データ・ソースへのデータベース・リンク、ストリームまたは参照を更新するか無効にしてください。クローニングされたデータベース、または少なくともマスキングされたデータが含まれる表をバックアップします。そうしておけば、マスキング定義をさらに調整する必要がある場合に、オリジナル・データをリストアできます。

詳細は、「本番データベースのクローニング」を参照してください。

7. マスキングが終わったら、アプリケーション、レポートおよびビジネス・プロセスをすべてテストし、それらが機能していることを確認します。すべて正常に機能している場合は、マスキング定義をエクスポートし、バックアップとして保存することができます。

8. ステージング・サイトのマスキング後、テスト・リージョンにクローニングする前に、MGMT_DM_TTという表をすべて削除します。これらの一時表は、元の機密列値とマスク値間のマッピングを含んでいるため、機密データとして扱う必要があります。

これらの一時表は、デフォルトの「マスキング中に作成した一時表の削除」オプションにより、Oracle Enterprise Managerでマスキング中に自動的に削除されます。ただし、このオプションの選択を解除することで、これらの一時表を維持できます。この場合、テスト・リージョンにクローニングする前にユーザーの責任で一時表を削除します。

9. マスキングが完了したら、置換列フォーマットまたは表の列フォーマットによって使用するためにロードされたすべての表が削除されることを確認します。これらの表には、表の列フォーマットまたは置換フォーマットによって使用されるマスク値が含まれています。セキュリティ上の理由から、この情報をパージすることをお薦めします。

詳細は、「置換フォーマットを使用した決定論的マスキング」を参照してください。

10. データベースをテスト・リージョンにクローニングするか、データベースを新しいテスト・リージョンとして使用します。データベースを外部サイトまたは安全でないサイトにクローニングする場合、エクスポートまたはインポートを使用することをお薦めします。データベース・ファイル自体ではなく、データベースのみにデータを指定します。

11. テスト用のクローニングされた本番環境の一部として、マスキング定義をアプリケーション・データベース管理者に提供し、データベースをマスキングできるようにします。

マスキング・フォーマットの定義

マスキング定義では、そのマスキング定義に含まれる列に対する1つ以上のマスキング・フォーマットが必要です。マスキング定義に列を追加する場合、マスキング・フォーマットを手動で作成するか、フォーマット・ライブラリからインポートすることができます。多くの場合、フォーマット・ライブラリのマスキング・フォーマットを使用して作業する方が効率的です。

新規マスキング・フォーマットの作成

この項では、Enterprise Managerを使用して新規マスキング・フォーマットを作成する方法について説明します。

フォーマット・ライブラリにマスキング・フォーマットを作成するには、次の手順を実行します。

1. 「エンタープライズ」メニューから「クオリティ管理」を選択し、次に「データ・マスキングのフォーマット」を選択します。あるいは、「データベース」ホーム・ページにいる場合は、「スキーマ」メニューから「データ・マスキングのフォーマット・ライブラリ」を選択します。
Oracle Enterprise Managerに付属する事前定義済のフォーマットが含まれたフォーマット・ライブラリが表示されます。

2. 「作成」をクリックします。
マスキング・フォーマットを定義できる「フォーマットの作成」ページが表示されます。

関連項目:

オンライン・ヘルプのページ・ユーザー・コントロールに関する説明を参照してください。

3. 新規フォーマットに必要な名前を指定し、「追加」リストからフォーマット・エントリ・タイプを選択して、「実行」をクリックします。
選択したフォーマット・エントリにデータを入力できるページが表示されます。たとえば、「配列リスト」を選択した場合、後続のページでは、New York、New Jersey、New Hampshireなどの値のリストを入力できます。

4. 必要に応じて続けて別のフォーマット・エントリを追加します。

5. 終了したら、オプションでユーザー定義関数または後処理関数を指定し(「ユーザー定義関数および後処理関数の指定」を参照)、「OK」をクリックしてマスキング・フォーマットを保存します。
「フォーマット・ライブラリ」ページが再表示され、新しく作成したフォーマットが「フォーマット・ライブラリ」表に表示されます。後でこのフォーマットを使用して、同じ機密タイプの列をマスキングできます。

関連項目:

オンライン・ヘルプの「フォーマット・ライブラリ」および「フォーマットの作成」ページに関する説明を参照してください。

ユーザー定義関数および後処理関数の指定

必要に応じて、「フォーマットの作成」ページでユーザー定義関数および後処理関数を指定できます。ユーザー定義の選択肢は「追加」リスト内、後処理関数フィールドはページ下部にあります。

- ユーザー定義関数
ユーザー定義関数を指定するには、「追加」リストから「ユーザー定義関数」を選択し、「実行」をクリックして、入力フィールドにアクセスします。

ユーザー定義関数は、元の値を入力として受け取り、マスク値を戻します。出力値のデータ型と一意性は、元の出力値と互換性がある必要があります。それ以外の場合、ジョブの実行に失敗します。また、ユーザー定義関数は、SELECT文で起動できるPL/SQLファンクションです。シグネチャは、次のように戻されます。

Function udf_func (rowid varchar2, column_name varchar2, original_value varchar2) returns varchar2;

- rowidは、第3引数のoriginal_valueの値を含む行の最小値(rowid)になります。

- column_nameはマスキングされる列の名前です。

- original_valueはマスキングされる値です。

つまり、それは、元の値を入力文字列として受け取り、マスク値を戻します。

入力値と出力値は、両方ともVARCHAR2です。たとえば、数値をマスキングするユーザー定義関数は、入力として100を受け取り(数値100の文字列表現)、99を戻します(数値99の文字列表現)。値は、表への挿入時に適切にキャストされます。値をキャストできない場合、マスキングは失敗します。

- 後処理関数
後処理関数を指定するには、「後処理関数」フィールドに関数を入力します。

後処理関数は、ユーザー定義関数と同じシグネチャを持ちますが、マスキング・エンジンが生成したマスク値を受け取り、マスキングに使用できるマスク値を戻します。次の例を参照してください。

Function post_proc_udf_func (rowid varchar2, column_name varchar2, mask_value varchar2) returns varchar2;

- rowidは、mask_valueの値を含む行の最小値(ROWID)です。

- column_nameはマスキングされる列の名前です。

- mask_valueはマスキングされる値です。

マスキング・フォーマット・テンプレートの使用

1つ以上のフォーマットを作成したら、「フォーマットの作成」ページでテンプレートとしてフォーマット定義を使用し、新規フォーマットを最初から作成することなく、フォーマットの大部分を異なる名前で実装し、必要に応じてそのエントリを変更できます。

既存のフォーマットに似た新規フォーマットを作成するには、「フォーマット・ライブラリ」ページでフォーマットを選択し、「類似作成」をクリックします。マスキング・フォーマットには、以前に自分で定義したフォーマットか、即時利用可能なマスキング・フォーマットのリストから取得したフォーマットを選択できます。これらの汎用マスキング・フォーマット定義は、様々なアプリケーションに使用できます。

様々なOracle付属の事前定義済のマスキング・フォーマット定義と、要件に合せてそれらを変更する方法の詳細は、「Oracle付属の事前定義済のマスキング・フォーマットの使用」を参照してください。

Oracle付属の事前定義済のマスキング・フォーマットの使用

Enterprise Managerには、即時利用可能ないくつかの事前定義済フォーマットが用意されています。.様々な事前定義済フォーマットと組込みフォーマットが用意されています。次の項では、様々なOracle付属のフォーマット定義と、要件に合せてそれらを変更する方法について説明します。

- フォーマット定義のパターン

- カテゴリ定義

関連項目:

事前定義済のマスキング・フォーマットを使用できるようにDM_FMTLIBパッケージをインストールする方法の詳細は、「DM_FMTLIBパッケージのインストール」を参照してください

フォーマット定義のパターン

すべてのフォーマット定義は、次の一般的なパターンに準拠します。

- ランダム数値またはランダム桁数を生成します。

- 生成された値に後処理が実行され、有効で現実的な値が最終的に生成されます。

たとえば、クレジット・カード番号が有効であるためには、Luhnチェックに合格する必要があります。つまり、クレジット・カード番号の最後の桁はチェックサム桁であり、この桁は常に計算されます。また、最初の数桁は、カード・タイプを示します(MasterCard、Amex、Visaなど)。したがって、クレジット・カードのフォーマット定義は、次のようになります。

- ランダムで一意な10桁の数値を生成します。

- 後処理関数の使用により、既知のカード・タイプ接頭辞を追加して最後の桁を計算することで、前述の値を適切なクレジット・カード番号に変換します。

このフォーマットにより、100億個の異なるクレジット・カード番号を生成できます。

カテゴリ定義

次の項では、これらの定義の異なるカテゴリについて説明します。

- クレジット・カード番号

- 米国社会保障番号

- ISBN番号

- UPC番号

- カナダの社会保険番号

- 北米電話番号

- イギリスの国民保険番号

- 自動マスク

デフォルトでは、これらのマスキング・フォーマットは、ハイフン(-)形式などの異なるフォーマット・スタイルでも使用できます。フォーマット・スタイルは、必要に応じて変更できます。

クレジット・カード番号

デフォルトで、フォーマット・ライブラリには、クレジット・カード用の異なるフォーマットが多数用意されています。これらのフォーマットにより生成されたクレジット・カード番号は、アプリケーションによる標準的なクレジット・カード検証テストに合格するため、有効なクレジット・カード番号を装うことができます。

次のようなクレジット・カード・フォーマットを使用できます。

- MasterCard番号

- Visaカード番号

- American Expressカード番号

- Discover Card番号

- 任意のクレジット・カード番号(すべてのタイプのカードに属するクレジット・カード番号)

クレジット・カード番号を格納するために、次のような異なるスタイルを使用できます。

- 番号のみ

- 4桁ごとに空白を挿入

- 4桁ごとにハイフン(-)を挿入、など

マスキングされた値に特定のフォーマット・スタイルを適用するには、DM_FMTLIBパッケージのDM_CC_FORMAT変数を設定します。パッケージをインストールするには、「DM_FMTLIBパッケージのインストール」を参照してください。

米国社会保障番号

デフォルトで、有効な米国社会保障番号(SSN)を生成できます。これらのSSNは、有効なSSNを検証する通常のアプリケーション・テストに合格します。

DM_FMTLIBパッケージのDM_SSN_FORMAT変数を設定すると、フォーマット・スタイルを変更できます。たとえば、この変数を「-」に設定すると、一般的な社会保障番号は「123-45-6789」のように示されます。

ISBN番号

フォーマット・ライブラリを使用して、10桁または13桁のISBN番号を生成できます。これらの番号は、標準的なISBN番号検証テストに合格します。これらのISBN番号は、事実上すべてランダムです。他のフォーマット定義と同様に、DM_ISBN_FORMATに値を設定することでISBNフォーマットのスタイルを調整できます。

UPC番号

フォーマット・ライブラリを使用して、有効なUPC番号を生成できます。これらの番号は、有効なUPC番号を検証する標準的なテストに合格します。DM_FMTLIBパッケージのDM_UPC_FORMAT値を設定すると、フォーマット・スタイルを変更できます。

カナダの社会保険番号

フォーマット・ライブラリを使用して、有効なカナダ社会保険番号(SIN)を生成できます。これらの番号は、カナダSIN番号を検証する標準的なテストに合格します。フォーマット・スタイルを調整するには、DM_FMTLIBパッケージのDM_CN_SIN_FORMAT値を設定します。

北米電話番号

デフォルトで、フォーマット・ライブラリには、米国およびカナダの様々な電話番号が用意されています。これらは、見かけ上有効で現実的な番号であり、アプリケーションで採用されている標準的な電話番号検証テストに合格します。次のタイプの番号を生成できます。

- 任意の北米電話番号

- 任意のカナダ電話番号

- 任意の米国電話番号

イギリスの国民保険番号

フォーマット・ライブラリを使用すると、有効な一意のイギリスの国民保険番号(NIN)をランダムに生成できます。これらの番号は、イギリスのNIN番号を検証する標準的なテストに合格します。一般的な保障番号は、GR 12 56 34 RSなどのように表示されます。

自動マスク

このフォーマットでは、データのフォーマットおよび長さを維持しながら、特殊文字を含む文字および数字をABCD_343-ddgからFHDT_657-tteへなど、マスキングされた文字および数字にスクランブルします。

DM_FMTLIBパッケージのインストール

事前定義済のマスキング・フォーマットは、DM_FMTLIBパッケージに定義されたファンクションを使用します。このパッケージは、Enterprise Managerリポジトリ・データベースのDBSNMPスキーマに自動的にインストールされます。(リポジトリ・データベースではなく)ターゲット・データベースで事前定義済のマスキング・フォーマットを使用するには、手動でそのデータベースにDM_FMTLIBパッケージをインストールする必要があります。

DM_FMTLIBパッケージをインストールするには、次の手順を実行します。

1. Enterprise Managerのインストール環境で次のスクリプトを検索します。

$PLUGIN_HOME/sql/db/latest/masking/dm_fmtlib_pkgdef.sql
$PLUGIN_HOME/sql/db/latest/masking/dm_fmtlib_pkgbody.sql

PLUGIN_HOMEは、SYSMANとして実行される次のSQL SELECT文によって返される場所のいずれかです。

select PLUGIN_HOME from gc_current_deployed_plugin where plugin_id='oracle.sysman.db' and destination_type='OMS';

2. これらのスクリプトをターゲット・データベースのインストール環境にあるディレクトリにコピーし、DBSNMPスキーマにパッケージを作成できるユーザーとしてSQL*Plusに接続してから、これらのスクリプトを実行します。
これで、マスキング定義で事前定義済のマスキング・フォーマットを使用できます。

3. 列マスクの定義ページの「フォーマットのインポート」ボタンをクリックし、事前定義済のマスキング・フォーマットを選択してマスキング定義にインポートします。

マスキング・フォーマットの指定による列の定義

マスキング定義を作成する場合(「アプリケーション・データ・モデルおよびワークロードによるマスキング」)、フォーマットをインポートするか、「列マスクの定義」ページで使用できるいずれかの種類を選択します。フォーマット・エントリ・オプションは次のとおりです。

- 配列リスト
リストの各値のデータ型が、マスクされた列のデータ型と互換性を持つ必要があります。必要に応じて一意性が保証されることが必要です。たとえば、一意キー列にすでに10の固有値がある場合、配列リストにも少なくとも10の固有値が必要です。

- 削除
指定された行を条件句に従って削除します。条件の削除フォーマットが列に含まれていると、外部キー制約または依存列は表を参照できなくなります。

- 暗号化
正規表現を使用して列データを暗号化します。すべての行の列値が正規表現に一致する必要があります。このフォーマットは、データベース全体でデータを一貫してマスクするために使用されます。つまり、特定の値に対して、マスクされた同じ値が常に生成されます。

たとえば、正規表現[(][1-9][0-9]{2}[)][_][0-9]{3}[-][0-9]{4}によって、米国の電話番号((123)_456-7890など)が生成されます。

このフォーマットでは、正規表現言語のサブセットがサポートされます。固定幅の文字列の暗号化がサポートされます。ただし、*や+といった正規表現の構文はサポートされません。

指定されたフォーマットに値が一致しない場合、暗号化された値で1対1のマッピングが生成されない場合があります。すべての非確認の値が1つの暗号化された値にマップされるため、多対1マッピングが生成されます。

- 固定数値
このエントリに適用可能な列のタイプはNUMBER列またはSTRING列です。たとえば、社会保障番号を持つ列をマスクした場合、エントリの1つが固定数値900になる可能性があります。このフォーマットは結合できます。

- 固定文字列
このエントリに適用可能な列のタイプはSTRING列です。たとえば、ライセンス・プレート番号を持つ列をマスクした場合、エントリの1つが固定文字列CAになる可能性があります。このフォーマットは結合できます。

- NULL値
NULL値を使用して列をマスキングします。列にはNULL値が設定可能でなければなりません。

- 後処理関数
これは、マスキング・エンジンが生成するマスク値に適用可能な特殊関数です。入力としてマスク値を使用し、マスキングに使用する実際のマスク値を返します。

後処理関数は、マスク値の生成後に呼び出されます。これにより、カンマやドル記号を値に追加できます。たとえば、マスク値が12000のような数値の場合、後処理関数を使用すると、この値を$12,000に変更できます。また、生成されたマスク値にチェックサムや特殊なエンコーディングを追加できます。

文の例:

Function post_proc_udf_func (rowid varchar2, column_name varchar2, mask_value varchar2) returns varchar2;

- rowidは、第3引数のmask_valueの値を含む行の最小値(rowid)です。

- column_nameはマスキングされる列の名前です。

- mask_valueはマスキングされる値です。

- 元のデータの保持
指定された条件句に一致する行の元の値を保持します。これは、条件を満たす行の中に、マスキングの必要がない行が含まれている場合に使用します。

- ランダム日付
DATE列の一意性は、マスキング後は維持されません。このフォーマットは結合できます。

- ランダム小数
混合ランダム文字列の一部として使用される場合、一意の値の生成に対する使用は制限されます。このマスキング・フォーマットは、指定された範囲内で一意の値を生成します。たとえば、開始値が5.5で終了値が9.99の場合、5.5以上9.99以下の範囲の小数が生成されます。このマスキング・フォーマットは結合できます。

- ランダム桁数
このフォーマットは、指定範囲内で一意の値を生成します。たとえば、長さが[5,5]で、[0, 99999]間の整数のランダム桁数は、長さおよび一意性の要件を満たすよう左側が0で埋められてランダムに生成されます。これは、0で埋められることがないランダム数値の補完型です。ランダム桁数を使用する場合、文字列内で適切な長さになるように0が埋められます。番号の列に使用する場合、0は埋められません。このフォーマットは結合できます。

データのマスキングにより生成された値は一意です。ただし、十分な桁数を指定していない場合、指定した範囲内で一意の値がなくなる場合があります。

- ランダム数値
混合ランダム文字列の一部として使用される場合、一意の値の生成に対する使用は制限されます。このフォーマットは、指定範囲内で一意の値を生成します。たとえば、開始値が100で終了値が200の場合、100以上200以下の範囲の整数が生成されます。Oracle Enterprise Managerリリース10.2.0.4.0はFLOAT数値をサポートしません。このフォーマットは結合できます。

- ランダム文字列
このフォーマットは、指定範囲内で一意の値を生成します。たとえば、開始の長さが2で終了の長さが6の場合、2文字から6文字の長さのランダム文字列が生成されます。このフォーマットは結合できます。

- 正規表現
このフォーマットでは、正規表現を使用して、LOB (BLOB、CLOB、NCLOB)の機密データを検索し、データを固定文字列、固定数値、nullまたはSQL式でデータを置換します。LOB内の複数の文字列を検索するルールを使用します。

例:

- 正規表現[0-9]{3}[.][0-9]{3}[.][0-9]{4}を使用して、書式nnn.nnn.nnnnの文字列を照合し、***.***.****などのマスクされた値で置換します。

- 正規表現<SALARY>[0-9]{2,6}</SALARY>を使用し、<SALARY>0</SALARY>で置換して給与情報を消去します。

- 正規表現[A-Z]+@[A-Z]+\.[A-Z]{2,4}を使用し、john.doe@acme.comで置換して電子メール・アドレスをマスクします。

データ型VARCHAR2のこのフォーマットを使用して、文字列の一部をマスクすることもできます。

- シャッフル
このフォーマットでは、元の列データがランダムにシャッフルされます。列が条件付きでマスキングされており、その値が一意でない場合を除いて、データ配分は維持されます。

詳細は、「シャッフル・フォーマットの使用」を参照してください。

- 置換
このフォーマットは、元の値に対してハッシュ・ベースの置換を行い、任意の入力値に対して常に同じマスク値を生成します。置換マスキング表および列を指定します。このフォーマットには次のプロパティがあります。

- マスキングされたデータは元に戻せません。つまり、このフォーマットでは、元の値は置換され、マスク値から元の値を取り出すことはできないため、外部のセキュリティ違反に対して脆弱ではありません。

- 別々のデータベースにおいて1つのハッシュ置換を使用して複数回マスキングを行うことで、同じマスク値を生成します。この特性は、複数のデータベース、または2回の実行で同じ置換値が使用されていれば複数回の実行にまたがって有効です。つまり、置換表の実際の行と値は変化しません。たとえば、2つの値JoeとTomがHenryとPeterにマスキングされたと想定します。同じ置換表を使用して、別のデータベースで同じマスキングを繰り返したとき、BobとTomが存在する場合に、LouiseとPeterに置換されるというような状況が起こります。2回の実行では異なるデータが使用されていますが、Tomは常にPeterに置換されていることに注意してください。

- このフォーマットでは、一意性は得られません。

- SQL式
このマスキング・フォーマットでは、SQL式を入力して列をマスキングすることができます。データ・マスキングはこの式を使用して、マスキングされた値を生成し、元のデータを置き換えます。「ランダム数値」と「ランダム文字列」のように、このマスキング・フォーマットと他のマスキング・フォーマットを使用して列を組み合せることはできません。

SQL式は1つ以上の値、演算子、および値に評価されるSQL関数で構成できます。置換列(マスキングされる列と同じ表の列)を含めることもできます。置換列は、パーセント記号(%)で囲んで指定してください。dbms_lobを含むSQL式および他のユーザー定義関数をLOB (BLOB、CLOB、NCLOB)マスキングに使用します。

例:

- dbms_random.string('u', 8) || '@company.com'
ランダムな電子メール・アドレスを生成します。

- %first_name% || '.' || %last_name% || '@company.com'
first_nameおよびlast_name列の値を使用して電子メール・アドレスを生成します。この例では、first_nameとlast_nameが置換列です。

- CLOBのマスキング
dbms_lob.empty_clob()

CLOBを空にします。

custom_mask_clob(%CLOB_COL%)

CLOB列CLOB_COLに、カスタム・マスク関数を適用します。

- 条件付マスク
(case when %PARTY_TYPE%='PERSON' then %PERSON_FIRST_NAME%|| ' ' ||%PERSON_LAST_NAME% else (select dbms_random.string('U', 10) from dual) end)

%%内の列は、同じ表に存在します。式はPERSON_FULL_NAMEを氏名でマスクし、それ以外の場合、マスクはランダム文字列になります。

- 置換マスク
select MASK_ZIPCODE from data_mask.DATA_MASK_ADDR where ADDR_SEQ = ora_hash( %ZIPCODE% , 1000, 1234)

置換表data_mask.DATA_MASK_ADDRで1000行を選択します。%ZIPCODE%を置換表のMASK_ZIPCODE列でマスクします。選択した行はora_hashに依存し、この場合は確定的です。dbms_random プロシージャを使用する場合、選択はランダムです。

- 部分文字列
部分文字列はデータベースのsubstr関数と同様の動作をします。開始位置には正の整数または負の整数を設定できます。たとえば元の文字列がabcdの場合、開始位置が2で長さが3の部分文字列は、マスクされた文字列bcdを生成します。開始位置が-2で長さが3の部分文字列は、マスクされた文字列cdを生成します。このフォーマットは結合できます。

- 表の列
表の列により、置換値またはその一部として選択された列から値を選択できます。データ・タイプおよび一意性には互換性がある必要があります。それ以外の場合、ジョブの実行に失敗します。このフォーマットは結合できます。

- 切捨て
表のすべての行で切捨てが実行されます。列の1つが切捨てとマークされていると、表全体で切捨てが実行されるため、他の列にマスキング・フォーマットは指定できません。表で切捨てが実行されると、外部キー制約または依存列による参照ができなくなります。

- ユーザー定義関数
出力値のデータ型と一意性は、元の出力値と互換性がある必要があります。それ以外の場合、ジョブの実行に失敗します。

文の例:

Function udf_func (rowid varchar2, column_name varchar2, original_value varchar2) returns varchar2;

- rowidは、第3引数のoriginal_valueの値を含む行の最小値(rowid)になります。

- column_nameはマスキングされる列の名前です。

- original_valueはマスキングされる値です。

注意:

数値、日付およびLOB列は、複数のフォーマットをサポートしません。

置換フォーマットを使用した決定論的マスキング

状況によっては、複数の異なるデータベースを一貫してマスキングする必要があります。たとえば、3つの異なるデータベースで従業員IDの概念を持つHR、給与および手当てを管理する場合、従業員のIDを選択することで従業員のHR、給与または手当ての情報を取得できるという意味において、この概念はすべてのデータベースで一貫性を保持する可能性があります。この前提に基づくと、実際に社会保障番号を含むために従業員のIDをマスキングする必要がある場合、これら3つのデータベースすべてで一貫してマスキングを行う必要があります。

決定論的マスキングにより、この問題を解決できます。置換フォーマットを使用して、3つのデータベースすべての従業員ID列をマスキングできます。置換フォーマットでは、値の表を使用して元の値をマスク値と置換します。この値の表が変更されないかぎり、3つのデータベース全体で決定論的なマスクまたは一貫したマスクを使用できます。

関連項目:

置換フォーマットの詳細は、オンライン・ヘルプの「列マスクの定義」ページに関する説明を参照してください。

アプリケーション・データ・モデルおよびワークロードによるマスキング

マスキング定義を作成する前に、次の前提条件およびアドバイス情報を確認してください。

- データ・マスキングの最小限の権限を持っていることを確認します。

- ターゲット権限(すべてのターゲットに適用可能):

- 表示可能な任意のターゲットに接続

- 任意の場所でのコマンドの実行

- 任意のターゲットの表示

リソース権限:

- ジョブ・システム

- 名前付き資格証明

- Oracle Data Masking and Subsettingのリソース権限

注意:

Enterprise Manager Cloud ControlユーザーのためのEM_ALL_OPERATOR権限には、前述のすべての権限が含まれています。

- データベース・ユーザーのSELECT_CATALOG_ROLE

- データベース・ユーザーのSELECT ANY DICTIONARY権限

- DBMS_CRYPTOパッケージのEXECUTE権限

- 選択したフォーマットが、チェック制約に違反していないことと、そのデータを使用するアプリケーションを中断させないことを確認してください。

- トリガーおよびPL/SQLパッケージでは、データ・マスキングによりオブジェクトが再コンパイルされます。

- パーティション表(特にパーティション・キー)をマスキングする場合、注意が必要です。この場合、行が別のパーティションに移動する可能性があります。

- データ・マスキングでは、クラスタ表、オブジェクト表のマスキング情報、XML表および仮想列はサポートされません。リレーショナル表はマスキングでサポートされます。

- オブジェクトが表の上層に位置する場合(ビュー、マテリアライズド・ビュー、PL/SQLパッケージなど)、それらのオブジェクトは有効になるように再コンパイルされます。

パフォーマンス評価の目的でテスト・システムをマスキングする場合、次を実行することをお薦めします。

- マスキング前スクリプトを追加して一時表にSQLプロファイルおよび統計をエクスポートしてから、マスキングの完了後にリストアすることで、マスキング後に、本番統計およびSQLプロファイルの保持を試行します。

- 「SQLパフォーマンス・アナライザ」評価を実行し、パフォーマンスに対するマスキングの影響を理解します。評価レポートに示されたもの以外のパフォーマンスの変更は通常、マスキングされたデータベースのアプリケーション固有の変更に関連しています。

マスキング定義を作成する手順:

1. 「エンタープライズ」メニューから「クオリティ管理」を選択し、次に「データ・マスキング定義」を選択します。
「データ・マスキング定義」ページが開き、このページで新規のマスキング定義を作成し、スケジューリングしたり、既存のマスキング定義を管理できます。

2. 「作成」をクリックして「マスキング定義の作成」ページに移動します。
マスキング定義には、表の列と各列のフォーマットに関する情報が含まれます。マスキングする列とそのまま残す列を選択できます。

3. 必須の「名前」、「アプリケーション・データ・モデル」および「参照データベース」を入力します。
「検索」アイコンをクリックし、リストから「アプリケーション・データ・モデル」(ADM)の名前を選択すると、自動的に値が「参照データベース」フィールドに移入されます。

- オプション: 「取得ファイル」と「SQLチューニング・セット」をマスキングする場合は、「ワークロード・マスキングの互換性を確認」を選択します。
このチェック・ボックスを有効にすると、マスキング定義が評価され、SQL式のフォーマットまたは条件付きマスキングが使用されているかどうかが判断されます。「OK」をクリックする際にいずれかが使用されている場合は、オプションのチェックが解除され、このオプションを選択する前にこれらのアイテムの削除を求めるエラー・メッセージが表示されます。

注意:

次の手順に進む前に、アプリケーション・データ・モデルで1つ以上の機密列がすでに定義済である必要があります。詳細は、「カスタム機密列タイプの作成と管理」を参照してください。

4. 「追加」をクリックして、マスクするADMの機密列を選択できる「列の追加」ページへ移動します。列の追加の詳細は、「マスキングする列の追加」を参照してください。
結果は「列」表に表示されます。主キー列および外部キー列は、機密列の下に表示されます。

5. フィルタ基準を使用して、機密列の結果を絞り込みます。たとえば、名前で順序が設定されているすべての列を分離するとします(列名=order%)。まず、フィルタ・セクションを公開する必要があります(「フィルタの表示」)。

6. 無効化機能を使用して、特定の列をマスキングの考慮から除外します。デフォルトで、すべての列が有効になっています。選択した列またはすべての列を無効にできます。無効にする列(列名=order%)のサブセットを検索することもできます。右側の「ステータス」列は、列の無効の状態を反映するよう変更されます。列の無効の状態は、データ・マスキング定義のエクスポートの際も続きます。

7. オプションです。「フォーマット」列の「編集」アイコンをクリックして、マスキング・フォーマットを確認および編集します。

8. 「拡張オプションの表示」を展開し、選択したデフォルト・データ・マスキングのオプションが十分であるかどうかを判断します。
詳細は、「データ・マスキング拡張オプションの選択」を参照してください。

9. 「OK」をクリックして定義を保存し、「データ・マスキング定義」ページに戻ります。
この時点で、スーパー管理者は互いのマスキング定義を確認できます。

10. 定義を選択し、「スクリプトの生成」をクリックします。「ジョブのスケジュール」ダイアログが開きます。まず、データベースにログインしている必要があります。スクリプト生成の詳細は、「スクリプト生成ジョブのスケジューリング」を参照してください。
「ジョブのスケジュール」ダイアログに必要な情報を指定し、「発行」をクリックします。

11. ジョブが正常に発行されたというメッセージが表示され、「データ・マスキング定義」ページに戻り、ステータスには「スクリプトの生成中」と表示されます。「ジョブ詳細を表示」をクリックし、「ジョブ・サマリー」ページを開きます。
ジョブが完了したら、「ログ・レポート」をクリックし、操作に十分なディスク領域があるかどうかを確認し、マスキング後に他の宛先オブジェクト(ユーザーなど)に影響があるかどうか判断します。マスキング定義に含まれている表に、データ型LONGの列がある場合、警告メッセージが表示される場合があります。詳細は、「LONG列を含むデータ・マスキングの使用」を参照してください。

12. 「データ・マスキング定義」ページのステータスが「スクリプトが生成されました」の場合、スクリプトを選択し、次からアクションを選択します。

- データベースのクローニング - データベースのクローニング・ウィザードを使用してデータベースをクローニングおよびマスキングします(これには、Database Lifecycle Management Packライセンスが必要です)。詳細は、「本番データベースのクローニング」を参照してください。

- スクリプトの保存: デスクトップにPL/SQLスクリプトをすべて保存します。

- マスク・バンドルの保存 - ソースでのマスキング・スクリプト生成オプションの一部として生成されたSQLファイルを含むzipファイルをダウンロードします。スクリプトを抽出および実行して、データベースのマスクされたダンプを作成できます。

- スクリプトの表示: 編集および保存するPL/SQLスクリプトを表示します。影響レポートにエラーおよび警告を表示することも可能です(ある場合)。

「実行」をクリックして、選択したアクションを実行します。

13. テスト・データベースですでに作業しており、そのデータベースのデータを直接マスキングする場合、「ジョブのスケジュール」をクリックします。データベースのマスキングの詳細は、「データ・マスキング・ジョブのスケジュール」を参照してください。

- 必須情報と必要なオプションを入力します。実行時のデータベースは任意のデータベースに指定できます。選択したデータベースは、ソース・データベースのクローンであるとみなされます。デフォルトでは、ADMからのソース・データベースが選択されます。

- 「発行」をクリックします。
データ・マスキング定義ページが表示されます。ジョブはEnterprise Managerに発行されており、マスキング・プロセスが表示されます。このページの「ステータス」列は、プロセスの現在のステージを示します。

データのサブセット化を定義する際に、ソースでデータ・マスキングを行うことも可能です。詳細は、「データ・セブセット定義の作成」を参照してください。

データ・マスキング定義の編集

次の手順を使用して、マスキング定義を編集または処理します。

1. データ・マスキング定義ページで、編集する定義の横にあるラジオ・ボタンをクリックしてから「編集」をクリックします。

2. 前述の手順3以降で説明されている新しい定義の作成手順と同じように、列を追加するか、フォーマット・エントリを編集します。

3. 編集が終了したら、マスキング定義の編集ページで「OK」をクリックします。

4. 「アクション」メニューからそれぞれのメニュー・アイテムを選択することによって、既存のマスキング定義を使用して次のその他のアクションを実行します。

- 類似作成: 「マスキング定義の作成」ページで定義をカスタマイズするマスキング定義を表示します。

- デザイナの付与 - 選択したロールまたは管理者に、マスキング定義でのデザイナ権限を付与します。つまり、権限受領者は定義を表示および編集できます。付与された権限は取り消すこともできます。

- オペレータの付与 - 選択したロールまたは管理者に、マスキング定義でのオペレータ権限を付与します。つまり、権限受領者は定義を表示およびコピーできますが、編集はできません。付与された権限は取り消すこともできます。

- エクスポート: 他のリポジトリで使用するために定義をXMLファイルとしてエクスポートします。

「実行」をクリックして、選択したアクションを実行します。

マスキングする列の追加

このページを使用して、マスキング用の1つ以上の列を追加し、外部キー列を自動的に追加します。対応するスキーマからマスクするデータベース列を選択します。列を選択したら、その内のデータをマスクするのに使用するフォーマットを指定します。

注意:

少なくとも1つの列をマスキング定義で追加する必要があります。列が1つも追加されない場合、オブジェクトおよび検査済リソースの情報を提供し、検出された警告やエラーに関する詳細を記載する影響レポートを作成するスクリプトを生成できません。

1. 検索基準を入力し、「検索」をクリックします。

次の表に、ADMに定義した機密列が表示されます。

2. 1つ以上の列を選択し、「マスキング定義の作成」ページで後でフォーマットするか、(選択した列のデータ型が同一の場合)その場でフォーマットします。

3. オプション: 選択した複数の列をグループとしてマスキングする場合、「選択した列をグループとしてマスキング」を有効にします。グループとしてマスキングする列は、すべて同じ表の列である必要があります。

複数の列を別々ではなく一緒にマスキングする場合、このチェック・ボックスを有効化します。2つ以上の列を選択し、「グループ・マスクの定義」ページのフォーマットを定義すると、列が一緒に表示され、選択したフォーマットの種類または表のマスキングがすべての列にまとめて適用されます。

グループを定義してこのページに戻ると、グループのすべてのメンバーの「列グループ」列に同じ数字が表示されます。たとえば、4つの列を含む最初のグループを定義した場合、このページの4つのエントリの「列グループ」列には1が表示されます。別のグループを定義すると、この列には2が表示されます。これにより、どの列がどのグループに所属するのか簡単に識別できます。

4. 「追加」をクリックしてマスキング定義に列を追加し、「マスキング定義の作成」ページに戻って後で列のフォーマットを定義するか、「フォーマットの定義と追加」をクリックしてその場で列のフォーマットを定義します。

「フォーマットの定義と追加」機能では、かなりの時間を節約できます。同じデータ型の複数の列を選択して追加する場合、「追加」をクリックするときのように列ごとにフォーマットを定義する必要はありません。たとえば社会保障番号(SSN)を検索し、これによって100のSSN列が生じた場合、これらをすべて選択し、「フォーマットの定義と追加」をクリックしてからすべての列に対するSSNフォーマットをインポートできます。

5. 次のいずれかを行います:

- 前の手順で「追加」をクリックした場合:
操作を進めるには、「マスキング定義の作成」ページで列のフォーマットを定義する必要があります。準備ができていれば、フォーマットする列の 「フォーマット」 列ページでアイコンをクリックします。選択した列をグループとしてマスキングすることを「列の追加」ページで指定したかどうかに応じて、「列マスクの定義」または「グループ・マスクの定義」が表示されます。どちらの場合も、詳細はこの手順の後続の内容を参照してください。

- 前の手順で「フォーマットの定義と追加」をクリックし、「選択した列をグループとしてマスキング」を選択していない場合:
「列マスクの定義」ページが表示され、このページで、「マスキング定義の作成」ページに列を追加する前に、列のフォーマットを定義できます。

- 必須のデフォルト条件のフォーマット・エントリを指定するため、リストからフォーマット・エントリを選択して「追加」をクリックするか、「フォーマットのインポート」をクリックして「フォーマットのインポート」ページで事前定義済のフォーマットを選択し、「インポート」をクリックします。
「フォーマットのインポート」ページには、マスクされた列と同じ機密タイプでマークされたフォーマットが表示されます。

- 別の条件を追加するには、「条件の追加」をクリックして新しい条件行を追加し、前の手順に従って1つ以上のフォーマット・エントリを指定します。

- 列のフォーマット作業が終了したら、「OK」をクリックして「マスキング定義の作成」ページに戻ります。

- 前の手順で「フォーマットの定義と追加」をクリックし、「選択した列をグループとしてマスキング」を選択した場合:
「グループ・マスクの定義」ページが表示され、このページで、「マスキング定義の作成」ページに表示されるグループ列のフォーマット・エントリを追加できます。

- 使用可能ないずれかのフォーマット・タイプを選択します。フォーマット・タイプの詳細は、オンライン・ヘルプのグループ・マスキング・フォーマットの定義に関するトピックを参照してください。

- オプションで、グループに列を追加します。

- グループのフォーマット作業が終了したら、「OK」をクリックして「マスキング定義の作成」ページに戻ります。
結果は「列」表に表示されます。あらかじめ選択した機密列がこのページに表示されます。主キー列および外部キー列は、機密列の下に表示されます。

データ・マスキング拡張オプションの選択

デフォルトでは、「マスキング定義」ページで次のオプションがすべて選択されているため、無効にしたいオプションは選択を解除してください。

- データ・マスキングのオプション

- 乱数の生成

- マスク前およびマスク後スクリプト

データ・マスキングのオプション

データ・マスキングのオプションには次のものが含まれます。

- マスキング中のREDOログ生成の無効化
マスキングを行うと、REDOロギングとフラッシュバック・ロギングが無効になり、元々マスキングされていないデータがログからパージされます。ただし、マスキングのテストのみを行い、変更をロールバックして複数のマスク列をテストする場合には、このチェック・ボックスの選択を解除し、マスキングを実行した後で、マスキングされていない古いデータをフラッシュバック・データベースから取得したほうが効率的です。Enterprise Managerでデータベースのフラッシュバックが可能です。

注意:

このオプションを無効にすると、セキュリティが侵害される可能性があります。本番データベースのコピーに最終的なマスキングを実行する場合には、このオプションを有効にする必要がります。

- マスキング後の統計のリフレッシュ
統計収集が有効になっているときに、ヒストグラムや異なるサンプリング率などの特殊オプションを統計収集で使用する場合には、このオプションをオフにしてデフォルトの統計収集を無効にし、独自の統計収集ジョブを実行します。

- マスキング中に作成した一時表の削除
マスキングでは、元の重要なデータ値とマスク値を対応付けるため、一時表が作成されます。この情報を保持し、マスキングによるデータの変更を追跡する場合があります。ただし、これを行うと、セキュリティ侵害の危険性が高くなります。権限の低いユーザーにデータベースへのアクセスを許可する前に、これらの表は削除する必要があります。

- 暗号化列の複号化
このオプションでは、「暗号化」フォーマットを使用して以前にマスクされた列を復号します。以前に暗号化された列を復号化するには、シードの値が暗号化に使用した値と同じである必要があります。

暗号化に使用した元のフォーマットが元の値と一致する場合、復号化によって元の値のみがリカバリされます。元の暗号化された値が指定した正規表現に準拠していない場合、復号化すると、暗号化された値は元の値を再現できません。

- 可能な場合、パラレル実行を使用
Oracle Databaseでは、様々なSQL操作がパラレルで実行できるため、パフォーマンスが著しく向上します。このオプションを選択すると、この機能がデータ・マスキングで使用されます。Oracle Databaseに並列度を自動的に判別させることも、値を指定することもできます。パラレル実行と並行度の詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。

- マスキング後、無効な依存性オブジェクトを再コンパイルします。
マスキング・プロセスによってマスキングされる表が再作成され、その結果、存在するすべての依存性オブジェクト(パッケージ、プロシージャ、関数、MViews、ビューおよびトリガー)が無効になります。チェック・ボックスを選択することにより、マスキング・プロセスで表の作成後、これらの無効なオブジェクトが再コンパイルされるよう指定できます。それ以外の場合、マスキングの最後でutl_compプロシージャを使用して、無効なオブジェクトは再コンパイルできません。

このオプションを選択した場合、シリアルまたはパラレルで実行するか指定します。Oracle Databaseに度合いを自動的に判別させることも、値を指定することもできます。パラレル実行と並列度の使用の詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。

乱数の生成

乱数の生成オプションには次のものが含まれます。

- 速度を優先
乱数の生成にDBMS_RANDOMパッケージが使用されます。

- セキュリティを優先
乱数の生成にDBMS_CRYPTOパッケージが使用されます。また、「置換」フォーマットを使用する場合には、マスキング・ジョブまたはデータベース・クローニング・ジョブをスケジュールする際にシード値が必要です。

マスク前およびマスク後スクリプト

パフォーマンスの評価のためにテスト・システムをマスキングすると、マスキング後のオブジェクト統計保持に役立ちます。マスキング前スクリプトを追加して統計を一時表にエクスポートして、マスキングの終了後にマスキング後スクリプトを使用してリストアすることで、これを行います。

「マスク前スクリプト」テキスト・ボックスを使用して、マスキングの開始前に実行する必要のある任意のユーザー指定のSQLスクリプトを指定します。

「マスク後スクリプト」テキスト・ボックスを使用して、マスキング完了後に実行するSQLスクリプトを指定します。マスキングでデータが変更されるため、ブックをリバランスしたり、ロープアップ・モジュールや集計モジュールを呼び出して関連情報と集計情報の整合性を維持するなどのタスクも実行できます。

次に、統計を保持するためのマスク前およびマスク後スクリプトの例を示します。

この例に、統計を保持するためのマスク前スクリプトを示します。

variable sts_task  VARCHAR2(64);

/*Step :1 Create the staging table for statistics*/

exec dbms_stats.create_stat_table(ownname=>'SCOTT',stattab=>'STATS');

/* Step 2: Export the table statistics into the staging table. Cascade results
in all index and column statistics associated with the specified table being
exported as well. */

exec
dbms_stats.export_table_stats(ownname=>'SCOTT',tabname=>'EMP',
partname=>NULL,stattab=>'STATS',statid=>NULL,cascade=>TRUE,statown=>'SCOTT');
exec
dbms_stats.export_table_stats(ownname=>'SCOTT',tabname=>'DEPT',
partname=>NULL,stattab=>'STATS',statid=>NULL,cascade=>TRUE,statown=>'SCOTT');

/* Step 3: Create analysis task */
3. exec :sts_task := DBMS_SQLPA.create_analysis_task(sqlset_name=>
'scott_test_sts',task_name=>'SPA_TASK', sqlset_owner=>'SCOTT');

/*Step 4: Execute the analysis task before masking */
exec DBMS_SQLPA.execute_analysis_task(task_name => 'SPA_TASK',
execution_type=> 'explain plan', execution_name  => 'pre-mask_SPA_TASK');

この例に、統計を保持するためのマスク後スクリプトを示します。

*Step 1: Import the statistics from the staging table to the dictionary tables*/

exec
dbms_stats.import_table_stats(ownname=>'SCOTT',tabname=>'EMP',
partname=>NULL,stattab=>'STATS',statid=>NULL,cascade=>TRUE,statown=>'SCOTT');
exec
dbms_stats.import_table_stats(ownname=>'SCOTT',tabname=>'DEPT',
partname=>NULL,stattab=>'STATS',statid=>NULL,cascade=>TRUE,statown=>'SCOTT');

/* Step 2: Drop the staging table */

exec dbms_stats.drop_stat_table(ownname=>'SCOTT',stattab=>'STATS');

/*Step 3: Execute the analysis task before masking */
exec DBMS_SQLPA.execute_analysis_task(task_name=>'SPA_TASK',
execution_type=>'explain plan', execution_name=>'post-mask_SPA_TASK');

/*Step 4: Execute the comparison task */
exec DBMS_SQLPA.execute_analysis_task(task_name =>'SPA_TASK',
execution_type=>'compare', execution_name=>'compare-mask_SPA_TASK');

関連項目:

データ・マスキング・ジョブのスケジュール時にこれらのスクリプトの場所を指定する方法を説明する手順は、「パフォーマンス評価のためのテスト・システムのマスキング」を参照してください

スクリプト生成ジョブのスケジューリング

スクリプト生成ジョブをスケジューリングするには、次の手順を実行します。

1. スクリプトを生成するマスキング定義を選択し、「スクリプトの生成」をクリックします。

2. 必要に応じてデフォルトのジョブ名を意味のわかりやすい名前に変更し、ジョブの説明(オプション)を指定します。

3. ドロップダウン・リストから参照データベースを選択します。

4. 次のスクリプト生成オプションを選択します。

- インデータベースのマスク: 指定したデータベース(通常、本番からのコピー)上で、機密データをマスクされたデータでインプレース置換します。このオプションは、非本番環境でのみ使用します。これは、「アクション」メニュー・オプションの「データベースのクローニング」(データベースをクローニングしてからデータをマスキングします)とは異なります。

- インエクスポートのマスク: Oracle Data Pumpを使用して、指定したソース・データベース(通常では本番)から、マスクされたデータをエクスポートします。このオプションは、顧客データを変更しないため、本番環境で安全に実行されます。ただし、このオプションでは、マスキング操作の完了時に削除される一時表が作成されることに注意してください。

両方のオプション(データベースを直接マスキングするスクリプト、およびマスクされたダンプを作成するスクリプト)を選択できることに注意してください。

5. 一時オブジェクトを作成するために、次のいずれかのオプションを選択します。

- デフォルトの表領域にオブジェクトを作成します

- カスタム表領域にオブジェクトを作成します

- 一時オブジェクト

- 一時オブジェクトと、マスキングされる表のコピー

注意:

サブオプションは、手順4で「インデータベースのマスク」を選択した場合のみ使用可能です。

6. 手順5でカスタム表領域を選択した場合は、オブジェクトが作成されるカスタム表領域を選択する必要があります。

7. 参照データベースにログインするための資格証明を指定します。

8. ジョブを即時に開始するか、後で指定した日時に開始するかを指定し、「発行」をクリックします。

メッセージでは、ジョブがスケジュールされていることを確認します。ページをリフレッシュして、ジョブの結果を表示します。

データ・マスキング・ジョブのスケジュール

データ・マスキング・ジョブを設定し、その実行スケジュールするには、次の手順に従います。

1. スクリプトが生成されるマスキング定義を選択し、「ジョブのスケジュール」をクリックします。

2. 必要に応じてデフォルトのジョブ名を変更し、ジョブの説明(オプション)を入力します。

3. ドロップダウン・メニューからデータベースを選択し、プリファレンスを指定します。

- インプレース・マスキング - 機密データを、指定したデータベースのマスクされたデータでインプレース置換します(通常、本番からコピーされます)。このオプションは、非本番環境のみで使用します。これは、「アクション」メニュー・オプションの「データベースのクローニング」(データベースをクローニングしてからデータをマスキングします)とは異なります。

- ソースでのマスキング: Oracle Data Pumpを使用して、指定したソース・データベース(通常、本番)からマスクされたデータをエクスポートします。このオプションは、顧客データを変更しないため、本番環境で安全に実行されます。ただし、このオプションでは、マスキング操作の完了時に削除される一時表が作成されることに注意してください。

選択内容は、ラジオ・ボタンの下およびこのページの他のリージョンに表示されるチェック・ボックスのテキストに影響を及ぼします。

4. 手順3での選択内容に応じて進めます。

- データ・マスク・オプション - 必要な情報を次のように指定します。

- スクリプトの生成が完了した後、データ・マスキング・スクリプトはEnterprise Managerのリポジトリに格納されます。デフォルトでは、データ・マスキング・ジョブは、リポジトリからスクリプトを取得し、データベース・ホスト上の$ORACLE_HOME/dbsディレクトリに生成されたファイル名を使用してコピーします。スクリプト・ファイルの場所と名前フィールドで、デフォルトの場所と生成されたファイル名をオーバーライドできます。

- ワークロード - 必要に応じて、SQLチューニング・セットをマスキングしてファイルを取得するオプションを選択します。ファイルを取得するファイルの場所を参照します。

- マスキングによるSQL計画の変更の検出 - SQLパフォーマンス・アナライザを実行して、マスキングの影響を評価します。タスク名を指定し、対応するSQLチューニング・セットを参照します。

- データ・エクスポート・オプション - 必要な情報を次のように指定します。

- マスク・ダンプを保存するディレクトリを指定します。ドロップダウン・リストは、アクセス可能なディレクトリ・オブジェクトで構成されます。カスタムのディレクトリ・パスを選択することも可能です。外部ディレクトリを使用して処理を高速化する場合は、チェック・ボックスをクリックします。推奨されるデフォルト: DATA_FILE_DIR。

- デフォルトをオーバーライドする場合、適切な値を指定します。エクスポート・ファイルの名前を入力します。最大ファイル・サイズをMB単位で指定します。エクスポート・ジョブのために、アクティブな実行操作の最大スレッド数を指定します。これにより、リソース消費と経過時間のバランスを取ることができます。

- ダンプ・ファイルの圧縮および暗号化を有効にするかどうかを選択します。該当する場合は、暗号化パスワードを入力して確認します。デフォルトでは、ログ・ファイルの生成が選択されています。

5. データベース・ホストにログインするための資格証明を指定します。

6. 参照データベースにログインするための資格証明を指定します。

7. ジョブを即時に開始するか、後で指定した日時に開始するかを指定し、「発行」をクリックします。

メッセージでは、ジョブがスケジュールされていることを確認します。ページをリフレッシュして、ジョブの結果を表示します。

マスキング操作のための領域の要件の見積り

マスキング操作のための領域の要件の見積りのガイドラインを示します。これらの見積りは、予測される最大の表サイズが500GBであることに基づきます。マスキングの領域の見積もりでは、「最悪のシナリオ」を想定します。

- インプレース・マスキングの場合:

- マッピング表のために2 * 500GB (マッピング表には元の列およびマスクされた列の両方が格納されます。最悪の場合は、すべての列がマスクされます)。

- 元の表およびマスクされた表の両方のために2 * 500GB (マスキング・プロセス中のある時点でデータベース内に両方が存在します)。

- 一時表領域のために2 * 500GB (hash joins、sortsなどに必要です)。

最悪の場合の必要な合計領域は3TBです。

- ソースでのマスキングの場合:

- マッピング表のために2 * 500GB (インプレース・マスキングと同様)。

- 一時表領域のために2 * 500GB (インプレース・マスキングと同様)。

- ダンプ・ファイルに対応する十分なファイル・システム領域。

最悪の場合の必要な合計領域は、2TBに必要なファイル・システム領域を加えたものです。

いずれの場合も、一時およびUNDO表領域を自動拡張に設定することをお薦めします。

スクリプトの生成中に、マッピング表用の表領域を指定できます。表領域を指定しない場合は、実行中のユーザーの表領域内に表が作成されます。領域の見積りはスクリプトの生成中に提供され、必要に応じてリソースの警告が発生します。シャッフル形式を使用しているときなど、状況によっては、マッピング表は必要ありません。そのような場合、インラインで元の表への更新が発生します。

依存列の追加

依存列をアプリケーション・データ・モデルに追加することで、定義します。次の前提条件は、依存列として定義される列に適用されます。

- マスキング用としてすでに含まれている列は、有効な依存列になりません。

- 外部キー列、または外部キー列に参照される列は、依存列に指定できません。

- この列のデータは、親列のデータに準拠している必要があります。

列がこれらの基準を満たしていない場合、依存列を追加しようとすると、「無効な依存列」というメッセージが表示されます。

パッケージ・アプリケーションの依存列のマスキング

次の手順では、データ・ディクショナリに関係が定義されていないパッケージ・アプリケーションでの、列間でのデータのマスキング方法について説明します。

パッケージ・アプリケーションの依存列をマスキングするには:

1. 「データ検出およびモデリング」へ移動して、パッケージ・アプリケーション・スイートのメタデータ・コレクションを使用して、新しいアプリケーション・データ・モデル(ADM)を作成します。
メタデータ収集が完了してから、新しく作成されたADMを編集します。

2. 参照関係を手動で追加します。

a. 「参照関係」タブから、「アクション」メニューを開き、「参照関係の追加」を選択します。
「参照関係の追加」ポップアップ・ウィンドウが表示されます。

b. 必要な親キーおよび依存キー情報を選択します。

c. 「列名」リストで、親キー列に関連付ける依存キー列を選択します。

d. 「OK」をクリックして、参照関係をADMに追加します。
これで、新規依存列が参照関係リストに表示されます。

3. 機密列の検出を実行します。
機密列の検出が完了したら、検索ジョブによって検出された列を確認し、必要に応じてそれらを機密または非機密としてマーク付けします。

機密としてマークされているとき、検出されたすべての機密列は、親と、親の他の子の列にも機密としてマーク付けします。このため、すべての関係を含むADMを最初に作成することをお薦めします。デフォルトでは、またはドライバの実行後、ADMが非正規化された関係を含むことはできません。これらは手動で追加する必要があります。

機密列の検出の詳細は、「機密データの検出の実行」の手順を参照してください。

4. 「データ・マスキング」へ移動して、新しいマスキング定義を作成します。

5. 新しく作成したADMを選択して、「追加」をクリックしてから「検索」をクリックして、このADMの機密列を表示します。

6. 検索結果に基づいて列を選択し、選択した列のフォーマットをインポートします。
Enterprise Managerで、プライバシ属性に準拠するフォーマットが表示されます。

7. フォーマットを選択し、スクリプトを生成します。

8. マスキング・スクリプトを実行します。
Enterprise Managerでは、生成されたスクリプトがターゲット・データベースで実行され、指定した列すべてがマスキングされます。

データ・マスキング・テンプレートのインポート

現在のEnterprise ManagerリポジトリにXMLファイルとして保存されている、以前にエクスポートされたデータ・マスキング定義をインポートして再利用できます。Oracle提供のデータ・マスキング定義をソフトウェア・ライブラリからインポートすることもできます。

以前にエクスポートされたマスキング定義のインポート

次の補足情報に注意してください。

- XMLファイル・フォーマットは、マスキング定義のXMLフォーマットと互換性があることが必要です。

- インポートされるマスキング定義の名前がリポジトリにすでに存在しないこと、またソース・データベース名が有効なEnterprise Managerターゲットを識別することを確認してください。

- インポートされるXMLファイルの値が、有効なデータベース・ターゲットを参照していることを確認してください。

1. 「データ・マスキング定義」ページで、「インポート」をクリックします。
「マスキング定義のインポート」ページが表示されます。

2. マスキング定義の名前を指定し、テンプレートに関連付けるADMを選択します。参照データベースが自動的に指定されます。

3. XMLファイルを参照するか、またはXMLファイルの名前を指定してから、「続行」をクリックします。
「データ・マスキング定義」ページが再表示され、インポートされた定義が以降の表示およびマスキング用の表リストに表示されます。

ソフトウェア・ライブラリからのデータ・マスキング・テンプレートのインポート

自己更新機能では、最新のOracle提供のデータ・マスキング・テンプレートをソフトウェア・ライブラリで使用できます。更新をチェックすることもできます。「自己更新」ページに移動し、テスト・データ管理の更新を確認します。存在する場合は、ソフトウェア・ライブラリで使用できるように、ダウンロードして適用します。

1. 「データ・マスキング定義」ページで、「ソフトウェア・ライブラリからのインポート」をクリックします。
「マスキング定義のインポート」ページが表示されます。

2. 「ソフトウェア・ライブラリ」リストでマスキング・テンプレートを選択します。

3. マスキング定義の名前を指定し、テンプレートに関連付けるADMを選択します。参照データベースが自動的に指定されます。

4. 「続行」をクリックします。
「データ・マスキング定義」ページが再表示され、インポートされた定義が以降の表示およびマスキング用の表リストに表示されます。

ソフトウェア・ライブラリからデータ・マスキング定義をエクスポートすることもできます。

1. 「データ・マスキング定義」ページで、「ソフトウェア・ライブラリからのエクスポート」をクリックします。

2. 「ソフトウェア・ライブラリ」リストでマスキング・テンプレートを選択します。

3. 「エクスポート」をクリックします。

異なるリポジトリにインポートするテンプレート・ファイルを保存します。

本番データベースのクローニング

データベースのクローニングおよびマスキングを行う場合、マスキング・スクリプトのコピーがEnterprise Managerリポジトリに保存され、クローニング・プロセスの完了後に取得されて実行されます。そのため、スキーマの変更後または本番データベースの変更後には、スクリプトを再生成することが重要です。

マスキング定義のターゲット・データベースをクローニングおよび(オプションで)マスキングするには、次の手順を実行します。

1. 「データ・マスキング定義」ページで、クローニングするマスキング定義を選択し、「アクション」リストから「データベースのクローニング」を選択し、「実行」をクリックします。
「クローン・データベース: ソース・タイプ」ページが表示されます。

テスト・システムを作成してマスキングを実行できる、データベースのクローニング・ウィザードが表示されます。

2. クローニング操作に使用するソース・データベース・バックアップのタイプを指定して、「続行」をクリックします。

3. 通常のデータベースのクローニングと同じように、ウィザードのステップを進めます。詳細は、各ステップのオンライン・ヘルプを参照してください。

4. ウィザードの「データベース構成」手順で、マスキング定義を追加してから「SQLパフォーマンス・アナライザ」オプションおよびその他の任意のオプションを選択します。

5. クローン・ジョブをスケジュールして実行します。

パフォーマンスの評価のためのテスト・システムのマスキング

データ・マスキング定義を作成した後、テスト・システムでのマスキングによるパフォーマンスの影響の分析に使用する場合があります。次の各項の手順では、マスキングのみまたはクローニングとマスキングでのこのタスクのプロセスを説明しています。

マスキングのみを使用した評価

マスキングのみを使用してパフォーマンスを評価するには:

1. 「データ・マスキング定義」ページで、分析するマスキング定義を選択してから「ジョブのスケジュール」をクリックします。
「データ・マスキング・ジョブのスケジュール」ページが表示されます。

2. ページの上部に、必要な情報を指定します。

スクリプト・ファイルの場所は、マスキング・スクリプトに関係し、これには「マスク前およびマスク後スクリプト」で作成したマスキング前およびマスキング後スクリプトも含まれます。

3. 「暗号化シード」セクションで、暗号化に使用するテキスト文字列を指定します。
このセクションは、「置換」または「暗号化」フォーマットを使用するマスキング定義にのみ表示されます。シードは、暗号化/ハッシュベースの置換APIによって使用される暗号化キーで、マスキングがランダムではなく、より決定的になります。

4. 「ワークロード」セクションで次を実行します。

a. 必要に応じて、「SQLチューニング・セットのマスク」オプションを選択します。
機密データを含むSQLチューニング・セットを使用してパフォーマンスを評価する場合、セキュリティ、データベースとデータの整合性および適切な評価結果の生成のために有効です。

b. 必要に応じて、「取得ファイル」オプションを選択して、取得ディレクトリを選択します。
このオプションを選択すると、ディレクトリのコンテンツがマスキングされます。取得ファイルのマスキングは、データベースと一貫した状態で実行されます。

5. 「マスキングによるSQL計画の変更の検出」セクションで、「SQLパフォーマンス・アナライザの実行」オプションを選択解除します。
作成したマスキング前およびマスキング後スクリプト(手順2参照)は、すでにアナライザを実行しているため、このオプションを有効にする必要はありません。

6. 資格証明およびスケジュール情報を指定して、「発行」をクリックします。
「データ・マスキング定義」ページが再表示され、データ・マスキング・ジョブが正常に発行されたことを示すメッセージが表示されます。

データベースのマスキング中に、AWRバインド変数データが削除され、機密バインド変数のテスト・システムへの漏洩を防止します。

7. ジョブが正常に完了してから、「SQLパフォーマンス・アナライザのタスク」列のリンクをクリックして、実行された分析タスクおよび計画の変更、タイミングなどを示す試行比較レポートを表示します。

クローニングおよびマスキングを使用した評価

クローニングおよびマスキングの両方を使用したパフォーマンスの評価は、「データ・マスキング・ジョブのスケジュール」からではなく、「データベースのクローニング」ウィザードからオプションを指定するという点以外は、前述の項で説明した手順と非常に類似しています。

クローニングおよびマスキングの両方を使用してパフォーマンスを評価するには:

1. 「本番データベースのクローニング」で説明されている手順に従います。

2. 手順4のデータベース構成手順のフォーマットは、「」で説明されているデータ・マスキング・ジョブのスケジュール・ページの表示とは異なりますが、データ・マスキング・ジョブのスケジュール・ページの場合と同じようにオプションを選択します。

3. ウィザードの手順を続行して、クローニングおよびマスキング・ジョブを完了および発行します。

アップグレードに関する考慮事項

データのマスキング定義を10または11 Grid Controlから12c Cloud Controlにアップグレードする場合、次のタスクが完了していることが前提です。

- Enterprise Managerが12cにアップグレードされています。

- 自己更新を使用し最新のデータベース・プラグインがダウンロードされ、プラグインがOMSおよび管理エージェントにデプロイされています。

これらのタスクが完了すると、マスキング定義が自動的にアップグレードされ、レガシー・マスク定義から機密列およびその依存列情報が移入されるシェルApplication Data Model (ADM)がそれぞれ作成されます。ADMは(またはデータ・マスキングも)ディクショナリ関係がないため、検証されていない状態のままになります。

次に従って進み、マスキング定義のアップグレードを完了します。

1. 「エンタープライズ」メニューから「クオリティ管理」を選択し、次に「データ検出およびモデリング」を選択します。

2. 各シェルADM(検証のステータスは、アップグレードが必要)に対し、次を実行します。

a. 表のADMを選択します。

b. 「アクション」メニューから、「アップグレードと検証」を選択します。

c. ジョブをスケジュールして発行します。
ジョブが完了したら検証のステータスは有効になります。

3. 「エンタープライズ」メニューから「クオリティ管理」を選択し、次に「データ・マスキング定義」を選択します。

4. アップグレードされた各マスキング定義に対し、次を実行します。

a. 編集するためにマスキング定義を開きます。

b. 「拡張オプション」で「マスキング後の無効な依存オブジェクトの再コンパイル」オプションを「パラレル」および「デフォルト」設定とともに選択します。

c. 「OK」をクリックして、変更を保存します。

5. 次に、アップグレードした各マスキング定義に対し、スクリプトの生成ジョブをスケジュールします。

これで、アップグレードされたデータ・マスキング定義を使用し、マスキングを再開できます。

関連項目:

依存列の詳細は、「依存列の追加」を参照してください

アップグレードに関して次のその他の点もご注意ください。

- 複数のアップグレードしたADMを結合するには、ADMをエクスポートして別のADMに対して「コンテンツのインポート」を実行します。

- アップグレードしたADMでは、レガシー・マスク定義をアップグレードしたのと同じセマンティクスを使用し(前述で説明)、その際、検証を実行する必要があります。

- Oracleより出荷されたEBSマスキング・テンプレートに基づく11.1 Grid Control E-Business Suite (EBS)マスキング定義は、アップグレード後にはカスタム・アプリケーションとして扱われます。前述の1番目の項目で説明されているアプローチを使用して、すべてのメタデータを持つ、新規に作成された EBS ADMにいつでも移行できます。だし、これは必須ではありません。

シャッフル・フォーマットの使用

列値が一意でない場合および条件付でマスキングされている場合、データ配分を保持しないシャッフル・フォーマットが使用できます。たとえば、EmpNameとSalaryの2つの列がある元の表(表4-1)があるとします。Salary列には10、90、20という3つの個別の値があります。

表4-1 元の表(保持せず)

EmpName

Salary

A

10

B

90

C

10

D

10

E

90

F

20

Salary列をこのフォーマットでマスキングすると、元の値はそれぞれ、このセットの値の1つに置き換えられます。シャッフル・フォーマットが10を20に、90を10に、20を90に置き換えたと仮定します(表4-2)。

表4-2 マッピング表(保持せず)

EmpName

Salary

10

20

90

10

20

90

この結果シャッフルされたSalary列がマスクされた表(表4-3)に表示されますが、データ配分は変更されています。値10は元の表のSalary列では3回発生しますが、マスクされた表では2回発生するだけです。

表4-3 マスクされた表(保持せず)

EmpName

Salary

A

20

B

10

C

20

D

20

E

10

F

90

salaryの値が一意である場合、フォーマットによりデータ配分が保持されます。

グループ・シャッフルの使用

グループ・シャッフルでは、グループのメンバー間で関係がある個別のユニットまたはグループ内のシャッフルを実行できます。従業員の給与をシャッフルする場合を考えてみます。表4-4では、従業員を管理者(M)と就業者(W)に分類し、ジョブ・カテゴリ内で給与をシャッフルする、グループ・シャッフルのメカニズムを示しています。

表4-4 ジョブ・カテゴリを使用したグループ・シャッフル

従業員

ジョブ・カテゴリ

Salary

シャッフルされた給与

Alice

M

90

88

Bill

M

88

90

Carol

W

72

70

Denise

W

57

45

Eddie

W

70

57

Frank

W

45

72

条件付マスキングの使用

条件付マスキングで重複した値がどのように処理されるかを示すために、表4-4にアシスタント(A)というジョブ・カテゴリを追加し、このカテゴリの従業員Georgeを、Frankと同じ給与にします。想定する条件は、次のとおりです。

- ジョブ・カテゴリがMである場合、給与を1から10の間のランダムな数字に置き換えます。

- ジョブ・カテゴリがWである場合、給与を固定の数値(01)に設定します。

- デフォルトでは、既存の値を保持します。

これらの条件を適用すると、表4-5のマスクされた値となります。

表4-5 グループ・シャッフルでのジョブ・カテゴリの使用

従業員

ジョブ・カテゴリ

Salary

条件結果

Alice

M

90

5

Bill

M

88

7

Carol

W

72

01

Denise

W

57

01

Eddie

W

70

01

Frank

W

45

01

George

A

45

45

条件付きマスキングが機能するのは、重複した値が指定されている場合、依存列または外部キーがない場合です。これらのいずれかが存在する場合、ブリーディング条件によって、2つの重複した値のうち1番目の値が2番目の値となります。そのため、この例では、Georgeの給与は保持されず、01になります。

LONG列を含むデータ・マスキングの使用

データ・マスキング・スクリプトの生成が完了したら、影響レポートが表示されます。マスキング定義に、データ型LONGの列を持つ表がある場合、影響レポートに次の警告メッセージが表示されます。

The table <table_name> has a LONG column. Data Masking uses "in-place" UPDATE
to mask tables with LONG columns. This will generate undo information and the
original data will be available in the undo tablespaces during the undo
retention period. You should purge undo information after masking the data.
Any orphan rows in this table will not be masked.

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

この章では、単一のタスクフローでデータ・マスキングとサブセッティングを実行する統合されたサブセットとマスク機能について説明し、そのプロセスを実証するためにいくつかのシナリオの概要を示します。データ・サブセッティング機能を使用するには、Oracle Data Masking and Subsetting Packライセンスが必要です。

注意:

データ・サブセット化は、Oracle Databaseバージョン10.1以上でのみサポートされています。この章の手順は、Oracle Enterprise Manager Cloud Control 12.1以上のみに適用されます。

データ・セブセット定義の作成

この項で説明する手順では、サブセット定義の作成後、そのプロパティを編集したりサブセット定義をエクスポートするなどのタスクを実行するサブセット・データベースを作成できます。

このインタフェースでは、サブセットの定義の作成時に、インラインまたはソースでマスキングを実行できます。

続行する前に、次の権限があることを確認します。

- Enterprise Manager Cloud ControlユーザーのEM_ALL_OPERATOR

注意:

次の権限を持っている場合、EM_ALL_OPERATOR権限は必要ありません。

ターゲット権限(すべてのターゲットに適用可能):

- 表示可能な任意のターゲットに接続

- 任意の場所でのコマンドの実行

- 任意のターゲットの表示

リソース権限:

- ジョブ・システム

- 名前付き資格証明

- Oracle Data Masking and Subsettingのリソース権限

- データベース・ユーザーのSELECT_ANY_DICTIONARY権限

- また、インプレース削除操作を実行するには、DBAユーザーは、EXECUTE_ANY_TYPE権限が付与されている必要があります。

データ・サブセット定義を作成するには:

1. 「エンタープライズ」メニューから「クオリティ管理」を選択し、次に「データ・サブセット定義」を選択します。

2. 「データ・サブセット定義」ページで「アクション」メニューを開き、「作成」を選択するか、または「作成」アイコンをクリックします。

3. データ・サブセット定義のプロパティを定義します。

a. 表示された一般ポップアップで必要な情報を指定し、「続行」をクリックします。
アプリケーション・データ・モデルと関連付けられているいずれかのソース・データベースを選択できます。

サブセット定義内でマスキングを行う場合、マスク定義の作成時に使用した同じADMおよびターゲットを使用する必要があります。

b. ジョブ名、資格証明を指定し、表示される「アプリケーション詳細コレクションのスケジュール」ポップアップでスケジュールを指定して、「発行」をクリックします。
新しい資格証明を使用する場合は、「新規資格証明」オプションを使用します。それ以外の場合は、「優先資格証明」オプションまたは「名前付き資格証明」オプションを使用します。

容量の見積りの収集ジョブが実行され、データ・サブセット定義ページが表示されます。表に定義が表示され、「最新のジョブ・ステータス」列に、選択されているスケジュール・オプション、およびジョブを完了するために必要な時間に応じて、「スケジュール済」、「実行中」または「成功」が示されます。

4. 表内の定義を選択し、「アクション」メニューを開き、「編集」を選択します。
「データベース・ログイン」ページが表示されます。

5. 優先資格証明を設定していない場合は「名前付き資格証明」または「新規資格証明」を選択し、「ログイン」をクリックします。

6. 「編集」ページの「アプリケーション」サブページで、アプリケーションを次のように「使用可能」リストから「選択済」リストへ移動します。

- データのマスキングのみを行う(サブセット化は行わず)場合は、すべてのアプリケーションを選択します。

- データのサブセット化のみを行う(マスキングは行わず)場合は、必要な適切なアプリケーションを選択します。

- データのサブセット化およびマスキングを両方とも行う場合、マスキング定義で必要なアプリケーションを選択する必要があります。

アプリケーション・スイート、アプリケーションまたはアプリケーション・モジュールの名前はアプリケーション・データ・モデル内に保持されています。

7. 「オブジェクト・ルール」タブをクリックします。

注意:

マスキングのみを行う場合は、すべての行が含まれるようにデフォルトの表ルール・オプションを設定し、手順13に進みます。「列マスク・ルール」タブ、「ルール・パラメータ」タブおよび「オブジェクト・ルール」タブ上のその他の機能は、特にサブセッティングに関連があります。

ここでルールを追加し、サブセットに含めるデータを定義できます。

8. 「アクション」を選択し、「作成」を選択して「オブジェクト・ルール」ポップアップを表示するか、「作成」アイコンをクリックします。

a. ルールを指定するアプリケーションを選択します。
すべてのオブジェクト、特定のオブジェクトまたは特定のオブジェクト・タイプとルールを関連付けます。

b. 「すべてのオブジェクト」を選択した場合は、「含める行」セクションで、本番データの一般的なサンプルのニーズに合わせて、最適なオプションを選択します。すべての行を含めない場合は、行の割合を指定することで一部の列を含めることができます。より細かいレベルで、region_id=6などのWhere句を指定できます。
Where句の指定の詳細は、手順8fを参照してください。

c. オブジェクト・タイプとして「指定済」を選択した場合、選択したアプリケーションからの表がドロップダウン・リストに表示されます。
選択した表がパーティション化されている場合は、「パーティションの追加/削除」をクリックし、サブセットに含める必要のあるオブジェクトのパーティションおよびサブパーティションを選択します。

d. 「関連行を含む」セクションで、次のいずれかを実行します。

- 「祖先および子孫オブジェクト」を選択する
このルールは、親列および子列に影響を与えますが、参照整合性が保持され、サブセットの一部として子列も選択されます。

- 「祖先オブジェクトのみ」を選択する
このルールは、親列にのみ影響し、参照整合性が保持されます。

「関連行を含む」チェック・ボックスを無効にすると、参照整合性が保持されない場合があります。ただし、その後追加のルールを指定して、参照整合性をリストアすることもできます。Where句を指定するかどうかによって、このチェック・ボックスを無効にできます。

e. Where句を指定する場合、次の手順に進みます。そうでない場合は、手順9に進みます。

f. 必要に応じて、句にパラメータを指定します。

たとえば、従業員IDの値をemployee_id=:emp_idとして指定する場合、デフォルトの100に問合せ値を入力できます。

- 「行」ボタンを選択して、employee_id=:emp_idを入力します。

- 「OK」をクリックしてルールを保存し、「オブジェクト・ルール」タブに戻ります。
これが新しいルールである場合、「バインド変数emp_idに対応するルール・パラメータは、サブセットを生成する前に作成する必要があります。」という警告が表示されます。

- 表ルールを選択して、「ルール・パラメータ」タブをクリックしてから「作成」をクリックします。
ルール・パラメータのプロパティ・ポップアップが表示されます。

- 「名前」にemp_id、「値」に100を入力します。

注意:

emp_idの前にあるコロン(:)はWhere句内にのみ存在し、新規ルール・パラメータの作成時には必要ありません。

- 「OK」をクリックしてプロパティを保存すると、「ルール・パラメータ」タブに表示されます。

- 手順10に進みます。

9. 「OK」をクリックしてルールを保存し、「オブジェクト・ルール」タブに戻ります。

リスト内に新規ルールが表示されます。その下の表に、関連オブジェクトが表示されます。オブジェクトからの関連行は、サブセット・データベース内の参照整合性を維持するために、サブセットに含まれています。

10. 「オブジェクト・ルール」タブの「関連オブジェクト」セクションで、サブセット内の祖先および子孫のレベルを制御することで、サブセットのサイズを管理できます。表内の各ノードにはチェック・ボックスがあります。デフォルトでは、チェック・マークで示されたように、すべてのノードはサブセットに含まれます。サブセットからノードを除外するには、チェック・ボックスを選択解除します。選択解除オプションは親行には無効になります(右側の結合列は親行および子行を識別します)。また、サブレットのコンテンツに次のような他の絞込みを行うこともできます。

- 「親オブジェクトの除外を許可」をクリックします。これにより、グレー表示されていたチェック・マークが有効になります。チェック・ボックスを選択解除することによって、サブセットから親行を選択して除外できます。

- 表内のノードを選択し、子孫の追加をクリックして、関連行を含めます。開いているダイアログで適切に選択して、「OK」をクリックします。

これらの絞込みを行うと、右側の列は、サブセットの容量の見積りへの影響を反映します。また、「関連オブジェクト」セクションは、祖先および子孫の表の処理順序を示し、各オブジェクトを含めることの影響が詳細に表示されます。絞込みが終了したら、「容量の見積もり」タブに移動して、サブセットの全体のサイズへの影響の、より詳細な粒度を表示します。

11. 「オブジェクト・ルール」タブの「デフォルト・オブジェクト行」セクションで、サブセットに定義されたルールの影響を受けないオブジェクトを含めるか除外するかを選択します。
「すべての行を含む」オプションを選択すると、オブジェクトのすべての行がサブセットの一部として選択されます。

これは、グローバル・ルールで、サブセット全体に適用されます。すべてのルールの有効範囲が「指定しない」の場合、「すべての行を含む」オプションのみを選択できます。「オブジェクト・ルール」ポップアップで「関連行を含む」オプションの選択を解除すると、有効範囲が「なし」に設定されます。

注意:

列ルールを持つサブセット定義の場合は(手順12を参照)、対応するオブジェクトが含まれるように、オブジェクト・ルールを使用してください。必要に応じて、デフォルトのオブジェクト・ルール・オプションを使用して、オブジェクト・ルールの影響を受けないすべてのオブジェクトを含めることもできます。

12. オプション: インライン・マスキングをサブセット定義の一部として実行するには、「列マスク・ルール」タブをクリックします。

a. 「作成」をクリックし、スキーマ内の列をフィルタ処理するための検索基準を入力します。通常これらは、CLOBやBLOBなどの垂直列です。

注意:

マスキング定義(手順13を参照)のかわりに列マスク・ルールを使用する場合、特定の表で選択できるのは10列までです。この制限は、エクスポート・メソッドに該当し、インプレース削除メソッドには該当しません。

「OK」をクリックします。

b. 列の検索結果で行を1つ以上選択し、「マスキング・フォーマットの管理」をクリックします。

c. ポップアップ・ダイアログで、列に適用するマスキング・フォーマットと値を選択します。複数選択する場合は、1つのフォーマットがすべての列に対して適切であることが必要です。列を複数選択する場合は、選択する列のルール・フォーマットを選択された列に適用できることを確認してください。コンプライアンスに準拠するには、nullではなく、一意の列(フラグ)を使用します。
「OK」をクリックして、列にマスキング・フォーマットを適用します。

13. オプション: サブセッティング操作の一部にマスキング定義を含めるか、ソース・データでのみマスキングを実行するには、「データ・マスキング定義」 タブをクリックします。

a. 「追加」をクリックします。

b. ポップアップ・ダイアログで、適切な定義を取得する検索基準を入力します。必要なラジオ・ボタン(「すべて」または「任意」)を必ず選択してください。インライン・マスキングでは、複合マスキングを除く、すべてのフォーマットがサポートされています。

注意:

エクスポート・メソッドを使用する場合、マスキング定義内のどの表のマスクされた列数も10を超えないようにする必要があります。この制限は、インプレース削除メソッドには該当しません。

「OK」をクリックします。

検索結果が「データ・マスキング」表に表示されます。

14. 「容量の見積もり」タブをクリックします。

- 「推定サブセット・サイズMB」列の値に注意してください。容量の見積りは、オプティマイザ統計に依存し、ヒストグラム統計が存在する場合は、実際のデータの配分のみが計算されます。

- 新規ルールを追加する場合は常に、更新値の容量の見積りを再確認します。

- 「容量の見積もり」サブページのデータは、一番大きなアプリケーションが一番上に表示されるようにソートされています。

注意:

容量の見積りは、dbms_stats.gather_table_statsが使用されている場合にのみ正確です。また、データ・マスキングが使用されている場合、その影響は容量の見積りに反映されません。

Where句とそれに続くルール・パラメータ・プロパティを指定すると、「ルール・パラメータ」タブに含まれる値で容量の見積もりサブページが更新されます。

15. オプション: 「サブセット前/後スクリプト」タブをクリックします。

- サブセット・データを選択する前にサブセット・データベースで実行するサブセット前スクリプトを指定できます。

- サブセット・データをアセンブルした後にサブセット・データベースで実行するサブセット後スクリプトを指定できます。

- どちらのスクリプト・タイプも、ソース・データベースで実行されます。

16. 「戻る」をクリックします。
定義が完了し、「データ・サブセッティング定義」表に表示されます。

これで、スクリプトの生成を続行できます。または、今後使用するために、スクリプトを保存することも可能です。どちらの場合でも、ダンプ・ファイルにデータをエクスポートするか、ターゲット・データベースからデータを削除するかを決定する必要があります。

ヒント:

たとえば、4TBの非常に大きなデータベースがあり、10%などの少量の行をエクスポートする場合、エクスポート・メソッドを使用すると利便性が高まります。インプレース削除メソッドを使用するには、3.6TBのデータが必要で、エクスポート・メソッドのように速くは行われません。

削除されるデータの量がデータ・サイズ全体の少量である場合は、インプレース削除メソッドをお薦めします。

インプレース削除をリモートで実行するか、それをスクリプト化する場合、EMCLI動詞があります。

- サブセット・スクリプトの生成

- サブセット・スクリプトの保存

サブセット・スクリプトの生成

サブセット・スクリプトを生成するためにジョブを準備して発行するには、次の手順に従います。

1. 表内の定義を選択し、「アクション」メニューを開き、「サブセットの生成」を選択します。サブセット・モード・ポップアップが表示されます。

2. サブセット・モデルの作成に使用したものと同じターゲット・データベースか、表スキーマやオブジェクトがこのデータベースに類似しているターゲット・データベースを選択します。

3. エクスポート・ファイルへサブセット・データを書き込む方法とターゲット・データベースからデータを削除する方法のどちらを使用してサブセットを作成するかを決定します。

データの削除を選択すると、本番データベースではなく本番データベースのクローン・コピーから不要なデータを削除することにより、インプレース・サブセットが作成されます。ルールを満たすデータのみが保持されます。このオプションは、本番データベースに対しては決して使用しないでください。

優先資格証明を設定していない場合は、名前付き資格証明または新規資格証明を選択します。

「ルール・パラメータ」タブからパラメータを定義した場合、それらのパラメータは下にある表に表示されます。パラメータの値は、「値」列の関連するフィールドをクリックすると変更できます。

4. 「続行」をクリックして「パラメータ」ポップアップにアクセスします。ポップアップのコンテンツは、前の手順で、エクスポートと削除のどちらのオプションを選択したかに応じて異なります。

「エクスポート・ファイルへのサブセット・データの書込み」の場合は、必要な情報を指定し、「続行」をクリックしてジョブをスケジュールします。

- エクスポート・ダンプを保存するサブセット・ディレクトリを指定します。ドロップダウン・リストは、アクセス権を持つディレクトリ・オブジェクトで構成されます。カスタムのディレクトリ・パスを選択することも可能です。外部ディレクトリを使用して処理を高速化する場合は、チェック・ボックスをクリックします。推奨されるデフォルト: DATA_PUMP_DIR。

- デフォルトをオーバーライドする場合、適切な値を指定します。エクスポート・ファイルの名前を入力します。最大ファイル・サイズをMB単位で指定します。エクスポート・ジョブのために、アクティブな実行操作の最大スレッド数を指定します。これにより、リソース消費と経過時間のバランスを取ることができます。

- ダンプ・ファイルの圧縮および暗号化を有効にするかどうかを選択します。該当する場合は、暗号化パスワードを入力して確認します。デフォルトでは、ログ・ファイルの生成が選択されています。

「ターゲット・データベースからのデータの削除」の場合は、必要な情報を指定し、「続行」をクリックしてジョブをスケジュールします。

- サブセット・スクリプトを保存するサブセット・ディレクトリを指定します。ドロップダウン・リストは、アクセス権を持つディレクトリ・オブジェクトで構成されます。カスタムのディレクトリ・パスを選択することも可能です。推奨されるデフォルト: DATA_FILE_DIR。

- 先に進むには選択したターゲットが本番データベースでないことを示すチェック・ボックスを有効にする必要があります。

5. 「続行」をクリックして「サブセット・スケジュールの生成」ポップアップからジョブをスケジュールし、「発行」をクリックします。削除オプションの場合は、暗号化シードを指定して確認する必要があります。

データ・サブセット定義ページが再表示され、「最新のジョブ・ステータス」列に、サブセット・ジョブが実行中であることに続き、このジョブが成功したことが示されます。

この手順の実行後、生成したエクスポート・ファイルを使用してサブセット・データベースをいつでも作成できるようになります。

サブセット・スクリプトの保存

サブセット・スクリプトを保存するためにジョブを準備して発行するには、次の手順に従います。

1. 表内の定義を選択し、「アクション」メニューを開いて、サブセット・スクリプトの保存を選択します。サブセット・モード・ポップアップが表示されます。

2. サブセット・モデルの作成に使用したものと同じターゲット・データベースか、表スキーマやオブジェクトがこのデータベースに類似しているターゲット・データベースを選択します。

3. エクスポート・ファイルへサブセット・データを書き込む方法とターゲット・データベースからデータを削除する方法のどちらを使用してサブセットを作成するかを決定します。
データの削除を選択すると、本番データベースではなく本番データベースのクローン・コピーから不要なデータを削除することにより、インプレース・サブセットが作成されます。ルールを満たすデータのみが保持されます。このオプションは、本番データベースに対しては決して使用しないでください。

優先資格証明を設定していない場合は、名前付き資格証明または新規資格証明を選択します。

「ルール・パラメータ」タブからパラメータを定義した場合、それらのパラメータは下にある表に表示されます。パラメータの値は、「値」列の関連するフィールドをクリックすると変更できます。

4. 「続行」をクリックして「パラメータ」ポップアップにアクセスします。ポップアップのコンテンツは、前の手順で、エクスポートと削除のどちらのオプションを選択したかに応じて異なります。
「エクスポート・ファイルへのサブセット・データの書込み」の場合は、必要な情報を指定し、「続行」をクリックしてジョブをスケジュールします。

- エクスポート・ダンプを保存するサブセット・ディレクトリを指定します。ドロップダウン・リストは、アクセス権を持つディレクトリ・オブジェクトで構成されます。カスタムのディレクトリ・パスを選択することも可能です。外部ディレクトリを使用して処理を高速化する場合は、チェック・ボックスをクリックします。推奨されるデフォルト: DATA_PUMP_DIR。

- デフォルトをオーバーライドする場合、適切な値を指定します。エクスポート・ファイルの名前を入力します。最大ファイル・サイズをMB単位で指定します。エクスポート・ジョブのために、アクティブな実行操作の最大スレッド数を指定します。これにより、リソース消費と経過時間のバランスを取ることができます。

- ダンプ・ファイルの圧縮および暗号化を有効にするかどうかを選択します。該当する場合は、暗号化パスワードを入力して確認します。デフォルトでは、ログ・ファイルの生成が選択されています。

「ターゲット・データベースからのデータの削除」の場合は、必要な情報を指定し、「続行」をクリックしてジョブをスケジュールします。

- サブセット・スクリプトを保存するサブセット・ディレクトリを指定します。ドロップダウン・リストは、アクセス権を持つディレクトリ・オブジェクトで構成されます。カスタムのディレクトリ・パスを選択することも可能です。推奨されるデフォルト: DATA_FILE_DIR。

- 先に進むには選択したターゲットが本番データベースでないことを示すチェック・ボックスを有効にする必要があります。

5. 「続行」をクリックします。進行状況インジケータにより、スクリプトの生成が追跡されます。完了すると、スクリプトの生成結果が「ファイル」表にリストされます。

6. 「ダウンロード」をクリックします。表示される「ファイルのダウンロード」ポップアップで、「保存」をクリックします。

7. 表示される「別名保存」ポップアップで、ファイルの場所にナビゲートし、「保存」をクリックします。
スクリプト(SubsetBundle.zip)を含むファイルが、デスクトップの指定された場所に表示されます。

保存したスクリプトを後から実行するには、次の手順に従います。

1. ZIPファイルをターゲット・データベースに移動し、必要な権限を持っているディレクトリに抽出します。

2. ファイルを抽出したディレクトリに移動します。

3. SQLコマンドラインから次のスクリプトを実行します。

subset_exec.sql

生成されたパラメータ設定を変更する場合は、スクリプトを実行する前に、テキスト・エディタで次のファイルを編集して変更できます。

subset_exec_params.lst

サブセット・テンプレートおよびダンプのインポートとエクスポート

サブセット・テンプレートは、アプリケーション、サブセット・ルール、ルール・パラメータおよび前処理スクリプトまたは後処理スクリプトから構成されるサブセットの詳細を含むXMLファイルです。サブセット定義を作成して、サブセット・データを書き込んでファイルをエクスポートするよう指定すると、エクスポート・ファイルは後で再利用してインポートできるテンプレートになります。テンプレートをインポートして、異なるデータベースでサブセット操作を実行します。

通常、ワークフローは、ADMの作成中に、まず以前にエクスポートした他のXMLファイルであるADMテンプレートをインポートします。その後、データ・サブセット定義の作成中に、関連するサブセット・テンプレートをインポートします。かわりに、サブセット・テンプレートの作成中に、既存のADMを選択(ADMのインポート・フローを省略)することもできます。

注意:

サブセット定義およびサブセット・ダンプのエクスポートおよびインポート操作をリモートで実行またはスクリプト化する場合に、これらの操作を実行するためのEMCLI動詞があります。

サブセット定義のインポート

次の3つのインポートの方法があります。

- デスクトップからのサブセット定義XMLファイルのインポート

- サブセット・ダンプのインポート

- ソフトウェア・ライブラリからのサブセット定義XMLファイルのインポート

デスクトップからサブセット定義XMLファイルをインポートするには、次の手順に従います。

1. 「アクション」メニューから「インポート」を選択し、次に「デスクトップのファイル」を選択します。

2. 表示されるポップアップで、次を行います。

- サブセット定義の名前を指定します

- サブセットが元にするADM

- ソース・データベース

- サブセット定義のインポート元にするデスクトップ上の場所

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

3. 表示されるポップアップで、次を行います。

- 説明的なジョブ名を入力します(またはデフォルトを使用します)

- 資格証明を指定します

- ジョブをスケジュールします

- 「発行」をクリックします

ジョブが正常に実行されると、データ・サブセット定義ページにある表のサブセットのリストに、インポートされたサブセットが表示されます。

サブセット・ダンプをインポートするには、次の手順に従います。

1. 「アクション」メニューから「インポート」を選択し、次に「サブセット・ダンプ」を選択します。

2. 表示されるポップアップで、次を行います。

- ターゲット・データベースを選択します

- データベースおよびホスト資格証明を指定し、「ログイン」をクリックします。

- ダンプ・ファイルの場所を指定します。ターゲット・データベース上の選択したディレクトリ、またはターゲット上のカスタム・パスを指定できます。ダンプ・ファイルの元のエクスポート・アクションで外部の場所を使用した場合、その場所も指定する必要があります。

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

3. 表示されるポップアップで、次を行います。

- メタデータとデータの両方をインポートするか、またはデータのみをインポートするかを選択します。データのみの場合、切り捨てるか、つまり、既存のデータをオーバーレイするか、既存のデータに追加するかどうかを示します。

- 必要に応じて、表領域の再マッピングを実行します

- 必要に応じて、スキーマの再マッピングを実行します

- ログ・ファイル・オプションを選択します

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

4. 表示されるポップアップで、次を行います。

- 説明的なジョブ名を入力します(またはデフォルトを使用します)

- ジョブをスケジュールします

- 「発行」をクリックします

ジョブは、ダンプ・ファイルを読み取り、選択したターゲット・データベースにデータをロードします。

ソフトウェア・ライブラリからサブセット定義XMLファイルをインポートするには、次の手順に従います。

1. 「アクション」メニューから「インポート」を選択し、次に「ソフトウェア・ライブラリのファイル」を選択します。

2. 表示されるソフトウェア・ライブラリからのデータ・サブセット定義のインポート・ポップアップで、次を行います。

- 左側で目的のサブセット定義XMLファイルを選択します

- 右側でADMプロパティを指定します。

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

3. 表示されるポップアップで、次を行います。

- 説明的なジョブ名を入力します(またはデフォルトを使用します)

- 資格証明を指定します

- ジョブをスケジュールします

- 「発行」をクリックします

ジョブが正常に実行されると、データ・サブセット定義ページにある表のサブセットのリストに、インポートされたサブセットが表示されます。

サブセット定義のエクスポート

次の2つのエクスポートの方法があります。

- デスクトップへの選択したサブセット定義のエクスポート

- ソフトウェア・ライブラリからのサブセット定義のエクスポート

XMLファイルとしてサブセット定義をデスクトップにエクスポートするには、次の手順に従います。

1. データ・サブセット定義ページから、エクスポートするサブセット定義を選択します。

2. 「アクション」メニューから「エクスポート」を選択し、次に「選択されたサブセット定義」を選択します。

3. 表示されるファイル・ダウンロード・ポップアップで、「保存」をクリックします。

4. 表示される「別名保存」ポップアップで、ファイルの場所にナビゲートし、「保存」をクリックします。
サブセット定義がXMLファイルに変換され、デスクトップの指定された場所に表示されます。

ソフトウェア・ライブラリからサブセット定義をエクスポートするには、次の手順に従います。

1. 「アクション」メニューから「エクスポート」を選択し、次に「ソフトウェア・ライブラリのファイル」を選択します。

2. 表示されるソフトウェア・ライブラリからのサブセット定義のエクスポート・ポップアップで、目的のサブセット定義を選択し、「エクスポート」をクリックします。

3. 表示されるファイル・ダウンロード・ポップアップで、「保存」をクリックします。

4. 表示される「別名保存」ポップアップで、ファイルの場所にナビゲートし、「保存」をクリックします。

サブセット定義がXMLファイルに変換され、デスクトップの指定された場所に表示されます。

ジョブが正常に実行されると、「データ・サブセット定義」ページの表のサブセットのリストに、サブセット・テンプレートが表示されます。

ターゲット・データベースのサブセット・バージョンの作成

サブセットが定義、分析および検証された後、サブセット操作を実行してソース・データのサブセット・バージョンを作成できます。

この手順は、次の条件を前提としています。

- データベースのサブセット作成に必要なルールが含まれるサブセット定義がすでに存在しています。

- ソースからデータを抽出し、ターゲット・データベースのサブセット・バージョンを作成するのに必要な権限があります。サブセット技術に応じて、様々なレベルのファイルまたはデータベース権限を作成できます。次の権限が必要となります。

- ターゲット権限(すべてのターゲットに適用可能):

- 表示可能な任意のターゲットに接続

- 任意の場所でのコマンドの実行

- 任意のターゲットの表示

リソース権限:

- ジョブ・システム

- 名前付き資格証明

- Oracle Data Masking and Subsettingのリソース権限

注意:

Enterprise Manager Cloud ControlユーザーのためのEM_ALL_OPERATOR権限には、前述のすべての権限が含まれています。

- データベース・ユーザーのSELECT_CATALOG_ROLE

- データベース・ユーザーのSELECT ANY DICTIONARY権限

- ターゲット・データベース・ユーザーのデータベースのDBA権限

- また、インプレース削除操作を実行するには、DBAユーザーは、EXECUTE_ANY_TYPE権限が付与されている必要があります。

ターゲット・データベースのサブセット・バージョンを作成するには:

1. サブセット定義を選択し、これをソース・データベースに関連付けることにより、サブセット操作を作成します。
ソース・データベースに対してサブセット定義が検証され、スキーマの差異にフラグが設定されます。このアソシエーションは、アプリケーション開発者が作成した元のアソシエーションとは異なる可能性があります。

2. 定義を編集し、定義されているスキーマをテスト・スキーマに再マップします。
データベースに接続するよう求められ、このデータベースは、サブセット定義に関連付けられます。これにより、ベンダーによって指定されたスキーマ名をデータベース内の実際のスキーマ名に再マップすることもできるようになります。

3. 様々なサブセット作成技術の1つを選択します。

- データ・ポンプ・ダンプ・ファイルとそれに続くデータ・ポンプ・インポート

- インプレース削除(ルール条件に一致しない指定したデータベースの行が削除される)

- 移動中のサブセット作成またはリフレッシュ

適切なレスポンス・ファイル(SQLスクリプト、データ・ポンプ・スクリプトまたはOSスクリプト)が生成され、操作を続行するのに適した権限についてターゲット・システムが確認され、ターゲットのサイズが見積もられます。

4. 分析を確認した後、サブセット・プロセスを発行します。
Enterprise Managerにより、サブセット・プロセスが実行され、実行の結果がまとめられます。

アプリケーション・データ・モデルによるサブセット定義の同期化

たとえば、ADMへの変更、参照関係の追加または表の削除で、失効したサブセット定義をレンダリングできます。「サブセット定義」ページには、この条件が明確に示され、サブセット名および無効なステータスの横にロック・アイコン表示されます。また、「アクション」メニューのほとんどのメニュー項目は無効になります。ステータスを有効に戻し、サブセット定義のロック解除するには、関連付けられたADMと定義を同期する必要があります。

1. 「サブセット定義」ページで、ロックされたサブセット定義を選択します。

2. 「アクション」メニューから、「同期化」を選択します。

3. ジョブの発行ダイアログを完了し、「発行」をクリックします。

ジョブが完了すると、サブセット定義のロックが解除され、使用可能になります。

サブセット定義での権限の付与

他のユーザーがアクセス権を持つことができるように、作成するサブセット定義で権限を付与できます。これを行うには、少なくともサブセット定義にデザイナ権限を持つEnterprise Manager管理者である必要があります。

1. 「エンタープライズ」メニューから、「クオリティ管理」、「データ・サブセット定義」の順に選択します。

2. 権限を付与するサブセット定義を選択します。

3. 「アクション」メニューから、「権限付与」を選択します。

- オペレータ: 選択したロールまたは管理者にサブセット定義のオペレータ権限を付与します(権限受領者は定義を表示およびコピーできますが、編集することはできません)。

- デザイナ: 選択したロールまたは管理者にサブセット定義のデザイナ権限を付与します(権限受領者は定義を表示および編集できます)。

4. 開いたダイアログで、タイプ(管理者、ロール、あるいはその両方)を選択します。必要に応じて、名前で検索します。選択し、「選択」をクリックします。

これらの選択は、サブセット定義に対する権限を持ちます。

5. 前に付与された権限を拒否するには、「取消」アクションを使用します。

テスト・データ管理領域内の権限の詳細は、「Oracle Data Masking and Subsettingのアクセス権」を参照してください。

インライン・マスキングおよびサブセット化について

機密データのマスキングと同時に、データベースのサイズを減らすことができます。これは、テスト用にマスクされた大きい本番データベースの格納に関連するハードウェアのコストを大幅に減らすと同時に、エクスポートされた本番データを曖昧にする、二重の役割を果たします。

注意:

インライン・マスキングは、Oracle Database 11g 以上のリリースでのみ使用可能です。

データ・マスキングをサブセット化と統合する利点は、次のとおりです。

- 単一のフローでテスト・システムを準備します

- テストの目的で、大きいサイズのマスクされたデータベースを維持する必要がなくなります

- ダンプ・ファイルの形式でエクスポートされたデータは、機密データを公開せずに、複数のデータベースにインポートできます

- 大きいデータ・チャンクを含む列を破棄する機能によって、サブセット化が強化されます

サブセットの作成中に、1つ以上のデータ・マスキング定義を選択できます。マスキング定義は、現在のサブセット定義と同じADMに基づいている必要があります。同時に、CLOB列およびBLOB列をNull (または、Fixed StringやFixed Numberなど、別のサポートされた形式)に設定するよう、列ルールを定義することによって、サブセット・サイズを大幅に減らすことができます。

次の2つの方法で、サブセットを生成します。

- エクスポート・ダンプ: マスキング定義がサブセット・モデルの一部である場合、マッピング表は生成中に作成され、結果となるダンプには、マスクされた値が含まれます。

- 配置された削除: 本番データベースのクローニングされたコピーでサブセット化が実行されます。データ・マスキングがサブセット・モデルの一部である場合、事前生成されたマスキング・スクリプトがターゲット上で連続して実行されます。

インライン・マスキングの利点は、次のとおりです。

- 機密データは本番環境に残らないため、公開されません(エクスポート・ダンプ・オプション)。

- 一時的にデータをステージング領域に格納する必要がありません。

- エクスポートされたデータは、後で複数の環境にインポートできます。

- データのサブセットのみをエクスポートする表ルールを定義でき、列ルールを使用してさらにボリュームを減らして、大きい垂直列を削除できます。

- 同じデータを異なる方法でマスクし、異なるテスト・データベースにインポートできます。

- プロビジョニング・フレームワークを使用して、機密ではないデータを含む、縮小された参照用の完全なデータベースの複数のコピーを作成する(配置された削除)か、またはダンプ・ファイルを複数のデータベースにインポート(エクスポート・ダンプ)できます。

「データ・サブセット定義の作成」の項では、サブセット定義を作成する際に、データのサブセット化およびデータ・マスキングも一緒に実行する手順を説明します。データ・マスキングおよびデータ・マスキングの定義の作成の詳細は、「データ・マスキング」を参照してください。

インライン・マスキングおよびサブセット化のシナリオ

後述のシナリオでは、機密列の詳細が取得される本番(またはテスト)データベース用に、アプリケーション・データ・モデル(ADM)が存在すると想定します。示す手順は、高レベルです。マスキング定義の作成の詳細は、「アプリケーション・データ・モデルおよびワークロードによるマスキング」、サブセット定義の作成および編集の詳細は、「データ・サブセット定義の作成」を参照してください。

本番データのマスクおよびエクスポート

セキュリティ管理者として、マスクされた値を含むデータをエクスポートすることによって、本番データベースのコピーを作成します。つまり、エクスポート・ダンプには、マスクされた値のみがあり、機密データはありません。

1. マスキング定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 機密列(依存列および推奨されるマスキング・フォーマットを含む)を検索および選択します。

c. 推奨されるフォーマットを確認し、必要に応じて編集します。

d. 結果を保存します。

2. サブセット定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 作成されたサブセット・ジョブを発行します。

3. サブセット化定義を編集します。
「データ・マスキング」タブで、マスキング定義を検索および選択します。システム検証では、複数のマスキング定義を使用する、重複した列をチェックします。

4. 「エクスポート」オプションを使用して、サブセットを生成します。

結果をまとめると、次のようになります。

- マッピング表およびマッピング関数を作成するスクリプトを生成および実行します。各マッピング関数に列をマップする表も作成します。

- サブセット化およびマスキングのスクリプトを、ターゲット・データベースにコピーします。

- マッピング関数を使用して機密データをマスクされた値で置き換えて、本番データのエクスポート・ダンプを生成します。

テスト・データベース上のマスクおよび削除操作

セキュリティ管理者として、機密情報をマスクすることによって、使用可能なテスト・データベースを作成します。結果となるデータベースには、マスクされた値のみがあり、機密データはありません。

1. クローン・データベース上でマスキング定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 機密列(依存列および推奨されるマスキング・フォーマットを含む)を検索および選択します。

c. 推奨されるフォーマットを確認し、必要に応じて編集します。

d. 保存します。

2. サブセット定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 作成されたサブセット・ジョブを発行します。

3. サブセット化定義を編集します。
「データ・マスキング」タブで、マスキング定義を検索および選択します。システム検証では、複数のマスキング定義を使用する、重複した列をチェックします。

4. 「配置された削除」オプションを使用して、サブセットを生成します。

結果をまとめると、次のようになります。

- サブセット化およびマスキングのスクリプトを、ターゲット・データベースにコピーします。

- サブセット・ルール(指定されている場合)に基づき、データのサブセット化を実行します。

- 事前生成されたデータ・マスキング・スクリプトをターゲット・データベース上で連続して実行します。

- テストで使用するための本番データベースのマスクされたコピーを作成します。

機密データのマスクおよび本番データベースのサブセットのエクスポート

セキュリティ管理者として、マスクされた値を含む本番データのサブセットをエクスポートすることによって、本番データベースのコピーを作成します。

1. マスキング定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 機密列(依存列および推奨されるマスキング・フォーマットを含む)を検索および選択します。

c. 推奨されるフォーマットを確認し、必要に応じて編集します。

d. 保存します。

2. サブセット定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 作成されたサブセット・ジョブを発行します。

3. サブセット定義を編集します。

a. 領域の見積りとなる表ルールを定義します。

b. 「データ・マスキング」タブで、マスキング定義を検索および選択します。システム検証では、複数のマスキング定義を使用する、重複した列をチェックします。

4. 「エクスポート」オプションを使用して、サブセットを生成します。

結果をまとめると、次のようになります。

- マッピング表およびマッピング関数を作成するスクリプトを生成および実行します。各マッピング関数に列をマップする表も作成します。

- サブセット化およびマスキングのスクリプトを、ターゲット・データベースにコピーします。

- マッピング関数を使用して機密データをマスクされた値で置き換えて、本番データのエクスポート・ダンプを生成します。

テスト・データベース上のサブセット、マスクおよび削除操作の実行

セキュリティ管理者として、機密情報をマスクすることによって、使用可能なテスト・データベースを作成します。インポートの際、データベースには、マスクされた値のみがあり、機密データはありません。

1. マスキング定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 機密列(依存列および推奨されるマスキング・フォーマットを含む)を検索および選択します。

c. 推奨されるフォーマットを確認し、必要に応じて編集します。

d. 保存します。

2. サブセット定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 作成されたサブセット・ジョブを発行します。

3. サブセット定義を編集します。

a. 領域の見積りとなる表ルールを定義します。

b. 「データ・マスキング」タブで、マスキング定義を検索および選択します。システム検証では、複数のマスキング定義を使用する、重複した列をチェックします。

4. 「配置された削除」オプションを使用して、サブセットを生成します。

結果をまとめると、次のようになります。

- サブセット化およびマスキングのスクリプトを、ターゲット・データベースにコピーします。

- サブセット・ルール(指定されている場合)に基づき、データのサブセット化を実行します。

- サブセットの完了にに続いて、事前生成されたデータ・マスキング・スクリプトをターゲット・データベース上で連続して実行します。

- マスキング定義およびサブセット化ルールを適用すると、マスクされたデータベースはサイズが削減されます。

列ルールの適用

セキュリティ管理者として、大きいサイズの列を選択し、それにNULLまたは固定値を設定することによって、ターゲット指定されたサブセットを作成します。表ルールは、さらにデータベース・サイズを減らすためにも使用できます。サイズ減少の影響は、すぐに明白となり、最後のサブセットに適用されます。

1. サブセット定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 作成されたサブセット・ジョブを発行します。

2. サブセット定義を編集します。

a. 「表ルール」タブをクリックし、必要に応じて既存のオプションから選択します。

b. 「列ルール」タブをクリックし、次に「作成」をクリックします。

c. 大きいサイズの列を検索するためのフィルタ基準を指定し、結果表で目的の列を選択します。

d. 「マスキング・フォーマットの管理」をクリックし、ドロップダウン・リストからフォーマットを選択します。選択内容に適している場合、値を入力します。

e. 「OK」をクリックし、更新された領域の見積りを確認します。

3. 「エクスポート」オプションまたは「配置された削除」オプションのいずれかを使用して、サブセットを生成します。

結果をまとめると、次のようになります。

- 本番データのエクスポート・ダンプ/サブセットを生成します。

- 列ルールがターゲット・データベースに適用されます。

- 表ルールも適用する場合、結果となるサブセットには、表ルールと列ルールを組み合せた効果が反映されます。

インライン・マスキングを使用するサブセット定義のエクスポート

セキュリティ管理者として、再利用するためのサブセット定義をエクスポートします。

1. サブセット定義を作成します。次のことを意味します。

a. 適切なADMを選択します。

b. 作成されたサブセット・ジョブを発行します。

2. サブセット定義を編集します。

a. 領域の見積りを計算するためのルールを作成します。

b. 「データ・マスキング」タブで、マスキング定義を検索および選択します。システム検証では、複数のマスキング定義を使用する、重複した列をチェックします。

3. サブセット・ホームページでサブセット定義を選択し、エクスポートします。

サブセット定義は、次を含む可能性のあるXMLファイルとして、クライアント・マシンに保存されます。

- 選択したアプリケーションに関する情報

- ルールおよびルール・パラメータ

- 選択したマスキング定義

- nullに設定する列

- 前処理スクリプトおよび後処理スクリプト

列ルールを使用する場合、リスト内のマスキング定義が置き換えられます。

インライン・マスキングを使用するサブセット定義のインポート

セキュリティ管理者として、以前にエクスポートしたサブセット定義のレプリカを作成するために、サブセット定義XMLファイルをインポートします。

1. サブセット定義をインポートします。

2. エクスポートされたマスキング定義を含むエクスポートされたXMLテンプレートを選択します。システム検証では、次を行います。

- 複数のマスキング定義を使用する、重複した列をチェックします。

- 指定されたマスキング定義は、現在のサブセット・モデルと同じADMの一部であることを確認します。

3. サブセット・モデルを作成するジョブを発行します。

結果をまとめると、次のようになります。

- サブセット定義モデルを作成します。

- 指定したルールを適用し、領域の見積りを計算します。

- XMLの一部であったマスキング定義を記憶します。

サブセット・ダンプのインポート

セキュリティ管理者として、次のいずれかまたは両方を含むサブセット・ダンプをインポートします。

- 本番データベースのマスクされたバージョン

- 本番データベースのサブセット・バージョン

この例では、以前のエクスポート・ダンプを想定していることに注意してください。

1. サブセットのホームページで、「アクション」メニューからサブセット・ダンプのインポートを選択します。

2. 資格証明、ダンプ名を指定し、ダンプの場所を選択します。

3. インポート・タイプ、表領域オプション、およびログ・ファイルの場所の詳細を指定します。

4. ジョブをスケジュールし、発行します。

ジョブは、ダンプ・ファイルを読み取り、選択したターゲット・データベースにデータをロードします。

サブセット・スクリプト・バンドルの保存

セキュリティ管理者として、Enterprise Manager外部のターゲット・データベース上で実行できるように、サブセット・スクリプト・バンドルを保存します。

この例では、表ルールおよびマスキング定義を必要とするサブセット・モデルが存在することを前提としています。

1. サブセットのホームページで、「アクション」メニューから「生成」を選択し、次に「サブセット」を選択します。

2. モードのページで次のように入力します。

a. サブセット作成の方法を示します。

b. 使用する資格証明を指定します。

c. ルール・パラメータを適切に指定します。

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

3. パラメータのページで次のように入力します。

a. サブセット・エクスポートを保存する場所を選択します。

b. サブセットを外部に格納する場合、チェック・ボックスをクリックして、その場所を選択します。

c. エクスポート・ファイル名を指定します。%ワイルドカードを使用できます。

d. 最大ファイル・サイズおよびスレッド数を指定します。

e. ログ・ファイルを生成し、ログ・ファイル名を指定するかどうかを示します。

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

4. スクリプト・ファイル生成の進行状況に注意してください。完了したら、「ダウンロード」をクリックします。

5. SubsetBundle.zipファイルを保存する場所を指定します。

ライフサイクル管理

この項では、アプリケーション・データ・モデル、データ・マスキングおよびデータ・サブセッティング定義のライフサイクル管理について説明します。

Enterprise Managerユーザーが削除または変更された場合、ユーザーはアプリケーション・データ・モデル、データ・マスキングおよびデータ・サブセッティングの定義をシステム内の別のユーザーに再割当てできます。ただし、ユーザーがアプリケーション・データ・モデル、データ・マスキングおよびデータ・サブセッティングの定義を別のユーザーに再割当てしない場合、これらの定義はSYSMANユーザーに再割当てされます。

システム内の別のユーザーへのアプリケーション・データ・モデル、データ・マスキングおよびデータ・サブセッティング定義の再割当てを試みたとき、再割当てされたユーザーがすでに同じ名前の定義を持っていた場合は、元の定義の名前が変更されます。

たとえば、ユーザーAがADM1というアプリケーション・データ・モデルを持ち、ユーザーBもADM1という名前のアプリケーション・データ・モデルを持っているとします。ユーザーBを削除し、その定義をユーザーAに割り当てることを選択した場合、元の定義ADM1は、ADM1_Bという名前に変更されます。同じ名前を持つ元の定義は、接尾辞"_"を付けられ、削除されるユーザー名を付加されます。再割当ての後、ユーザーAは、ADM1およびADM1_Bの両方の定義を持つことになります。

索引

A C D E H I M O P R S U V W

A

- アプリケーション・データ・モデル(ADM)

- 「アプリケーション」表、表示および編集 1

- データベースの関連付け 1 , 2

- 作成

- 前提条件 1

- 定義 1

- 機密列の検出 1 , 2

- アプリケーション表の編集 1

- 手動での参照関係の追加 1 , 2

- その他のTDMコンポーネントとの関係 1

- 機密列

- 自動検出 1

- タイプの変更 1

- タイプの作成 1

- 手動での追加 1

- ソース・データベースのステータス 1

- アプリケーション表の表示 1

- 参照関係の表示 1

C

- 機密列のタイプの変更 1

- データ・マスキングでの本番データベースのクローニング 1

- 作成

- データ・マスキング定義 1

- データ・サブセット定義 1

- マスキング定義 1

- マスキング・フォーマット 1

- 機密列タイプ 1

D

- データ, データ・マスキングによる隠蔽 1

- Database Lifecycle Management Pack 1

- データ・マスキング

- マスキング定義への列の追加 1

- 拡張オプション 1

- 自動マスク 1

- カナダ社会保険番号 1

- クローニングおよびマスキング 1

- 本番データベースのクローニング 1 , 2

- 「マスキング定義の作成」ページ 1

- フォーマットの作成 1

- マスキング定義の作成 1 , 2

- 「データ・マスキング定義」ページ 1

- 「列マスクの定義」ページ 1

- 新しいフォーマットの定義 1

- 依存列, 追加 1

- 説明 1

- 確定的マスキング 1

- DM_FMTLIBパッケージ, インストール 1

- 暗号化シード 1

- パフォーマンスの評価 1

- フォーマット・エントリ・オプション 1

- データ・マスキング・テンプレートのインポート 1

- ISBN番号 1

- 主要なタスクの順序 1

- マスキング・フォーマット・ライブラリ, 説明 1

- マスキング定義, 説明 1

- 依存列のマスキング 1

- マスキング・フォーマット・テンプレート、使用 1

- 選択した列をグループとしてマスキング 1

- 最小限の権限 1

- 北米電話番号 1

- 他のOracleセキュリティ製品 1

- フォーマット定義のパターン 1

- 後処理関数 1

- マスク前スクリプトおよびマスク後スクリプト 1

- 事前定義済のマスキング・フォーマット 1

- 主キー 1

- 「乱数の生成」オプション 1

- セキュリティ管理者 1

- シャッフル・フォーマットの例 1

- 社会保障番号 1

- ステージング領域 1

- 置換フォーマット 1

- サポートされるデータ型 1

- イギリスの国民保険番号 1

- UPC番号 1

- アップグレード 1

- LONG列での使用 1

- ワークフロー 1

- データ・サブセット化

- 祖先および子孫表 1

- 祖先表のみ 1

- 定義の作成 1

- サブセット・テンプレートのエクスポート 1

- サブセットの生成 1

- サブセット・テンプレートのインポート 1

- ルールの指定 1

- 必要な権限 1 , 2

- サブセット・スクリプトの保存 1

- 容量の見積もり 1

- WHERE句の指定 1

- 確定的マスキング 1

- 機密列の検出 1 , 2 , 3

E

- アプリケーション表の編集 1

- エクスポート

- サブセット・テンプレート, データ・サブセッティング 1

H

- データ・マスキングによるデータの隠蔽 1

I

- インポート

- データ・マスキング・テンプレート 1

- サブセット・テンプレート, データ・サブセッティング 1

M

- 機密列を手動で追加 1

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

- マスキング定義

- クレジット・カード番号 1

- マスキング・フォーマット

- エントリ・オプション 1

- 事前定義済 1

O

- Oracle Data Masking and Subsetting Pack 1

P

- 後処理関数、データ・マスキング 1

- ADMを作成する前提条件 1

- 主キー, データ・マスキング 1

- 権限

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

- データ・マスキング用の最小 1

R

- 参照関係

- 手動での追加 1 , 2

- 表示 1

- マスク・データを使用した法規制に対するコンプライアンス 1

- 財務プライバシ権法(1978年) 1

S

- サーベンス・オクスリー法 1

- セキュア・テスト・データ管理 1

- セキュリティ

- マスク・データによるコンプライアンス 1

- データ・マスキング 1

- Oracle製品のリスト 1

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

- マスキング定義 1

- セキュリティ管理者, データ・マスキング 1

- 機密列

- タイプの変更 1

- タイプの作成 1

- 検出 1 , 2

- 自動検出 1

- 手動での追加 1

- 検出の実行 1

- ステージング領域, データ・マスキング 1

- 「ソース・データベースのステータス」列のステータス, ADM 1

- 置換フォーマット, データ・マスキング 1

- サポートされるデータ型, データ・マスキング 1

U

- アップグレード

- データ・マスキング 1

V

- 表示

- アプリケーション表 1

- 参照関係 1

W

- データ・サブセッティングのためのWHERE句 1

Oracleの法律上の注意点

コピーライト

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のPre-General Availability (一般提供前)版のドキュメントについて

このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle Partner Network Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティ

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。