Optim: IBM Optim Data Privacy Solution V2.1 のコンポーネントとその機能

IBM Optim Data Privacy Solution V2.1 は、機密情報をマスクしてテストデータを作成する機能を提供します。マスクの種類としては、データをルールに則って変換するルール・ベース・ポリシー、国によって異なる氏名や住所などが実在のデータに近い形で予め登録されてる表(ルックアップ表)にあるものと置き換えるルックアップ・ポリシー、さらにきめ細かくデータを変換するために利用可能なJavaScriptポリシーがあります。また、構成に使用するOptimデザイナーはアーカイブや抽出などの構成も行うことができ、その実行はIBM Optim Data Growth SolutionやIBM Optim Test Data Management Solutionと連携して行います。この記事では、IBM Optim Data Privacy Solution V2.1 のコンポーネントとその機能について説明します。

大川 昌弘, IM開発, ソフトウェア開発研究所, IBM

大川昌弘は、ソフトウェア開発研究所のデータベース関連製品開発部門に所属し、現在はIBM Optim製品群の品質保証および支援業務を担当しています。



高橋 孝, IM開発、ソフトウェア開発研究所, IBM

高橋孝は、ソフトウェア開発研究所のデータベース関連製品開発部門に所属し、現在はIBM Optim製品群の品質保証および支援業務を担当しています。



2010年 4月 28日

はじめに

IBM Optim Data Privacy Solution V2.1 は以下のコンポーネントから構成されています。

  • Optimデザイナー
  • Optim管理コンソール
  • Optim管理サーバー
  • Optimプロキシー
  • Optim Executor

これらのコンポーネントおよびIBM Optim Data Growth SolutionやIBM Optim Test Data Management Solutionとの関係を示したアーキテクチャーを図1に示します。

図1. IBM Optim Data Privacy Solution V2.1 のアーキテクチャー
図1. IBM Optim Data Privacy Solution V2.1 のアーキテクチャー

IBM Optim Data Privacy Solution V2.1 によるマスクの構成はOptimデザイナーを使用して行います。マスクの構成は、最終的にデータ管理サービス(あるいは単にサービスと呼びます)として定義されます。サービスはOptimデザイナーからOptim Executorを使用して実行することや、Optim管理サーバーに公開することができます。サービスを実行すると、Optim Executorは、ソースとして定義されたデータベースの表からデータを取得し、定義に応じてマスク処理を行った後、ターゲットとして定義されたデータベースの表に挿入または更新します。サービスのOptim管理サーバーへの公開は、後述するOptim管理サーバーのレジストリーとリポジトリーを指定して行います。公開されたサービスはOptim管理コンソールから実行依頼することができます。実行依頼を受けたOptim管理サーバーは、 Optimプロキシーに実行要求し、OptimプロキシーはOptim Executorを使用して実行します。 OptimプロキシーはOptim管理サーバーと違うマシンに配置することや、異なる複数のマシンに配置することができます。サービスをどのOptimプロキシーで実行させるかはOptimコンソールで設定することができます。

データのアーカイブや抽出等の構成もOptimデザイナーで行うことができます。この構成は、最終的に Optim相互運用性モデル(OIM)として定義されます。Optim相互運用性モデルの実行は、 LUW(Linux®, UNIX®, Windows®)やz/OSのIBM Optim Data Growth Solutionや IBM Optim Test Data Management Solutionと連携して行われます。アーカイブや抽出のほかに、削除、挿入、ロード、復元を行うことができます。詳細は、Optimデザイナー ユーザー・ガイドや IBM Optim Data Growth Solution, IBM Optim Test Data Management Solutionのマニュアルを参照してください。さらに、LUWのIBM Optim Data Growth SolutionやIBM Optim Test Data Management Solutionとの連携では、アーカイブや抽出等の定義情報をエクスポートしたりインポートすることができます。

それぞれのコンポーネントが動作するプラットフォームについては、 Optim Data Privacy Solution バージョン 2 リリース 1 のシステム要件(US)を参照してください。


Optimデザイナー

Optimデザイナーは、InfoSphere Data Architect(IDA)上に導入され、マスクやアーカイブ、抽出等の構成を行うことができます。

