第8回:応用!データ加工〔データマスキング〕

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar

使用ソフトウェア:DataMagic for Windows Ver.2.2.2
「DataMagic」を利用したデータマスキングについてご紹介します。
データマスキングとは何か、利用シーンと共にご説明した後、実際の設定方法を解説していきます。
※下記バージョンのDataMagicについては、次の記事をご参照ください。
DataMagic 応用!データ加工〔データマスキング〕(Ver.3.0.0)

はじめに

HULFT OrangeLab.運営チームの佐々木です。
「DataMagic」の記事を担当しています。

今回紹介するのはデータマスキングとなります。まずは利用シーンをご説明します。

開発やシステム構築などでテストを行うとき、テストに利用するデータは本番データにできるだけ近いものを用意することが望まれます。
そのためシステムの検証時には、本番データを抽出し、利用目的に合ったデータを用意します。

しかし個人情報が含まれる本番データをそのまま利用することはセキュリティの観点から当然NGです。
そこで、個人情報にあたる電話番号や住所などの文字列にマスキング処理を行うことで、テストなどにも利用することが可能となります。

コマンドなどを駆使してテストデータを作成することも不可能ではないのですが、もちろん、作成するための工数が掛かりますよね。
そこで、DataMagicを用いて、対象データの個人情報部分に対して、定めたルールでマスキングする方法をご紹介します。
DataMagicの入手先やインストール方法などについては、当ページ下部のDataMagicとGUIのインストールを参照してください。

今回の実践は下記イメージのようにCSVファイルを加工していきます。



今回使用するマスキングルールは以下の5つとなります。

準備

サンプルデータ[CSV形式]

格納先は任意ではありますが、以下のフォルダを作成してください。
サンプルデータ格納先
C:\work\SAMPLE\inputdata\
出力データ格納先
C:\work\SAMPLE\outputdata\

手順

Step01

タブボタンにある「アダプタ」を選択し「ファイル」から「CSV」を選びます。

Step02

操作メニューから「新規作成」を押下すると下記画面が起動します。
画面が起動しましたらIDと項目名を決め、適用ボタンを押下し入力定義を作成します。
IDは「SAMPLE_MSK_IN」としてます。

入力定義の項目名は以下の 9 つとなります。
  1. 契約コード
  2. 契約日
  3. 基本保険料
  4. 契約者氏名
  5. 契約者郵便番号
  6. 契約者住所1
  7. 契約者住所2
  8. 契約者住所3
  9. 契約者電話番号

Step03

次に出力定義の作成を行います。
今回は項目の変更などはなく加工のみとなりますので、入力定義を選択しコピーを行います。
コピー先IDを「SAMPLE_MSK_OUT」とします。



Step04

下記画面のようにCSVの入力定義と出力定義が追加されます。
これによりCSV定義データの準備ができました。

Step05

次はデータ加工情報を作成するため、タブボタンからデータ加工を選択します。
操作メニューから新規作成を選択すると次画面が表示されます。
入力ファイルを設定するため、「入力」ボタンをダブルクリックします。



Step06

IDにはStep02で作成したアダプタの入力情報を設定します。
ファイル名はサンプルとして用意したCSVのデータを指定します。

Step07

入力ファイルの設定は完了しました。
次は出力ファイルを設定するため、「出力」ボタンをダブルクリックします。

Step08

Step03で作成したアダプタの出力情報を設定し、出力ファイルの出力先を入力します。

Step09

入力ファイルと、出力ファイルの設定が終わりました。

Step12

抽出条件の●を出力条件の●へドラックしてつなげます。
下記画面のように出力ファイル定義と抽出条件を連結し、灰色に反転している抽出条件をダブルクリックします。



Step13

下図のようにメッセージが出力されます。
「はい」を押下し、全ての項目をマッピングします。

Step14

個人情報に対してデータ加工を行うため、「契約コード」「契約者氏名」「契約者住所2」「契約者電話番号」を加工します。
最初に「契約コード」を選択し、画面右上にある「出力情報」欄の「関数」をダブルクリックします。

Step15

下記画面が表示されますので、関数欄に「REPLACE_REG{^(..).....(.*)$,$1*****$2}」と入力し、「OK」ボタンを押下します。

第4回の記事でも紹介していますが、「REPLACE_REG{a,b}」という関数は「a」を「b」に置き換える関数です。
今回は契約番号内の先頭2桁と末尾4桁を残し、間のデータは「*」に変換しています。
「()」と「$1」「$2」を使用し、今回のように対象を複数指定することも可能です。

※本関数の詳細や、その他のコマンドについては「DataMagic - リファレンスマニュアル -」を参照ください。

Step16

Step15と同様に、「契約者氏名」にも関数を設定して「OK」ボタンを押下します。

入力する関数は「REPLACE_REG{^.(.*).$,*$1*}」です。
ここではStep15と逆に契約者氏名の先頭1文字と末尾1文字を「*」に置き換えています。

Step17

次に「契約者住所2」を設定します。
Step15、Step16と同様に、マンション名にも関数を設定して「OK」ボタンを押下します。

入力する関数は「REPLACE_REG{^(.).(.).(.).(.*)$,$1*$2*$3*$4}」です。
ここでは一文字置きに、「*」に置き換えています。

Step18

最後に「契約者電話番号」マッピングを表す線を選択し、メニューから「関係線解除」を選びます。



関係線の解除を行いましたら出力情報設定を開き、固定値として「99-9999-99」を設定して「OK」ボタンを押下し設定を保存します。

Step19

全ての設定が終わりましたら、データ加工画面の実行ボタンを押下し、加工結果を確認します。

Step20

実行すると下記画面が表示されますので、出力データを確認してください。

Step21

下記は変更前と変更後のデータです。
マスキングルールに合わせて加工された内容が確認できると思います。

さいごに

今回は第4回の記事で一度紹介したREPLACE_REG関数の使用方法を掘り下げてみましたが如何でしたでしょうか?
マスキング以外にも、様々な加工に応用できる関数ですので、是非この他の便利な使い方を見つけてみてください。

サンプルデータ

サンプルデータはzip形式での提供となります。解凍してからご利用ください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント