機密データを秘匿化する


このチュートリアルでは、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 の次の課金対象のコンポーネントを使用します。

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。 新しい Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  5. Google Cloud プロジェクトで課金が有効になっていることを確認します

  6. Cloud Data Fusion, BigQuery, Cloud Storage, and Dataproc API を有効にします。

    API を有効にする

  7. Cloud Data Fusion インスタンスを作成します

Cloud DLP 権限を取得する

  1. Google Cloud Console の [IAM] ページに移動します。

    [IAM] ページを開く

  2. 権限テーブルの [プリンシパル] 列で、形式 service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com と一致するサービス アカウントを探します。

  3. [ 編集] をクリックします。

  4. [別のロールを追加] をクリックします。

  5. 検索バーを使用して DLP 管理者を検索し選択します。

  6. [保存] をクリックします。

  7. DLP 管理者が [役割] 列に表示されていることを確認します。

Cloud Data Fusion を使用する際は、Google Cloud コンソールと個別の Cloud Data Fusion UI の両方を使用します。Google Cloud コンソールでは、Google Cloud コンソール プロジェクトを作成し、Cloud Data Fusion インスタンスを作成および削除できます。Cloud Data Fusion UI では、StudioWrangler などのさまざまなページを使用して Cloud Data Fusion の機能を使用できます。

  1. Google Cloud コンソールで [インスタンス] ページを開きます。

    [インスタンス] ページを開く

  2. インスタンスの [操作] 列で、[インスタンスの表示] リンクをクリックします。新しいブラウザタブで Cloud Data Fusion UI が開きます。

パイプラインを作成する

顧客の機密データを秘匿化するパイプラインを作成します。ビルドするパイプラインによって、次の処理が行われます。

  • Cloud Storage ソース プラグインを使用して入力データを読み取ります。
  • Cloud DLP プラグインを Hub からデプロイします。
  • Cloud Storage シンク プラグインを使用して出力データを書き出します。

顧客データを読み込む

このチュートリアルでは、一般公開されている Cloud Storage バケットにある入力データセット CallCenterRecords.csv を使用します。

  1. Cloud Data Fusion インスタンスを開き、 [メニュー] > [Studio] をクリックします。

  2. [ソース] メニューで [Cloud Storage] プラグインをクリックします。

    プラグインを選択します。

  3. [Cloud Storage] ノードで、[プロパティ] をクリックします。

  4. [Reference name] フィールドに名前を入力します。

  5. [パス] フィールドに「gs://datafusion-sample-datasets/CallCenterRecords.csv」と入力します。

  6. [形式] フィールドで [CSV] を選択します。

  7. [出力スキーマ] で、[オフセット] フィールドと [ボディ] フィールドを削除します。 [追加] をクリックして、次のフィールドを入力します。

    • 日付
    • Bank
    • State
    • Zip
    • メモ

    参照元プロパティを入力します。

  8. [検証] をクリックして、エラーを確認します。

  9. [閉じる] をクリックします。

機密データの秘匿化

Cloud DLP Redact プラグインは、入力データ ストリーム内の機密レコードを識別し、定義した変換をそれらのレコードに適用します。データのレコードが選択した事前定義されている Cloud DLP フィルタまたは自分で定義したカスタム テンプレートと一致すると、そのレコードは機密と見なされます。

このチュートリアルでは、チームのサポート担当者が誤って記録していたお客様の電話番号を秘匿化します。担当者がサポート チケットの Notes セクションに入力した機密情報は、CSV ファイルの Notes 列にあります。カスタム Cloud DLP テンプレートを作成し、プラグインのプロパティ メニューでテンプレート ID を指定します。

Cloud DLP プラグインをデプロイする

  1. Cloud Data Fusion インスタンスで、[Hub] をクリックします。

  2. [Cloud DLP] プラグインをクリックします。

  3. [デプロイ] をクリックします。

  4. [完了] をクリックします。

  5. [閉じる] をクリックして Cloud DLP ダイアログを終了します。

  6. [閉じる] をクリックしてハブを終了します。

カスタム テンプレートを作成する

  1. Google Cloud コンソールで、[Cloud DLP] ページに移動します。

    Cloud DLP に移動

  2. [作成] メニューで [テンプレート] を選択します。 イメージ

  3. [テンプレート ID] 欄に、テンプレートの ID を入力します。

  4. [続行] をクリックします。

  5. [検出の設定] フィールドで、[infoType を管理] をクリックします。

  6. [組み込み] タブで、フィルタを使用して「電話番号」を検索します。

    フィルタ。

  7. PHONE_NUMBER を選択します。

  8. [完了] > [作成] をクリックします。

詳細については、Cloud DLP テンプレートの作成をご覧ください。

