このガイドでは、機密データの保護を使用して BigQuery テーブルを検査し、検査結果を Data Catalog に送信する方法を説明します。
さらに、検査オペレーションとは異なるデータ プロファイリングを実行できます。Dataplex にデータ プロファイルを送信することもできます。詳細については、データ プロファイルの分析情報に基づいて Dataplex でテーブルにタグ付けするをご覧ください。
Data Catalog はスケーラブルなメタデータ管理サービスで、このサービスにより Google Cloud 内のすべてのデータをすばやく検出、管理、把握できます。
機密データの保護は、組み込みで Data Catalog と統合されています。機密データの保護のアクションを使用して BigQuery テーブルの機密データを検査すると、タグ テンプレートの形式で結果が直接 Data Catalog に送信されます。
このガイドの手順を完了すると、次のことができるようになります。
- Data Catalog と機密データの保護を有効にします。
- BigQuery テーブルを検査するように機密データの保護を設定します。
- 検査結果を Data Catalog に送信するように、機密データ保護の検査を構成します。
Data Catalog の詳細については、Data Catalog のドキュメントをご覧ください。
検査ジョブではなくデータ プロファイリング オペレーションの結果を Dataplex に送信する場合は、代わりに組織、フォルダのプロファイリング、まプロジェクトのプロファイリングに関するドキュメントをご覧ください。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
- 機密データの保護
- BigQuery
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
準備
機密データの保護の検査結果を Data Catalog に送信する前に、次の操作を行います。
- 手順 1: 支払い情報を設定する
- 手順 2: 新しいプロジェクトを作成して新しい BigQuery テーブルを追加する(省略可)
- 手順 3: Data Catalog を有効にする
- ステップ 4: 機密データの保護を有効にする
以下では、各手順について詳しく説明します。
手順 1: 支払い情報を設定する
請求先アカウントをまだ設定していない場合は、まず設定する必要があります。
手順 2: 新しいプロジェクトを作成して新しい BigQuery テーブルを追加する(省略可)
本番環境用にこの機能を設定する場合や、検査する BigQuery テーブルがすでにある場合は、そのテーブルを含む Google Cloud プロジェクトを開いて手順 3 に進みます。
この機能を試し、テストデータを検査したい場合は、新しいプロジェクトを作成してください。この手順を完了するには、IAM プロジェクト作成者のロールが必要です。IAM ロールの詳細
- Google Cloud Console の [新しいプロジェクト] ページに移動します。
- [請求先アカウント] プルダウン リストで、プロジェクトの請求先となる請求先アカウントを選択します。
- [組織] プルダウン リストで、プロジェクトを作成する組織を選択します。
- [場所] プルダウン リストで、プロジェクトを作成する組織またはフォルダを選択します。
- [作成] をクリックしてプロジェクトを作成します。
次に、サンプルデータをダウンロードして保存します。
- GitHub の Cloud Functions チュートリアル リポジトリにアクセスします。
- サンプルデータを含む CSV ファイルを 1 つ選択し、ファイルをダウンロードします。
- 次に、Google Cloud コンソールで BigQuery に移動します。
- プロジェクトを選択します。
- [データセットを作成] をクリックします。
- [テーブルを作成] をクリックします。
- [アップロード] をクリックし、アップロードするファイルを選択します。
- テーブルに名前を付けて、[テーブルを作成] をクリックします。
手順 3: Data Catalog を有効にする
次に、機密データの保護を使用して検査する BigQuery テーブルを含むプロジェクトの Data Catalog を有効にします。
Google Cloud コンソールを使用して Data Catalog を有効にするには:
- Data Catalog にアプリケーションを登録します。
- 登録ページの [プロジェクトの作成] プルダウン リストから、Data Catalog で使用するプロジェクトを選択します。
- プロジェクトを選択したら、[続行] をクリックします。
これで、プロジェクトで Data Catalog が有効になりました。
ステップ 4: 機密データの保護を有効にする
Data Catalog を有効にした同じプロジェクトで、機密データの保護を有効にします。
Google Cloud コンソールを使用して機密データの保護を有効にするには:
- 機密データの保護のアプリケーションを登録します。
- 登録ページの [プロジェクトの作成] プルダウンリストから、前の手順で選択したものと同じプロジェクトを選択します。
- プロジェクトを選択したら、[続行] をクリックします。
これで、プロジェクトで機密データ保護が有効になりました。
機密データの保護の検査ジョブを構成して実行する
機密データの保護の検査ジョブは、Google Cloud コンソールまたは DLP API を使用して構成および実行できます。
Data Catalog タグ テンプレートは、BigQuery テーブルと同じプロジェクトとリージョンに保存されます。別のプロジェクトのテーブルを検査する場合は、BigQuery があるプロジェクトの機密データの保護サービス エージェントに Data Catalog TagTemplate オーナー(roles/datacatalog.tagTemplateOwner
)のロールを付与する必要があります。
Google Cloud コンソール
機密データの保護を使用して BigQuery テーブルの検査ジョブを設定するには、次のようにします。
Google Cloud コンソール の [機密データの保護] セクションで、[ジョブまたはジョブトリガーを作成] ページに移動します。
機密データの保護ジョブの情報を入力し、[続行] をクリックして各手順を完了します。
ステップ 1: 入力データを選択では、[名前] フィールドに値を入力して、ジョブに名前を付けます。[ロケーション] で、[ストレージ タイプ] メニューから [BigQuery] を選択して、検査するテーブルの情報を入力します。[サンプリング] セクションでは、データに対してサンプル検査を実行するように事前構成されています。大量のデータがある場合は、[行の制限] と [行の最大数] フィールドを調整してリソースを節約できます。詳細については、入力データの選択をご覧ください。
(省略可)ステップ 2: 検出を構成するでは、「infoTypes」と呼ばれる検索するデータのタイプを構成します。このチュートリアルでは、デフォルトの infoType が選択されたままにします。詳細については、検出の構成をご覧ください。
ステップ 3: アクションを追加するでは、[Data Catalog に保存] を有効にします。
(省略可)ステップ 4: スケジュールでは、このチュートリアルでは検査を 1 回だけ実行するため、このメニューを [なし] のままにします。繰り返し検査ジョブのスケジュール設定の詳細については、スケジュール設定をご覧ください。
[作成] をクリックします。ジョブはすぐに実行されます。
DLP API
このセクションでは、機密データの保護の検査ジョブを構成して実行します。
ここで構成する検査ジョブでは、上記のステップ 2で説明した BigQuery データのサンプルか、独自の BigQuery データを検査するように、機密データの保護に指示します。指定したジョブ構成では、検査結果を Data Catalog に保存するために、機密データの保護に指示することもできます。
ステップ 1: プロジェクト ID をメモする
Google Cloud コンソールに移動します。
[選択] をクリックします。
[選択元] プルダウン リストで、Data Catalog を有効にした組織を選択します。
[ID] で、検査するデータを含むプロジェクトのプロジェクト ID をコピーします。これは、前述のストレージ リポジトリの設定手順で説明したプロジェクトです。
[名前] で、プロジェクトをクリックして選択します。
ステップ 2: API Explorer を開いてジョブを構成する
dlpJobs.create
メソッドのリファレンス ページで API Explorer に移動します。次からこの手順を利用できるようにするため、次のリンクを右クリックして新しいタブまたはウィンドウで開きます。[parent] ボックスに、次のように入力します。project-id は、前のステップでメモしたプロジェクト ID です。
projects/project-id
次に、以下の JSON をコピーします。API Explorer で [Request body] フィールドの内容を選択してから、JSON を貼り付けて内容を置き換えます。
project-id
、bigquery-dataset-name
、bigquery-table-name
プレースホルダは、実際のプロジェクト ID、BigQuery データセット、テーブル名にそれぞれ置き換えてください。{ "inspectJob": { "storageConfig": { "bigQueryOptions": { "tableReference": { "projectId": "project-id", "datasetId": "bigquery-dataset-name", "tableId": "bigquery-table-name" } } }, "inspectConfig": { "infoTypes": [ { "name": "EMAIL_ADDRESS" }, { "name": "PERSON_NAME" }, { "name": "US_SOCIAL_SECURITY_NUMBER" }, { "name": "PHONE_NUMBER" } ], "includeQuote": true, "minLikelihood": "UNLIKELY", "limits": { "maxFindingsPerRequest": 100 } }, "actions": [ { "publishFindingsToCloudDataCatalog": {} } ] } }
使用可能な検査オプションの詳細については、ストレージとデータベースに含まれる機密データの検査をご覧ください。機密データの保護で検査できる情報の種類の完全なリストについては、InfoTypes リファレンスをご覧ください。
手順 3: 検査ジョブの開始をリクエストする
上記のステップに従ってジョブを構成したら、[実行] をクリックしてリクエストを送信します。リクエストが成功すると、成功コードと、作成した機密データの保護ジョブのステータスを示す JSON オブジェクトがレスポンスに表示されます。
検査リクエストへのレスポンスには、検査ジョブのジョブ ID が "name"
キーとして、検査ジョブの現在の状態が "state"
キーとして含まれます。リクエストを送信したばかりなので、この時点でのジョブの状態は "PENDING"
です。
機密データの保護の検査ジョブのステータスを確認する
検査リクエストを送信すると、検査ジョブがすぐに開始されます。
Google Cloud コンソール
検査ジョブのステータスを確認するには:
Google Cloud コンソールで [機密データの保護] を開きます。
[ジョブとジョブトリガー] タブをクリックしてから、[すべてのジョブ] をクリックします。
実行したばかりのジョブが、おそらくリストの先頭に表示されます。[State] 列で、そのジョブのステータスが [Done] になっていることを確認します。
ジョブの [ジョブ ID] をクリックすると、そのジョブの結果が表示されます。[ジョブの詳細] ページに表示される各 infoType 検出器の後に、コンテンツ内で見つかった一致の数が続きます。
DLP API
検査ジョブのステータスを確認するには:
次のボタンをクリックして、
dlpJobs.get
メソッドのリファレンス ページで API Explorer に移動します。[名前] ボックスに、検査リクエストに対する JSON レスポンスからのジョブの名前を、次の形式で入力します。
ジョブ ID はprojects/project-id/dlpJobs/job-id
i-1234567890123456789
の形式です。リクエストを送信するには、[Execute] をクリックします。
ジョブが "DONE"
であることをレスポンス JSON オブジェクトの "state"
キーが示している場合、検査ジョブは終了しています。
残りのレスポンス JSON を表示するには、ページを下にスクロールします。["result"
] > ["infoTypeStats"
] に表示されている情報の各種類に、対応する "count"
が表示されているはずです。表示されていない場合、入力した JSON が正確であり、データへのパスまたは場所が正しいことを確認します。
検査ジョブが完了したら、このガイドの次のセクションに進み、Security Command Center で検査結果を表示できます。
Data Catalog で機密データの保護の検査結果を表示する
検査ジョブの結果を Data Catalog に送信するように機密データの保護に指定したため、Data Catalog UI で自動的に作成されたタグとタグ テンプレートを表示できます。
- Google Cloud コンソールの [Data Catalog] ページに移動します。
- 検査したテーブルを検索します。
- テーブルと一致する結果をクリックして、テーブルのメタデータを表示します。
次のスクリーンショットは、サンプルテーブルの Data Catalog メタデータ ビューを示しています。
検査の概要
機密データの保護からの検出結果は、検査したテーブルの概要フォームに含まれます。この概要には、infoType の合計数と、日付とジョブ リソース ID を含む検査ジョブの概要データが含まれます。
検査されたすべての infoTypes
が一覧表示されます。結果は 0 より大きい数で示されます。
クリーンアップ
このトピックで使用したリソースに対して Google Cloud アカウントに課金されないようにするには、サンプルデータを使用したか、独自データを使用したかに応じて、以下のうちのいずれかを行います。
- サンプルデータ: 作成したプロジェクトを削除します。
- 独自データ: 作成した機密データの保護ジョブを削除します。
プロジェクトの削除
課金を停止する最も簡単な方法は、このトピックで説明する手順用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- Google Cloud コンソールでプロジェクト ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[プロジェクトの削除] をクリックします。
- ダイアログにプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
この方法でプロジェクトを削除すると、作成した機密データの保護ジョブと Cloud Storage バケットも削除されます。 次のセクションの手順に従う必要はありません。
機密データの保護ジョブまたはジョブトリガーを削除する
独自のデータを検査した場合は、作成した検査ジョブまたはジョブトリガーを削除します。
Google Cloud コンソール
Google Cloud コンソールで [機密データの保護] を開きます。
[ジョブとジョブトリガー] タブをクリックしてから、[ジョブトリガー] タブをクリックします。
削除するジョブトリガーの [操作] 列で、[その他の操作] メニュー(縦に並んだ 3 つの点で表示)
をクリックし、[削除] をクリックします。
必要に応じて、実行したジョブの詳細を削除することもできます。[すべてのジョブ] タブをクリックし、削除するジョブの [操作] 列で、[その他の操作] メニュー(縦に並んだ 3 つの点で表示)
をクリックし、[削除] をクリックします。DLP API
次のボタンをクリックして、
dlpJobs.delete
メソッドのリファレンス ページで API Explorer に移動します。[名前] ボックスに、検査リクエストへの JSON レスポンスのジョブ名を入力します。形式は次のとおりです。
ジョブ ID はprojects/project-id/dlpJobs/job-id
i-1234567890123456789
の形式です。
追加の検査ジョブを作成した場合や、ジョブが正常に削除されているかを確認する場合は、既存のすべてのジョブを一覧表示できます。
次のボタンをクリックして、
dlpJobs.list
メソッドのリファレンス ページで API Explorer に移動します。[parent] ボックスに、次の形式でプロジェクト ID を入力します。project-id は、プロジェクト ID です。
projects/project-id
[実行] をクリックします。
レスポンスにジョブが表示されていない場合は、すべてのジョブが削除されています。レスポンスにジョブが表示されている場合は、該当するジョブに対して前述の削除手順を繰り返します。
次のステップ
- 機密データの保護の
publishFindingsToCloudDataCatalog
アクションの詳細を確認する。 - 機密データの保護結果に基づいた Data Catalog でのカスタムタグまたは列レベルのタグの作成について確認する。
- 機密データの保護を使用した、ストレージ リポジトリの機密データの検査について確認する。
- Data Catalog の使用方法を学習する。