目次


Optim Data Privacy Solution for SAP Applications を利用したテスト・開発環境での機密情報保護

Optim Data Privacy Solution for SAP Applications を利用したマスク処理によって SAP 人材管理 HR マスタデータの個人情報を保護する

Comments

1. はじめに

IBM Optim Data Privacy Solution(以下、Optim DP)は、データベースに格納された機密データを架空データに変換することで機密情報保護を実現するソリューションです。この架空データへの変換をマスク処理と呼びます。

IBM Optim Data Privacy Solution for SAP Applications(以下、Optim DP for SAP)は、テスト環境や開発環境の SAP Human Capital Management(以下、HCM)モジュールで使用されている個人情報を保護するソリューションです。名前、住所、生年月日、社会保障番号(米国の制度)、給与、銀行情報などの個人情報をマスク処理して保護します。Optim DP for SAP は、Optim DP のマスク処理の機能を拡張することで、これらの個人情報保護の機能を実現しています。

Optim DP for SAP 1.1.2 では、新機能として、SAP HCM モジュールでの日本語のマスク処理が可能となりました。単に日本語を正しく変換できるだけではなく、マスク処理で日本語特有の整合性を維持できるようになりました。たとえば、日本人の漢字名とカタカナ名の対応づけを維持したままのマスク処理が可能になっています。地名のマスク処理も同様に、漢字とカタカナの対応づけが正しく維持されます。また、日本人家族情報をマスク処理するためのデータ管理サービスも新たに追加されました。

この記事では、Optim DP for SAP の導入と構成およびマスク処理を実行します。Optim DP for SAP は Windows XP 上の Optim Studio だけをサポートしていますので、最も単純な構成として、ここでは Optim エージェントと Optim 管理サーバーも Windows XP に導入します。(図 1.)次に、SAP HCM モジュールが使用する人材管理 HR マスタデータに格納された日本人の個人情報が変換されていることを確認します。最後に、カスタマイズ方法として、マスク処理する表や列の追加方法とマスク処理対象を SAP クライアントで絞り込む方法を紹介します。

図1. 全体の構成
図1. 全体の構成
図1. 全体の構成

2. 導入

Optim DP for SAP のマスク処理の機能は、Optim DP のマスク処理の機能を拡張することで実現されています。そのため、Optim DP for SAP を導入する前に、Optim DP を導入しておかなければなりません。その際、バージョンの整合性がとれていることが必要で、Optim DP 1.2.2 がOptim DP for SAP 1.1.2 の前提となっています。

さらに、Optim DP for SAP 1.1.2 の新機能である日本語のマスク処理には、 ルックアップ・マスク処理のための辞書データの更新が必要です。

したがって、Optim DP for SAP バージョン 1.1.2 は以下の手順で導入します。

  1. Optim Data Privacy Solution を導入します。
  2. ルックアップ・マスク処理用辞書を更新します。
  3. Optim Data Privacy Solution for SAP Applicationsを導入します。

2.1 Optim Data Privacy Solution 1.2.2 の導入

Optim DP 1.2.2 の導入は、導入プログラムのグラフィカル・ユーザー・インターフェースを使用しますので、いくつか注意点はありますが非常に簡単です。導入プログラムを起動するには、install.exe を実行してください。

導入するコンポーネントを選択する画面(図2.)では、Optim エージェント、Optim 管理サーバー、Optim Studio を選択します。Optim Studio 翻訳パックは必須ではありませんが、Optim Studio のユーザー・インターフェースを日本語化したい場合には選択してください。

マスク処理に高いパフォーマンスが要求される場合には、Optim エージェントがマスク対象のデータベースに高速接続できることと、Optimエージェントと Optim 管理サーバーが別々のコンピュータで分散稼働することが望まれます。この記事では、簡単な手順で Optim DP for SAP の動作を確認することを目的としていますので、すべてのコンポーネントを同一のコンピュータに導入します。(図 1.)

図2. コンポーネントの選択
図2. コンポーネントの選択
図2. コンポーネントの選択

インストール・フォルダーを指定する画面(図3.)では、指定したフォルダー名を記録しておいてください。Optim DP for SAP の導入プログラムに、Optim DP のインストール・フォルダーを指定する画面があります。

図3. インストール・フォルダーの指定
図3. インストール・フォルダーの指定
図3. インストール・フォルダーの指定

Optim エージェントの構成と Optim 管理サーバーの構成も、この導入プログラムの手順にしたがっておこない、導入プログラムを最後まで進めて完了してください。

2.2 ルックアップ・マスク処理用辞書の更新

ここでは、ルックアップ・マスク処理のための辞書データを更新します。

Optim DP 1.2.2 とともに提供される標準のルックアップ・マスク処理用辞書には、日本語として漢字のデータだけが含まれています。Optim DP for SAP 1.1.2 の新機能には、カタカナやローマ字でのルックアップ・マスク処理が含まれますので、そのためのカタカナやローマ字の辞書データが必要になります。

更新のための辞書データは、 Optim Drop-In 番号 OSOA-01.02.02-001 を指定して IBM サポートから入手してください。この更新用辞書データは、標準のルックアップ・マスク処理用辞書のデータに含まれる人名や住所に、カタカナやローマ字のデータが追加されたものになっています。

以下の手順で更新します。

  1. Optim 管理サーバーが起動中の場合は停止させます。Optim 管理サーバーは、Optim DP の導入プログラムで構成をおこなうときに、自動で起動されています。
  2. 必要に応じて元に戻せるように、標準の辞書をバックアップしておきます。辞書は Optim DP のインストール・フォルダー下のdatabases\optim フォルダーに置かれていますので、Optim DP を規定フォルダーに導入した場合は C:\Program Files\IBM\Optim\databases\optim にあります。ここでは、単に optim フォルダーの名前を optim.org に変更しておきます。
  3. Optim Drop-In で提供された更新用辞書を optim というフォルダー名のまま変更せずに、databases フォルダーにコピーします。(図4.)
図4. ルックアップ・マスク処理用辞書の更新
図4. ルックアップ・マスク処理用辞書の更新
図4. ルックアップ・マスク処理用辞書の更新

2.3 Optim Data Privacy Solution for SAP Applications 1.1.2 の導入

Optim DP と Optim DP for SAP では、マスク処理のため設定や実行をOptim Studio というコンポーネントでおこないます。Optim Studio はマスク処理に必要な設定ファイルや実行のためのファイル群を、ワークスペースと呼ばれるフォルダーに生成します。Optim DP for SAP の導入プログラムでは、Optim Studio コンポーネントの実体であるプログラムの一部とワークスペースの一部を変更します。したがって、事前に Optim DP を導入しておくことに加えて、一度 Optim Studio を起動してOptim DP 標準のワークスペースを作成しておく必要があります。

Optim Studio の起動には OptimStudio.exe を実行します。Windows の[スタート]メニューからも実行できます。(図5.)

図5. OptimStudio.exe の起動
図5. OptimStudio.exe の起動
図5. OptimStudio.exe の起動

ワークスペースは、Optim Studio の起動時にワークスペース・ランチャー(図6.)で指定します。

図6. ワークスペース・ランチャー
図6. ワークスペース・ランチャー
図6. ワークスペース・ランチャー

「Optim サンプル・データベースの初期化指定」ダイアログでは「はい(Y)」を選択します。(図7.)

図7. Optim サンプル・データベースの初期化指定
図7. Optim サンプル・データベースの初期化指定
図7. Optim サンプル・データベースの初期化指定

ここまでで、Optim DP標準のワークスペースが作成されましたので、Optim Studio は終了させてください。

次に、Optim DP for SAP 1.1.2 を導入します。

Optim DP for SAP 1.1.2 の導入にも、導入プログラムのグラフィカル・ユーザー・インターフェースを使用します。導入プログラムを起動するには、install.exe を実行してください。

「Choose Optim Install Folder」の画面では、Optim DP が導入されているフォルダーを指定します。(図8.)Optim DP の導入プログラムは、図3. で指定されたインストール・フォルダーに Optim という名前のサブ・フォルダーを作成して Optim DP を導入しています。したがって、Optim DP を規定フォルダーに導入した場合には、図8. の画面では C:\Program Files\IBM\Optim を指定します。

図8. Choose Optim Install Folder
図8. Choose Optim Install Folder
図8. Choose Optim Install Folder

「Choose a Workspace Folder」の画面では、事前に作成した Optim DP 標準のワークスペースを指定します。(図9.)ワークスペース・ランチャー(図6.)で指定したフォルダーと同じフォルダーをここでも指定します。

図9. Choose a Workspace Folder
図9. Choose a Workspace Folder
図9. Choose a Workspace Folder

導入プログラムを最後まで進めて完了してください。

Optim DP for SAP の導入プログラムによって加えられた Optim Studio コンポーネントへの変更とワークスペースへの変更を有効にするために、導入後に一度だけ OptimStudio.exe-clean オプションを指定して起動します。Windows の[スタート]メニューから実行する場合にも、[ファイル名を指定して実行]から起動して -clean オプションを指定します。(図10.)

図10. OptimStudio.exe -clean の起動
図10. OptimStudio.exe -clean の起動
図10. OptimStudio.exe -clean の起動

Optim Studio の起動後すぐに終了してかまいません。これで、Optim DP for SAP 1.1.2 の導入が完了しました。

2.4 導入後の確認

ここでは、Optim DP for SAP が正しく導入されたことを確認します。

Optim Studio を起動して「Optim エクスプローラー」ビューで以下の変更が確認できれば、正しく導入が完了しています。

  • Japanese Identity Model という名前のデータ・プライバシー・ポリシーが作成されている。(図11.)
  • DP_SAP_HR.rdsm と DP_SAP_HR_PROP.rdsm という名前のリレーショナル・モデルが作成されている。(図12.)
  • 12 個のデータ・アクセス・モデルと 12 個のデータ管理サービスが作成されている。(図13.)
図11. データ・プライバシー・ポリシー
図11. データ・プライバシー・ポリシー
図11. データ・プライバシー・ポリシー
図12. リレーショナル・モデル
図12. リレーショナル・モデル
図12. リレーショナル・モデル
図13. データ・アクセス・モデルとデータ管理サービス
図13. データ・アクセス・モデルとデータ管理サービス
図13. データ・アクセス・モデルとデータ管理サービス

3. マスク処理の構成

Optim DP for SAP を使用してマスク処理を実行するには、JDBC 接続の構成とスキーマの変更によるリレーショナル・モデルの作成が必要です。どちらの手順も、Optim Studio でおこないます。

3.1 JDBC 接続の構成

Optim DP for SAP は SAP システムの背後で稼働しているデータベースに JDBC 接続し、そこに格納されている個人情報を更新することでマスク処理を実行します。そのため、Optim Studio からデータベースへの JDBC 接続の設定を作成します。また、この接続設定は Optim エージェントがマスク処理を実行するときにも使用されます。

Optim Studio を起動し「データソース・エクプローラー」ビューを開きます。ビュー内の「データベース」を右クリックし、メニューから「新規」を選択します。表示される新規接続プロファイル・ダイアログでは、「SQL モデル- JDBC 接続」を選択します。

「新規 JDBC 接続プロファイル」ウィザードでは、名前を指定して次の画面に進み、SAP システム背後のデータベースへの接続情報を指定します。(図14.)

図14. 新規 JDBC 接続プロファイル
図14. 新規 JDBC 接続プロファイル
図14. 新規 JDBC 接続プロファイル

この画面では JDBC ドライバーの指定も必要ですが、最初に右上の「…」ボタンをクリックして「ドライバー定義」ダイアログを起動し、ドライバー定義を作成しておきます。この記事では DB2 V9.1 のドライバー定義を作成しておきます。(図15.)

図15. ドライバー定義
図15. ドライバー定義
図15. ドライバー定義

ドライバー定義の作成で参照する JDBC ドライバーは、Optim DP のインストール・フォルダー下のstudio\driversフォルダーにあります。

3.2 スキーマ変更によるリレーショナル・モデルの作成

リレーショナル・モデルには、マスク処理の対象となるデータベース内の表や列の定義と、それらに適用されるマスク処理の設定が含まれます。Optim DP for SAP が提供するマスク処理のほとんどは DP_SAP_HR.rdsm に設定があり、DP_SAP_HR_PROP.rdsm にはDP_SAP_HR.rdsm によるマスク結果を関連する表や列に伝搬させるための設定だけがあります。

