Watson Knowledge Catalog で機密データが匿名化できるみたいなので、試してみました。
Watson Knowledge Catalogが初めての方は、下記のブログがわかりやすかったので、こちらを読んでみてください。
★IBM Cloud Blog:Watson StudioとKnowledge Catalogを使ってデータレイクを作成してみよう
第1回 概要
第2回 データを登録してみよう
第3回 Knowledge Catalogの便利機能
0. 匿名化の種類の検討
Watson Knowledge Catalogで設定できる匿名化の種類は、下記の3種類になります。
下段のAfterの出力イメージを参考に、どのタイプの匿名化を設定するのかを検討します。
1. データの準備
ここでは、メールアドレス部分を匿名化できるか検証しようと思うので、メールアドレスを含むCSVファイルを用意します。(必ずエンコードはUTF-8にしてください。)
customerid | rank | country | |
---|---|---|---|
aaa@gmail.com | A001 | Gold | Canada |
bbb@hotmail.com | A002 | Silver | Japan |
ccc@yahoo.co.jp | A003 | Gold | Japan |
2. Policy Manager の設定
Policy Manager では、下記3つを作成します。
・ Category
・ Policy
・ Rule
2.1. Category の作成
まずは、大きな枠となるカテゴリーを作成します。ここは、基本的に名前をつけるだけです。
1.左側のナビゲーションメニューの「Catalog」を展開し、「Policy Manager」をクリックします。
3.Name欄にカテゴリー名(ここでは、Data Protection)を入力し、「Create」をクリックします。
以上で、カテゴリーが作成されました。
2.2. Rule の作成
次に、具体的なルールを作成します。
ルールでは条件とアクションを定義します。
2.左側でルールについての詳細情報を定義します。
2-1. Name欄にルール名(ここでは、Mask email)を入力します。
2-2. Type欄は、現時点ではAccessしか選択肢がありませんので、そのままとします。
2-3. Business definition欄に、簡単な説明を入力します。
3.右側で条件とアクションを定義します。
3-1. 今回は条件として、「Data class に Contact Data が含まれている場合」と設定したいので、「If Data class contains any Contact Data」と設定します。
※複数の条件を設定する場合は、「+」マークをクリックして条件を追加します。
3-2. アクションとしては、「Contact Detailsが含まれているカラムを匿名化する」と設定したいので、「anonymize data in columns containing Contact Details」と設定します。
3-3. どのように匿名化するのかの設定は、3つの中から「Mask」を選択して、「Create」をクリックします。
2.3. Policy の作成
作成したルールを含むポリシーを作成します。
2.左側でポリシーについての詳細情報を定義します。
2-1. Name欄にポリシー名(ここでは、Data Anonymization)を入力します。
2-2. Type欄は、現時点ではAccessしか選択肢がありませんので、そのままとします。
2-3. Description欄は任意ですので、今回は省略します。
3.右側でルールを定義します。
3-1. 右上の「Add」展開して「Existing rules」をクリックします。
3-2. 手順2.2で作成した「Mask email」を選択して、「Add」をクリックします。
4.右下の「Publish」をクリックします。
5.Attentionボックスが表示されるので、内容を確認して「Publish」をクリックします。
以上で、匿名化に必要なカテゴリー、ポリシー、ルールの定義ができました。
3. Catalogの作成
ここでも、まずは大枠となるカタログを定義します。こちらも基本的には名前をつけるだけです。
既にカタログが作成済みの場合は、この手順を飛ばして、4.Assetの登録に進んでください。
1.左側のナビゲーションメニューの「Catalog」を展開し、「View All Catalogs」をクリックします。
3.Name欄にカタログ名(ここでは、Catalog01)を入力して、「Enforce data policies」にチェックを入れます。
※「Enforce data policies」の設定はカタログ作成時にしかできません。カタログ作成後の変更はできませんので、ご注意ください。
4.確認画面が表示されるので、「OK」をクリックします。
5.もとの画面に戻って、右下の「Create」をクリックします。
以上で、カタログが作成されました。
続いて、カタログの利用者をCollaboratorとして追加しておきます。
6.カタログの「Access Control」タブを開き、「Add Collaborator」をクリックします。
7.Collaborators欄に追加したいメールアドレスを入力して、Roleを設定(今回はEditor)して、「Add」をクリックします。
Collaboratorが追加されました。
4. Assetの登録
手順1で用意したCSVファイルをPCローカルからCatalogに登録します。
1.右上の「Add to Catalog」から「Local files」をクリックします。
2.Select File欄にCSVファイル(ここでは、maillist.csv)をドラッグ&ドロップします。
3.そのほかの設定は任意なので、今回は特に設定せずに、右下の「OK」をクリックします。
※アップロード中は右側に進行状況が表示されます。
以上で、メールアドレスを含むCSVファイル(ここでは、maillist.csv)のAssetとしての登録が完了しました。
5. 匿名化の確認
まず、登録した所有者本人のOverview画面を見ると、メールアドレスの値は匿名化されていません。
次に、他のユーザーでログインして登録したAssetのOverview画面を見ると、期待したとおりにメールアドレスの値が匿名化されていることがわかります。
今回は、「Mask」を設定したのでランダムな文字列に置き換わっています。
そして、countryの値も匿名化されているので、Contact Detailsに含まれいたということがわかりました。
マニュアルを見てみたら、メールアドレス以外にも住所や郵便番号、電話番号なども対象みたいですが、US Phone Number、US Street Nameのようになっていたので、日本はまだ対象外のようです。
でも、目的のメールアドレスは匿名化されましたので、OKですね。
Classifier groups for data policies
感想
全体的に右下のボタンをクリックしようとすると、「Cookie Preferences」の箱が邪魔でボタンがクリックしにくい&見えにくいのがちょっと残念でした。改善されるとよいのですが。。