このチュートリアルでは、Cloud DLP 用 Cloud Data Fusion プラグインを使用して機密情報を含むデータを秘匿化する方法について説明します。
シナリオ
顧客の機密情報を秘匿化する必要があるシナリオを考えてみましょう。
サポートチームは、サポート チケットで処理した各サポートケースの詳細を記録しています。サポート チケットのすべての情報は、CSV ファイルに格納されます。サポート技術者は、機密情報と見なされる顧客情報は記録しないことになっていますが、間違って記録してしまうこともあります。CSV ファイルにお客様の電話番号が含まれていることに気づきました。
CSV ファイル全体で、電話番号がすべて見えないようにしなければなりません。そこで、Cloud DLP プラグインを使用して顧客の機密データを秘匿化する Cloud Data Fusion パイプラインを作成します。
このチュートリアルでは、次の処理を行うパイプラインを作成します。
- 顧客の電話番号を
#
文字でマスクして秘匿化します。 - マスクされた機密データと機密情報でないデータを Cloud Storage バケットに格納します。
目標
- Cloud Data Fusion を Cloud Storage ソースに接続します。
- Cloud DLP プラグインをデプロイします。
- カスタム Cloud DLP テンプレートを作成します。
- Redact 変換プラグインを使用して、顧客の機密データをマスクします。
- 出力データを Cloud Storage に書き込みます。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, Cloud Storage, and Dataproc APIs.
- Cloud Data Fusion インスタンスを作成します。
Cloud DLP 権限を取得する
Google Cloud Console の [IAM] ページに移動します。
権限テーブルの [プリンシパル] 列で、形式
service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com
と一致するサービス アカウントを探します。[edit 編集] をクリックします。
[別のロールを追加] をクリックします。
検索バーを使用して DLP 管理者を検索し選択します。
[保存] をクリックします。
DLP 管理者が [役割] 列に表示されていることを確認します。
Cloud Data Fusion UI に移動する
Cloud Data Fusion を使用する際は、Google Cloud コンソールと個別の Cloud Data Fusion UI の両方を使用します。Google Cloud コンソールでは、Google Cloud コンソール プロジェクトを作成し、Cloud Data Fusion インスタンスを作成および削除できます。Cloud Data Fusion UI では、Studio や Wrangler などのさまざまなページを使用して Cloud Data Fusion の機能を使用できます。
Google Cloud コンソールで [インスタンス] ページを開きます。
インスタンスの [操作] 列で、[インスタンスの表示] リンクをクリックします。新しいブラウザタブで Cloud Data Fusion UI が開きます。
パイプラインを作成する
顧客の機密データを秘匿化するパイプラインを作成します。ビルドするパイプラインによって、次の処理が行われます。
- Cloud Storage ソース プラグインを使用して入力データを読み取ります。
- Cloud DLP プラグインを Hub からデプロイします。
- Cloud Storage シンク プラグインを使用して出力データを書き出します。
顧客データを読み込む
このチュートリアルでは、一般公開されている Cloud Storage バケットにある入力データセット CallCenterRecords.csv
を使用します。
Cloud Data Fusion インスタンスを開き、menu [メニュー] > [Studio] をクリックします。
[ソース] メニューで [Cloud Storage] プラグインをクリックします。
[Cloud Storage] ノードで、[プロパティ] をクリックします。
[Reference name] フィールドに名前を入力します。
[パス] フィールドに「
gs://datafusion-sample-datasets/CallCenterRecords.csv
」と入力します。[形式] フィールドで [
CSV
] を選択します。[出力スキーマ] で、[オフセット] フィールドと [ボディ] フィールドを削除します。
[追加] をクリックして、次のフィールドを入力します。- 日付
- Bank
- State
- Zip
- メモ
[検証] をクリックして、エラーを確認します。
[閉じる] をクリックします。
機密データの秘匿化
Cloud DLP Redact プラグインは、入力データ ストリーム内の機密レコードを識別し、定義した変換をそれらのレコードに適用します。データのレコードが選択した事前定義されている Cloud DLP フィルタまたは自分で定義したカスタム テンプレートと一致すると、そのレコードは機密と見なされます。
このチュートリアルでは、チームのサポート担当者が誤って記録していたお客様の電話番号を秘匿化します。担当者がサポート チケットの Notes セクションに入力した機密情報は、CSV ファイルの Notes 列にあります。カスタム Cloud DLP テンプレートを作成し、プラグインのプロパティ メニューでテンプレート ID を指定します。
Cloud DLP プラグインをデプロイする
Cloud Data Fusion インスタンスで、[Hub] をクリックします。
[Cloud DLP] プラグインをクリックします。
[デプロイ] をクリックします。
[完了] をクリックします。
[閉じる] をクリックして Cloud DLP ダイアログを終了します。
[閉じる] をクリックしてハブを終了します。
カスタム テンプレートを作成する
Google Cloud コンソールで、[Cloud DLP] ページに移動します。
[作成] メニューで [テンプレート] を選択します。
[テンプレート ID] 欄に、テンプレートの ID を入力します。
[続行] をクリックします。
[検出の設定] フィールドで、[infoType を管理] をクリックします。
[組み込み] タブで、フィルタを使用して「電話番号」を検索します。
PHONE_NUMBER を選択します。
[完了] > [作成] をクリックします。
詳細については、Cloud DLP テンプレートの作成をご覧ください。
Cloud DLP Redact 変換を適用する
Cloud Data Fusion の [Studio] ページに移動し、[変換] メニューをクリックして展開します。
Cloud DLP [Redact] プラグインをクリックします。
[Cloud Storage] ノードから [Redact] ノードに接続矢印をドラッグします。
ポインタを Redact ノードの上に置き、[Properties] をクリックします。
[カスタム テンプレート] を
Yes
に設定します。[テンプレート ID] フィールドに、作成したカスタム テンプレートのテンプレート ID を入力します。
[マッチング] フィールドで、[ノート] の [カスタム テンプレート] に [マスキング] を適用します。
[マスキング文字] フィールドに
#
を入力します。[検証] をクリックして、エラーを確認します。
[閉じる] をクリックします。
出力データを保存する
パイプラインの結果を Cloud Storage ファイルに格納する。
[Studio] ページで、[シンク] メニューをクリックして展開します。
[Cloud Storage] をクリックします。
[Redact] ノードから [Cloud Storage2] ノードに接続矢印をドラッグします。
ポインタを [Cloud Storage2] ノードの上に置き、[プロパティ] をクリックします。
[Reference name] フィールドに名前を入力します。
[パス] フィールドに、パイプライン結果を保存する Cloud Storage バケットのパスを入力します。Cloud Data Fusion がバケットを作成します。必ずバケット命名ガイドラインに従ってください。
[形式] フィールドで [CSV] を選択します。
[Validate] をクリックして、エラーがないことを確認します。
[閉じる] をクリックします。
プレビュー モードでパイプラインを実行する
デプロイする前に、パイプラインをプレビュー モードで実行します。
[プレビュー] をクリックし、[実行] をクリックします。
[実行] をクリックするとるパイプラインのステータスが表示されます。ステータスは [開始] で始まり、次に [停止]、次に [実行] となります。
プレビューの実行が完了したら、Redact ノードで [Preview Data] をクリックし、入力データと出力データを並べて比較します。電話番号が
#
文字でマスクされていることを確認します。
別のデータ型を秘匿化する
プレビューの実行結果を確認すると、Notes 欄にはまだ他にもメールアドレスという機密情報が残っていることに気づきます。それで Cloud DLP テンプレートに戻って、メールアドレスも秘匿化するように編集します。
Google Cloud コンソールで、[Cloud DLP] ページに移動します。
[設定] タブで、テンプレートを選択します。
[編集] をクリックします。
[infoType を管理] をクリックします。
[組み込み] タブで、「OR」「メールアドレス」を検索するフィルタを使用するようにします。
すべて選択して [完了] をクリックします。
[保存] をクリックします。
再度パイプラインをプレビュー モードで実行します。 Cloud Data Fusion は、更新された Cloud DLP テンプレートを自動的に使用します。
電話番号とメールアドレスの両方が
#
文字でマスクされていることを確認します。
パイプラインをデプロイして実行する
[プレビュー] モードがオフになっていることを確認します。
[保存] をクリックします。[保存] をクリックすると、パイプラインの名前を入力するよう求められます。次に、[OK] をクリックします。
[デプロイ] をクリックします。
デプロイが完了したら、[実行] をクリックします。パイプラインの実行には数分を要する場合があります。待機している間に、パイプラインの [ステータス] はプロビジョニング、開始中、実行中、プロビジョニング解除中、成功と推移します。
結果を見る
Google Cloud Console で、[Cloud Storage] ページに移動します。
ストレージ ブラウザで、シンク Cloud Storage プラグイン プロパティに指定したシンク Cloud Storage バケットに移動します。
リンク URL のリンクをクリックし、結果の CSV ファイルをダウンロードします。 電話番号とメールアドレスが
#
文字でマスクされていることを確認します。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
Cloud Data Fusion インスタンスを削除する
手順に従って Cloud Data Fusion インスタンスを削除します。
プロジェクトの削除
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
次のステップ
- Cloud Data Fusion について学ぶ。
- Cloud Data Fusion プラグインの使用方法を説明し、Redact と Filter PII 変換プラグインを提供しています。