ここでは、Optim DP for SAP が提供しているリレーショナル・モデルを元にして、そのスキーマをマスク処理の対象となるデータベースのスキーマに一致させることで、新たなリレーショナル・モデルを作成します。新たなリレーショナル・モデルには、元のリレーショナル・モデルとマスク処理の対象となっているデータベースに共通な表や列の定義と、それらに適用されるマスク処理の設定だけが含まれます。Optim DP for SAP では、元となったリレーショナル・モデルに関連するデータ・アクセス・モデルとデータ管理サービスも提供されていますので、それらの複製も同時に作成されます。

最初に、DP_SAP_HR.rdsm のスキーマを変更してリレーショナル・モデルを作成します。

Optim Studio を起動して「Optim エクスプローラー」ビューを開きます。ビュー内の DP_SAP_HR.rdsm をダブル・クリックしてエディタを開き、オブジェクト・タブに切り替えたあと、右側の「スキーマの変更」ボタンをクリックします。(図16.)

図16. スキーマの変更
図16. スキーマの変更
図16. スキーマの変更

「リレーショナル・データ・モデルのスキーマの変更」ウィザードでは、JDBC 接続プロファイルを選択して「接続」ボタンをクリックします。接続が成功すると表示されるスキーマ一覧では、マスク処理の対象スキーマを選択しますが、通常は SAP SID の先頭に文字列「SAP」をつけたスキーマ名を選択します。残りの画面では、新たに作成されるリレーショナル・データベース・モデルの名前とデータ管理ゾーンの名前を指定して、最終画面まで完了します。この記事では、リレーショナル・データベース・モデルの名前には SAPERP_DP_SAP_HR を使用し、データ管理ゾーンの名前にはスキーマの変更の実行日時から自動生成された規定値をそのまま使用します。

同様に、DP_SAP_HR_PROP.rdsm のスキーマの変更も実行します。作成されるリレーショナル・モデルの名前には、SAPERP_DP_SAP_HR_PROP を指定します。

DP_SAP_HR.rdsm と DP_SAP_HR_PROP.rdsm のスキーマの変更が完了すると、それぞれから新たなリレーショナル・モデルが作成され関連するデータ・アクセス・モデルとデータ管理サービスも作成されます。(図17.)

図17. 生成されたリレーショナル・モデル、データ・アクセス・モデル、データ管理サービス
図17. 生成されたリレーショナル・モデル、データ・アクセス・モデル、データ管理サービス
図17. 生成されたリレーショナル・モデル、データ・アクセス・モデル、データ管理サービス

4. マスク処理の実行

スキーマの変更で作成されたデータ管理サービスを実行することで、マスク処理を実行します。データ管理サービスは、Optim 管理コンソールから実行することもできますが、この記事では Optim Studio を使用した実行方法を紹介します。Optim 管理コンソールを使用した実行方法については Optim 管理コンソールを参照してください。

データ管理サービスは、以下のようにマスク処理の対象となる情報の種類ごとに分類されています。

  • Addresses
  • Applicant Info
  • Applicant Info Prop
  • Basic Pay
  • Capital Formation
  • Employee Personal Data
  • Employee Personal Data Prop
  • Employee Work Info
  • External Transfers
  • Family Personal Data
  • Japanese Family Personal Data
  • Previous Job Info

これらのうち、必要なマスク処理に応じて特定のデータ管理サービスだけを実行することもできますし、すべてを実行することもできます。

ただし、実行順に注意が必要なデータ管理サービスの組み合わせがあります。Employee Personal Data は、社員名などのマスク処理を実行するデータ管理サービスですが、社員名などのマスク結果を関連する箇所に伝搬させる必要があります。このために Employee Personal Data の実行後は Employee Personal Data Prop を実行しなければなりません。同様に、Applicant Info Data の実行後は Applicant Info Data Prop を実行しなければなりません。その他のデータ管理サービスは、どのような順番で実行してもかまいません。

マスク処理の要求は、Optim Studio から Optim 管理サーバーを経由して Optim エージェントに伝えられ、実際の処理は Optim エージェントがおこないます。したがって、マスク処理を実行するときには、最初に Optim エージェントと Optim 管理サーバーを起動しておきます。(図18. 図19.)