Cloud DLP Redact 変換を適用する

  1. Cloud Data Fusion の [Studio] ページに移動し、[変換] メニューをクリックして展開します。

  2. Cloud DLP [Redact] プラグインをクリックします。

    プラグインをクリックしてパイプラインに追加します。

  3. [Cloud Storage] ノードから [Redact] ノードに接続矢印をドラッグします。

    2 つのノードを接続します。

  4. ポインタを Redact ノードの上に置き、[Properties] をクリックします。

    1. [カスタム テンプレート] を Yes に設定します。

    2. [テンプレート ID] フィールドに、作成したカスタム テンプレートのテンプレート ID を入力します。

    3. [マッチング] フィールドで、[ノート] の [カスタム テンプレート] に [マスキング] を適用します。

    4. [マスキング文字] フィールドに # を入力します。

      マスク。

    5. [検証] をクリックして、エラーを確認します。

    6. [閉じる] をクリックします。

出力データを保存する

パイプラインの結果を Cloud Storage ファイルに格納する。

  1. [Studio] ページで、[シンク] メニューをクリックして展開します。

  2. [Cloud Storage] をクリックします。

  3. [Redact] ノードから [Cloud Storage2] ノードに接続矢印をドラッグします。

    Redact ノードを 2 つ目の Cloud Storage ノードに接続します。

  4. ポインタを [Cloud Storage2] ノードの上に置き、[プロパティ] をクリックします。

    1. [Reference name] フィールドに名前を入力します。

    2. [パス] フィールドに、パイプライン結果を保存する Cloud Storage バケットのパスを入力します。Cloud Data Fusion がバケットを作成します。必ずバケット命名ガイドラインに従ってください。

    3. [形式] フィールドで [CSV] を選択します。

    4. [Validate] をクリックして、エラーがないことを確認します。

    5. [閉じる] をクリックします。

プレビュー モードでパイプラインを実行する

デプロイする前に、パイプラインをプレビュー モードで実行します。

  1. [プレビュー] をクリックし、[実行] をクリックします。

    パイプラインを実行します

    [実行] をクリックするとるパイプラインのステータスが表示されます。ステータスは [開始] で始まり、次に [停止]、次に [実行] となります。

  2. プレビューの実行が完了したら、Redact ノードで [Preview Data] をクリックし、入力データと出力データを並べて比較します。電話番号が # 文字でマスクされていることを確認します。

    電話番号がマスクされていることを確認します。

別のデータ型を秘匿化する

プレビューの実行結果を確認すると、Notes 欄にはまだ他にもメールアドレスという機密情報が残っていることに気づきます。それで Cloud DLP テンプレートに戻って、メールアドレスも秘匿化するように編集します。

  1. Google Cloud コンソールで、[Cloud DLP] ページに移動します。

    Cloud DLP ページを開く

  2. [設定] タブで、テンプレートを選択します。

  3. [編集] をクリックします。

  4. [infoType を管理] をクリックします。

  5. [組み込み] タブで、「OR」「メールアドレス」を検索するフィルタを使用するようにします。

    フィルタ。

  6. すべて選択して [完了] をクリックします。

  7. [保存] をクリックします。

  8. 再度パイプラインをプレビュー モードで実行します。 Cloud Data Fusion は、更新された Cloud DLP テンプレートを自動的に使用します。

  9. 電話番号メールアドレスの両方が # 文字でマスクされていることを確認します。

    データがマスクされていることを確認します。

パイプラインをデプロイして実行する

  1. [プレビュー] モードがオフになっていることを確認します。

  2. [保存] をクリックします。[保存] をクリックすると、パイプラインの名前を入力するよう求められます。次に、[OK] をクリックします。

  3. [デプロイ] をクリックします。

  4. デプロイが完了したら、[実行] をクリックします。パイプラインの実行には数分を要する場合があります。待機している間に、パイプラインの [ステータス] はプロビジョニング開始中実行中プロビジョニング解除中成功と推移します。

結果を見る

  1. Google Cloud Console で、[Cloud Storage] ページに移動します。

    [Cloud Storage] に移動

  2. ストレージ ブラウザで、シンク Cloud Storage プラグイン プロパティに指定したシンク Cloud Storage バケットに移動します。

  3. リンク URL のリンクをクリックし、結果の CSV ファイルをダウンロードします。 電話番号とメールアドレスが # 文字でマスクされていることを確認します。

    データがマスクされていることを確認します。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

Cloud Data Fusion インスタンスを削除する

手順に従って Cloud Data Fusion インスタンスを削除します

プロジェクトの削除

課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

プロジェクトを削除するには:

  1. Google Cloud コンソールで、[リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