こんにちは。インサイトテクノロジーの松尾です!
札幌の2022年の夏は、今思ってみると涼しかったですかね。もうお盆を過ぎてしまいましたが、特に扇風機だけでも寝苦しいということはありませんでした。というか、既にもう肌寒い日もありますね・・・。
本ブログでは Insight Data Masking で CSV ファイルをマスキングする方法についてデプロイから含めてご紹介します。
AWS の環境でトライアルを行う際には、このチュートリアルに従うことで、環境の起動(デプロイ)からマスキングの実行までを行うことができます。
では、早速やってみましょう!
Insight Data Masking のセットアップ
Insight DM Manager サーバーの起動
Insight Data Maskingは以下のような構成で構築します。なお SSH(22) は管理コマンド実行時などに使用するのみで、通常は使用しません。
AWS Marketplace の Insight Data Masking (BYOL) より、EC2インスタンスを起動します。
なお、推奨スペックは以下となります。
- インスタンスタイプ: t3.xlarge (t3.medium 以上のインスタンスタイプを選択が可能です)
- セキュリティグループ: ssh(22), http(80) / https(443)
- ストレージ: 50GB 以上
ライセンスの適用
Insight DM Manager を利用するには、有効なライセンスが必要なので、起動時に設定します。(トライアルライセンスをご希望の方は Insight Data Maskingに関するお問い合わせ からご連絡ください)
- Web コンソール(http:///)にアクセスするとライセンス適用画面が出ますので、ライセンスキーを入力します。正しいキーを入力すると、ログイン画面へアクセス可能となります。
- ログイン画面にて以下の情報を入力することで、予め用意された管理者ユーザーでログインが可能です。
- メールアドレス: admin@masking.com
- パスワード: <インスタンスID>
ユーザーの作成
マスキング設定を行うための一般ユーザーの作成を行います。
- Insight DM Manager の Web コンソールに、管理ユーザーでログインします。
- ログイン後の画面、もしくは左メニューより、”ユーザー管理” を選択します。
- 画面右上の “追加” をクリックし、ユーザー名とメールアドレス(メールアドレスはログインIDとして利用される)を入力します。
- なお、作成したユーザーのパスワードが表示されるのでメモしておきます。
マスキングの実行
プロジェクトの作成
作成したユーザーでログインを行い、プロジェクト(マスキングの設定を管理する単位)を作成します。
- 画面中央の “新規プロジェクト名” をクリックし、新規プロジェクト名とメモを入力して “作成” をクリックします。
- 作成完了後、基本設定画面が表示されます。
データファイルのアップロード
次にマスキング対象の CSV ファイルをInsight DM Managerへアップロードします。
- 左メニューより “基本設定” をクリックします。
- 「プロジェクト名」の下にある “CSV” のタブを選択します。
- 画面右の “追加” をクリックし、ストレージを選択して “アップロード” を実施します。
- ストレージ: 「パブリック」ストレージは全ユーザーが作成・修正が可能、「プライベート」ストレージは現在のユーザーのみアクセス可能
- マスク対象のファイルをドラッグアンドドロップするか、”アップロード” をクリックしてファイルを選択します。
- なおアップロードしたCSVファイルは以下のようなイメージです。
"会員ID","氏名","氏名カナ","住所","住所ふりがな","電話番号","出身地","性別","年齢","健康保険証番号","運転免許証番号","マイナンバー","旅券番号","クレジットカード番号","メールアドレス","生年月日","法人名","銀行口座番号","パスワード"
"8577843435","渋沢 栄一","シブサワ エイイチ","埼玉県深谷市下手計1204","さいたまけんふかやししもてばか","070-0012-3456","福島県","男性","30","6221634","730219085300","257577126195","TG9090960","4111111111111111","e-shibusawa@aswnvv.co.jp","1965/08/09","稲荷神社","9853964","$2y$10$h8wf/VYMqc.3NT0VytdE3231MrS3sU/tItsWB2RcnBfGSoCA/O4Zv"
"4005303368","津田 うめ子","ツダ ウメコ","東京都小平市津田町2-1-1","とうきょうとこだいらしつだまち","03-1234-5678","千葉県","女性","17","39378823","905318998210","555449109203","TN9455487","4242424242424242","u.tsuda63@nwwkeh.sm.jp","1998/08/23","株式会社トーコー運輸","7770864","$2y$10$PRmKLbUdkOL.3Y5DOllt1ptPIJWy0NgqS7ZKpQ.JRI0GW3tmnbw49"
"1703301249","北里 柴三郎","キタザト シバサブロウ","熊本県阿蘇郡小国町北里3199","くまもとけんあそぐんおぐにまちきたざと","080-0011-2222","新潟県","男性","7","63041628","404446018940","515354865971","MI6251809","5555555555554444","kitasato4020@qkao.co.jp","1936/12/29","A・Zコーポレーション株式会社","0519297","$2y$10$a2V1zvyenIB8lkwlyBWF/Ye3DNHRoxdwqT2s2Oi4kVSsVs3OFS7Cg"
"1666063943","樋口 一葉","ヒグチ イチヨウ","東京都台東区竜泉3丁目18番4号","とうきょうとたいとうくりゅうせん","03-1111-2222","新潟県","女性","65","32396111","237743958490","654385038720","MS2694770","378282246310005","i.higuchi1643@zgpaex.fh.jp","1961/03/02","有限会社杉江建設工業","9804731","$2y$10$r6D99DCkRwg14rWl4MpIcqTo/dNB/2FPA2kpFhHSrycMI.u85ahll"
"7171504636","野口 ヒデヨ","ノグチ ヒデヨ","福島県耶麻郡猪苗代町三ツ和前田81","ふくしまけんやまぐんいなわしろまちみつわまえだ","090-0000-1111","茨城県","男性","5","33244286","249716486580","704227779850","TX9912476","3530111333300000","h-noguchi46@rrvbj.co.jp","1994/03/07","二本松倉庫合名会社","5005723","$2y$10$ryGwLHHeBu.hdF5Q9MigHeM9sayKBeWzd5B11bQe5ouRkeVlukdTM"
マスキングの設定
ファイルをアップロードした後、マスキング対象のカラムに対してマスキングの設定を行います。
- “マスキング設定” をクリックし、マスキング設定画面を表示します。
- ファイル名の左横の “状態” を「有効」 に変更し、ファイルの右横にある「アクション」の “カラム設定” をクリックします。
- カラム名の左横の “状態” を「有効」 に変更します。
- カラム名の右横の “編集” をクリックすることで、マスキング設定画面が表示されます。
- 元の文字列の文字長・文字タイプを判別して、文字列を変換する「文字タイプ維持」の設定を行うには以下のように設定します。
Insight Data Maskingでは以下のような設定が可能です。詳細は製品マニュアルを参照ください。
マスキング種類 | 処理内容 |
---|---|
テキストマスキング(文字タイプ維持) | 元の文字列の文字長・文字タイプを判別して文字列を変換し |
テキストマスキング(固定文字) | 元の文字列の文字を指定文字に変換 |
テキストマスキング(固定文字列) | 文字列全体を特定の文字列に変換 |
辞書マスキング | 登録した辞書を元にランダムに変換(辞書は登録可能) |
分割テキストマスキング(前方から分割) | 前方からの文字位置を指定して文字列を分割し、分割された文字列に対して、テキストのマスキングを適用 |
分割テキストマスキング(区切り文字で分割) | 区切り文字を指定して文字列を分割し、分割された文字列に対して、テキストのマスキングを適用 |
クレジットカード番号マスキング | チェックディジットを維持しながら数字の変換 |
フリーテキストマスキング | 文章からマスキング対象を検出し自動でマスキング |
マスキングの実行
では、マスキング処理を実行してみましょう!
- “設定保存・実行” をクリックします。ファイルが小さければ処理は一瞬で終わります。
- “レポート” をクリックして、マスキング処理の実行状況や結果ログ、マスキング実行レポートを確認します。
マスキング結果のダウンロード
マスキングが実行できたので、マスキング処理後の結果ファイルのダウンロードします。
- “マスキング結果” を選択します。
- ファイル単位で[ダウンロード]をクリックするか、[全てダウンロードする]をクリックすることで、結果ファイルをダウンロードできます。
- ダウンロードしたCSVファイルは以下のようなイメージです。
"会員ID","氏名","氏名カナ","住所","住所ふりがな","電話番号","出身地","性別","年齢","健康保険証番号","運転免許証番号","マイナンバー","旅券番号","クレジットカード番号","メールアドレス","生年月日","法人名","銀行口座番号","パスワード"
9333597449,"膤菩 萎場","テンマダテ シンナ","埼玉県**********","ゑびひでくくぞりでどつちこぃわ","070-1111-5091","【都道府県名】","**",86,2264982,562142567557,374438272992,"ka0432563",4111116642342630,"q-aLXVmZVle@aswnvv.co.jp","1965/01/05","結暴例亶",8107812,"$2y$10$8WfYM/0Wms7/.EXRcsgUdrxDIGSs6qHBLytZ94dUuFbwFYJMvnrzG"
8559157550,"零瓱 もば怯","アマガタ カズノリ","東京都***********","りじどもちやごふちぺつぇてぴあ","03-1111-9945","【都道府県名】","**",35,58531797,100543008107,970722250151,"kn0168845",4242428427831923,"j.ltqVl62@nwwkeh.sm.jp","1998/10/15","靫竜措粐キゼタゾ冲鞦",9381112,"$2y$10$i.iOxo/bvJK6ERmTI726gmz30MAeqrHviY6G6rz9aoP4bNHj.i5dV"
6951152928,"菰寳 隗怒鷺","ヨシクラ サナエ","熊本県************","はぺびすぼくめぬぽぐかもひぎやぺらぜゆ","080-1111-0268","【都道府県名】","**",6,40124190,405726528247,940597647263,"Zc6566079",5555553399221429,"OlgvOrcD8109@qkao.co.jp","1936/07/07","nャOピヅォイスバザヌ鑁褐珀宅",748726,"$2y$10$Gtf1fxRpK2vw6F5iYn0DZSzEjGQ5fPVAtuZibpOkg8EIXnmoQzkyx"
6114717026,"駸嘘 夬滲","ハヤタカ ヒトシ","東京都*************","こいどぬふむちまららぁょぺゎずく","03-1111-0268","【都道府県名】","**",18,59589644,364825098797,675504518887,"Zp9739133",378282848965107,"H.TytAVdp5980@zgpaex.fh.jp","1961/01/22","救憐措粐伶瑛遞鉉蕁飩",8112384,"$2y$10$MuucXvTht.SlwG.NBXajxnJNv9CyDnQtAvFn2YloZyJIw24ak.XWG"
4632251241,"岶帚 パェヰ","カミハラ シゲアキ","福島県**************","げりわゑあぁえもおせぽすじゎつちいとずひごかさ","090-1111-1529","【都道府県名】","**",2,50925951,353846862417,505178330337,"kd0910830",3530116261153180,"B-nvpLbsr14@rrvbj.co.jp","1994/09/29","噬丹貼貫怎抱筺玉夊",6016397,"$2y$10$WZAaWVukp8e7nyeHMqwSEg9CgOmR3tqzFPOwDF0sD9nvUANK71CYe"
いかがでしたか?
これでアップロードしたCSVファイルに対してマスキング処理を設定し、マスキング結果をダウンロードすることができました!
その他、便利な機能も
今回はアップロードしたファイルに対して一つ一つマスキングの設定を行う手順を紹介しましたが、以下のような便利な機能もありますので、ぜひ活用いただければと思います!
- DBに対するマスキング: CSVファイルではなくDBのデータを直接マスキングする機能
- AIラベル機能: データの内容に従いマスキング設定をリコメンドする機能
- テンプレート機能: 複雑なマスキング設定をテンプレートとして保存しておき、簡単に設定する機能
なお、今回ご紹介しなかった、文章中の機微な情報だけをマスキングする「フリーテキストマスキング」についてご興味をお持ちの場合は、こちらのブログ記事 文章の中の個人情報を隠せ!~フリーテキストマスキングがもたらす墨消し作業の超省力化~ を参照ください!
おわりに
本ブログではAWS上にInsight Data Masking環境を用意して、CSVファイルをマスキングする方法を紹介しました。
Insight Data Masking はトライアルも可能です。
ぜひ Insight Data Maskingに関するお問い合わせ よりお問い合わせいただければと思います。
次回もどうぞお楽しみに!