図18. Optim エージェントの起動
図18. Optim エージェントの起動
図18. Optim エージェントの起動
図19. Optim 管理サーバーの起動
図19. Optim 管理サーバーの起動
図19. Optim 管理サーバーの起動

次に、実行しようとするデータ管理サービスをデプロイします。Optim 管理サーバーと Optim エージェントは Optim Studio と同じコンピュータに導入してありますので、ここでは、ローカルにデプロイします。デプロイすべきデータ管理サービスを右クリックして、メニューから「ローカルにデプロイ」を選択します。(図20.)

図20. データ管理サービスのデプロイ
図20. データ管理サービスのデプロイ
図20. データ管理サービスのデプロイ

最後に、デプロイ済みのデータ管理サービスを実行します。実行すべきデータ管理サービスを右クリックして、メニューから「サービスの実行」を選択します。(図21.)

図21. データ管理サービスの実行
図21. データ管理サービスの実行
図21. データ管理サービスの実行

表示される「コピー・サービスの実行」ダイアログで、「サービスの実行ボタン」をクリックしてデータ管理サービスを起動します。(図22.)

図22. コピー・サービスの実行
図22. コピー・サービスの実行
図22. コピー・サービスの実行

初めてデータ管理サービスの実行をするときには、「サービスに必要な成果物」ダイアログが表示されます。その場合、「はい(Y)」を選択して、サービスに必要な成果物として Identity Model と Japanese Identity Model のデプロイを続行します。(図23.)

図23. サービスに必要な成果物
図23. サービスに必要な成果物
図23. サービスに必要な成果物

実行時間は、データ管理サービスの種類とマスク処理の対象となるデータ量によって異なります。Optim Studio からマスク処理の完了を確認することはできませんので、Optim エージェントのコンソール出力やコンピュータの CPU 使用率から判断してください。Optim 管理コンソールを使用している場合には、データ管理サービスの実行状況がモニターできますので、処理を完了したかどうかについて確認ができます。

5. マスク処理の結果確認

マスク処理の結果は SAP GUI を使って確認できます。ここでは、SAP GUI に表示される個人情報をマスク処理の前後で対比する表を使って確認します。

5.1住所のマスク処理結果

表 1. は、Addresses データ管理サービスを実行した場合のマスク処理結果の例です。SAP GUI 住所情報照会画面で同一人物の住所情報の表示が、どのように変化したかを対比させています。

マスク処理によって、住所情報が全く別の住所に変換されていることがわかります。その際、マスク処理後の住所でも漢字とカタカナによる読みの整合性が保たれています。

表 1. SAP GUI 住所情報照会画面でのマスク処理結果の例
SAP GUI 住所情報 照会マスク処理前のオリジナル・データマスク処理後のデータ
住所(漢字)大和市福津市
下鶴間宮司ヶ丘
1623-14東202
住所(カタカナ)ヤマトシフクツシ
シモツルマミヤジガオカ
1623-14ヒガシ202

5.2氏名などのマスク処理結果

表 2. は、Employee Personal Data データ管理サービスを実行したあと、Employee Personal Data Prop データ管理サービスを実行した場合の、マスク処理結果の例です。SAP GUI 個人データ情報照会画面で同一人物の個人データ情報の表示が、どのように変化したかを対比させています。

姓、名、氏名、旧姓、戸籍のすべての項目で、マスク処理後には全く別の人名に変換されていることがわかります。その際に、漢字、カタカナ、ローマ字の整合性が保たれている点は住所のマスク処理と同様です。

姓と戸籍には、マスク処理前に全く同じデータが表示されていました。この同一データが表示されていた関係が、マスク処理後でも保持されています。

マスク処理後の氏名では、マスク処理で変換された後の姓と名を結合したものが表示されています。これは、Employee Personal Data データ管理サービスによって得られた姓と名のマスク結果を、Employee Personal Data Prop データ管理サービスによって氏名に伝搬させることで実現されています。

表 2. SAP GUI 個人データ情報照会画面でのマスク処理結果の例
SAP GUI 個人データ情報 照会マスク処理前のオリジナル・データマスク処理後のデータ
漢字佐藤笠田
カタカナサトウカサダ
ローマ字SATOHKASADA
漢字美香
カタカナミカミヤコ
ローマ字MIKAMIYAKO
氏名佐藤 美香笠田 京
旧姓漢字鈴木小田倉
カタカナスズキオダクラ
ローマ字SUZUKIODAKURA
戸籍漢字佐藤笠田
カタカナサトウカサダ
ローマ字SATOHKASADA