図2. Optimデザイナー
図2. Optimデザイナー

Optimデザイナーを起動するには以下のコマンドを発行します。

  • RedHat Linux
    [IDA導入ディレクトリー]/eclipse -product com.ibm.nex.designer.ui.Designer
  • Optim管理サーバー
    [IDA導入ディレクトリー]\eclipse.exe -product com.ibm.nex.designer.ui.Designer
    (スタート > すべてのプログラム > IBM Optim > Optim デザイナー)

マスクが定義されたサービスをOptimデザイナーから実行する場合、実行はOptim Executorを利用して行われるため、事前にOptim Executorを同じマシンに導入し、そのプログラムをOptimデザイナーに登録しておきます (「ウィンドウ」メニュー > 設定 > Optim > Optim Executor)。 Optim Executorのデフォルトの導入先は以下の通りです。

  • RedHat Linux
    /opt/IBM/Optim/executor/eclipse
  • Optim管理サーバー
    C:\Program Files\IBM Optim\executor\eclipse.exe

また、実行するサービスがルックアップ・ポリシーを含んでいる場合、同じマシンにOptim管理サーバーを導入するなどしてルックアップ表をローカルに構築します。ルックアップ・ポリシーを含んでいるかどうかは、サービスの定義にあるサービス計画で確認することができます。図3のようにLookup Policy Datastore (Data Store Policy)が定義されていれば、ルックアップ・ポリシーを含んでいます。図3の下部には、そのプロパティーが表示されており、ルックアップ表のデータベースに接続するためのデータ・ストアURLなどが定義されています。

図3. サービス計画
図3. サービス計画

アーカイブや抽出等が定義されたOptim相互運用性モデルの実行は、LUWの場合、IBM Optim Data Growth Solutionと IBM Optim Test Data Management Solutionの共通プログラム(PR0CMND.EXE)をOptimデザイナーから起動して行われます。そのため、事前にIBM Optim Data Growth SolutionやIBM Optim Test Data Management Solutionを同じマシンに導入し、 PR0CMND.EXEプログラムをOptimデザイナーに登録しておきます(「ウィンドウ」メニュー > 設定 > Optim > Optim pr0cmnd)。 PR0CMND.EXEプログラムのデフォルトの導入先は以下の通りです。

  • Windows
    C:\Program Files\IBM Optim\RT\BIN\PR0CMND.EXE

z/OSの場合、アーカイブや抽出等の処理はJCLを作成して、それをz/OSで実行させることで実現します。そのため、事前にz/OSへの接続情報やジョブ情報などをOptimデザイナーに登録しておきます (「ウィンドウ」メニュー > 設定 > Optim > z/OSバッチ・ホスト)。


Optim管理サーバー

Optim管理サーバーは、WebSphere Application Server Community Edition(WAS-CE)上で動作するWebアプリケーションです。 WAS-CEは、Optim管理サーバーと後述するOptim管理コンソールのオプション・フィーチャーとして同梱されています。 Optim管理サーバーとOptim管理コンソールを同じマシンに導入する際は、どちらか一方のWAS-CEを導入します。導入後、Optim管理サーバーのWARファイル ([Optim管理サーバー導入ディレクトリー]/server/app/management-server.war)をWAS-CEにデプロイし、実行することで使用可能となります。WARファイルのデプロイは、WAS-CEを起動した後、WebブラウザーからWAS-CEのコンソール(http://hostname:8080/console)を利用して行います。

WAS-CEを起動するには以下のコマンドを発行します。

  • Linux/UNIX (言語をUTF-8にして起動します)
    [導入ディレクトリー]/WebSphere/AppServerCommunityEdition/bin/startup.sh
  • Windows
    [導入ディレクトリー]\WebSphere\AppServerCommunityEdition\bin\startup.bat
    (スタート > すべてのプログラム > IBM Optim > WAS-CE の開始)

Optim管理サーバーは、WAS-CE上に、公開されたデータ管理サービスなどを保存するためのリポジトリーやルックアップ表を構築します。ルックアップ表はOptim置換データ・データベースとも呼ばれ、Optim管理サーバーの1つのフィーチャーとなっています。リポジトリーやルックアップ表は、WAS-CEで管理されるApache Derbyデータベース上に構築されます。また、レジストリーと呼ばれるものがあり、そこには、リポジトリーの場所、管理サーバー、プロキシーなどが登録されています。 Optimデザイナーからデータ管理サービスをOptim管理サーバーに公開する際は、このレジストリーとリポジトリーを指定します。レジストリーはリポジトリーの場所を保持していますので、Optimデザイナーから公開する際、レジストリーの場所からリポジトリーの場所を検索することもできます。デフォルトのレジストリーの場所とリポジトリーの場所は以下の通りです。

  • レジストリーの場所
    http://hostname:8080/server/registry
  • リポジトリーの場所
    http://hostname:8080/server/repository

Optim管理コンソール

Optim管理コンソールも、WebSphere Application Server Community Edition(WAS-CE)上で動作するWebアプリケーションです。 Optim管理サーバーと同一のWAS-CE上に導入することが可能です。Optim管理コンソールは、そのWARファイル ([Optim管理コンソール導入ディレクトリー]/console/app/optim.war)をWAS-CEにデプロイし、実行することで使用可能となります。

Optim管理コンソールは、Webブラウザーで操作します。URLは http://hostname:8080/optim/consoleで、操作するWebブラウザーにはAdobe Flash Playerを導入しておく必要があります。

図4. Optim管理コンソール
図4. Optim管理コンソール

ユーザー認証情報は、デフォルトではWAS-CE上に作成されたデータベース・プール optimConsoleDB の CONSOLE.OOB_USER と CONSOLE.OOB_USER_ROLE に定義します。このデータベース・プールは、Optim管理コンソールの初期起動の際に作成され、いくつかのユーザーも登録されます。このデータの参照・編集は、WAS-CEのコンソールの Embedded DB > DB Manager で行うことができます。詳細は「Optim Data Privacy Solution インストール・ガイド」を参照してください。

Optim管理コンソールでは、設定されたレジストリーに登録されているOptim管理サーバーやOptimプロキシーを使用可能としたり、データベースの接続に使用するドライバーを登録することができます。また、公開されたデータ管理サービスを実行させるために、Optim管理サーバーやOptimプロキシーを割り当てます。割り当てられたデータ管理サービスは、割り当て済みサービスとして管理され、実行可能となります。さらに、スケジュールすることも可能です。

実行するサービスがルックアップ表を使用しており、Optim管理サーバーが稼動するマシンと実行するOptimプロキシーが稼動するマシンが違う場合、サービス実行時にルックアップ表(Lookup Policy Datastore)への接続URLのホスト名を変更します (図5の画面のData Store URLのホスト名を変更)。

図5. Optim管理コンソール:サービス実行時のルックアップ表参照先の変更
図5. Optim管理コンソール:サービス実行時のルックアップ表参照先の変更

Optimプロキシー

Optimプロキシーは、Optim 管理コンソールからサービス実行時、Optim管理サーバーから呼び出され、Optim Executorを使用してサービスを実行します。 Optimプロキシーはデーモンとして起動しておきます。起動するコマンドは以下の通りです。

  • Linux/UNIX (言語をUTF-8にして起動します)
    [導入ディレクトリー]/eclipse -consoleLog
  • Windows
    [導入ディレクトリー]\eclipse.exe -consoleLog
    (スタート > すべてのプログラム > IBM Optim > Optim プロキシー)

Optimプロキシーが起動すると、eclipse.iniファイルに定義されたOptim管理サーバーに起動したことを通知します。eclipse.iniファイルには以下のようにOptim管理サーバーのレジストリーとリポジトリーを定義します。定義がなければローカルのOptim管理サーバーに通知します。

-Dcom.ibm.optim.registry.url=http://hostname:8080/server/registry
-Dcom.ibm.optim.repository.url=http://hostname:8080/server/repository

Optim ExecutorはOptimプロキシーと同一マシンに導入する必要があります。Optim Executorをデフォルト以外の場所に導入した場合は、Optimプロキシーのeclipse.iniファイルに以下のようにOptim Executorの場所を定義します。

-Dcom.ibm.nex.executor.location=/opt/IBM/Optim/executor/eclipse

Optim Executorのデフォルトの導入先は以下の通りです。

  • Linux/UNIX
    /opt/IBM/Optim/executor/eclipse
  • Windows
    C:\Program Files\IBM Optim\executor\eclipse.exe

Optim Executor

Optim Executorは、サービスを実行するコンポーネントで、OptimデザイナーやOptimプロキシーから呼ばれ、ソースとして定義されたデータベースの表からデータを取得し、定義に応じてマスク処理を行った後、ターゲットとして定義されたデータベースの表に挿入または更新します。


その他のフィーチャー

各コンポーネントには、以下のフィーチャーが含まれています。

  • 外部データ・ストア・サポート
    各コンポーネントに付いているフィーチャーで、デフォルトで導入されますが、これは同一マシンで1つ導入すれば十分です。また、LinuxやUNIXでは、そのbinディレクトリーをライブラリーパスに追加する必要があります。AIXはLIBPATH環境変数に、その他のLinux/UNIXはLD_LIBRARY_PATH環境変数に追加します。例えば、Optimプロキシーの外部データ・ストア・サポートをデフォルトのディレクトリーに導入した場合、以下のように設定します。
    • AIX
      LIBPATH=/opt/IBM/Optim/proxy/bin:$LIBPATH
    • その他のUNIX/Linux
      LD_LIBRARY_PATH=/opt/IBM/Optim/proxy/bin:$LD_LIBRARY_PATH

コマンドによるサービスの実行

Optimデザイナーには、サービスを実行することが可能なコマンドrunservice.shとrunsrevice.batが含まれています。runservice.shはLinux/UNIXで実行可能なシェルスクリプト、runservice.batはWindowsで実行可能なバッチファイルで、どちらもJava 1.6で動作するjarファイルを起動してサービスを実行します。このモジュールの導入先は以下の通りです。

  • RedHat Linux
    [IDA導入ディレクトリー]/optim/designer/runservice
  • Windows
    [IDA導入ディレクトリー]\optim\designer\runservice

Optimデザイナーが導入されていないマシンで動作させることもできます。その場合、上記にあるファイルを実行したいマシンにコピーして利用します。

このコマンドでサービスを実行するためには、Optimデザイナーで構成したサービスをOptim管理サーバーに公開し、Optimコンソールでそのサービスが使用するOptim管理サーバーとOptimプロキシーを割り当てておく必要があります。

例えば、UNIXで、デフォルトで導入したOptim管理サーバー optim1.server.com に登録したサービス service1を実行する場合、以下のコマンドを実行します。(Optim管理サーバーでは、サービスをバージョン管理しており、そのバージョンを1.0.0とします。)

# ./runservice.sh --url http://optim1.server.com:8080/server/job --service service1:1.0.0

コマンドのシンタックスの詳細は、「Optim管理コンソール ユーザー・ガイド」の「第4章 コマンド行の処理の使用」を参照してください。


構成例

ここでは、IBM Optim Data Privacy Solution V2.1 によるテストデータの作成を行う際の構成例を2つ挙げます。

図6は、実データが保持されているマシンにOptimの実行環境を構成し、実データと同じデータベースに、別のスキーマとしてテストデータを構築する例です。構築したテストデータはエクスポートして、テスト用のデータベースにインポートするなどします。

図6. 構成例1
図6. 構成例1

図7は、実データが保持されているマシンとは別のマシンにOptimの実行環境を構築し、そこにテストデータを構築する例です。

図7. 構成例2
図7. 構成例2

まとめ

IBM Optim Data Privacy Solution V2.1 は、機密情報をマスクしてテストデータを作成する機能を提供します。複数のコンポーネントが疎結合で連携して動作することから、柔軟な構成が可能となっています。また、IBM Optim Data Growth SolutionやIBM Optim Test Data Management Solutionと連携することで、アーカイブや抽出等の処理も行うことができます。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=485192
ArticleTitle=Optim: IBM Optim Data Privacy Solution V2.1 のコンポーネントとその機能
publish-date=04282010