5.3その他のマスク処理

Optim DP for SAP では、住所や氏名以外のデータ管理サービスも数多く提供されています。Japanese Family Personal Data は、Optim DP for SAP 1.1.2 の新機能として、日本人家族情報をマスク処理するために追加されたデータ管理サービスです。

これらの実行結果も SAP GUI の照会画面で確認できます。

6. カスタマイズ

6.1 マスク処理する表や列の追加

Optim DP for SAP は、多くのマスク処理の設定を提供していますが、追加の表や列に対してマスク処理の設定を作成することもできます。Optim DP for SAP のマスク処理機能は Optim DP の拡張機能として実現されていますが、Optim DP のマスク処理機能をそのまま使用することもできるからです。

手順の大きな流れは以下の通りですが、詳細は Optim DP のマニュアルなどの資料を参照してください。

  1. マスク処理を追加する表を含めたリレーショナル・モデルを新規作成します。
  2. リレーショナル・モデルに含めたマスク対象の表に、プライバシー・ポリシーを適用します。
  3. プライバシー・ポリシーを適用したリレーショナル・モデルを使用して、データ管理ゾーン、データ・アクセス・モデル、データ管理サービスを新規作成します。
  4. 作成したデータ管理サービスを実行します。

このように、追加のデータ管理サービスを作成したい場合には、データ・プライバシー・ポリシーを使用したデータのマスク手法が参考になります。

6.2 マスク処理対象を SAP クライアントで指定

Optim DP for SAP がマスク処理の対象とするデータは、データ・アクセス・モデルの SQL 照会で決定されます。

たとえば、以下の手順で Addresses データ・アクセス・モデルの SQL 照会を表示してみます。

  1. 「Optim エクスプローラー」ビューのデータ・アクセス・モデルにある Addresses.rdam をダブル・クリックしてエディタを開きます。
  2. 開いたエディタの「SQL 照会」タブを開きます。(図24.)
  3. エディタ内の Addresses_ReferencePA0006.sql をダブル・クリックして SQL ファイル・エディタで開きます。
図24. 「SQL 照会」タブ
図24. 「SQL 照会」タブ
図24. 「SQL 照会」タブ

リスト 1. は、SQL ファイル・エディタで開かれた Optim DP for SAP が標準で提供するAddresses_ReferencePA0006.sql の SQL 照会です。

Optim DP for SAP が提供する標準のデータ・アクセス・モデルでは、すべての SAP クライアントのデータがマスク処理の対象となっています。

リスト 1. 標準の SQL 照会
SELECT
    *
    FROM
    "SAPERP"."PA0006"

この SQL 照会に WHERE 句を追加して、マスク処理の対象を特定の SAP クライアントのデータに限定することができます。リスト 2. では、SAP クライアント 800 にマスク処理を限定する条件が追加されています。

リスト 2. マスク対象の SAP クライアントを限定した SQL 照会
SELECT
    *
    FROM
    "SAPERP"."PA0006"
    WHERE
    "SAPERP"."PA0006"."MANDT"=’800’

SQL ファイル・エディタで開いている標準の SQL 照会を、リスト 2. に示した SQL 照会に変更して保存します。これにより、Addresses データ・アクセス・モデルを参照している Addresses データ管理サービスの実行では、マスク処理の対象が SAP クライアント 800 のデータに限定されます。

7. おわりに

この記事では、Optim DP for SAP を導入し、データ管理サービスを実行しました。特に、Optim DP for SAP 1.1.2 の新機能として、日本語特有のマスク処理に注目しながら、ルックアップ・マスク処理用辞書の更新や、住所や名前などのマスク処理結果の確認をしました。

テスト環境や開発環境の SAP HCMモジュールで使用されている個人情報の保護が、Optim DP for SAP を活用して非常に簡単にできることを紹介しました。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=556450
ArticleTitle=Optim Data Privacy Solution for SAP Applications を利用したテスト・開発環境での機密情報保護
publish-date=10292010