このページでは、検出サービス(データ プロファイラとも呼ばれます)と、このサービスを使用して組織の機密データとリスクの高いデータを特定する方法について説明します。
概要
データ プロファイラを使用すると、機密データとリスクの高いデータが存在する場所を識別して、組織全体のデータを保護できます。データ プロファイリングを有効にすると、Cloud DLP は組織全体、個々のフォルダ、プロジェクトの BigQuery テーブルと列を自動的にスキャンします。次に、テーブル、列、プロジェクト レベルでデータ プロファイルを作成します。
データ プロファイルは、Cloud DLP が特定のリソースをスキャンして収集する指標一式です。これらの指標には、予測された infoType、評価されたデータのリスクと機密性レベル、テーブルのメタデータが含まれます。これらの分析情報を使用し、データの保護、共有、使用について、情報に基づく意思決定を行います。
データ プロファイラの構成がアクティブである限り、Cloud DLP は、追加および変更するテーブルを自動的にスキャンし、それらのテーブルの新しい更新されたデータ プロファイルを生成します。
次の図は、列データ プロファイルの一覧を示しています。画像をクリックして拡大します。

各データ プロファイルに含まれる指標の一覧については、指標のリファレンスをご覧ください。
データ プロファイルの作成
データ プロファイルの生成を開始するには、スキャン構成(データプロファイル構成とも呼ばれます)を作成します。このスキャン構成では、スキャンするリソース(組織、フォルダ、プロジェクト)を設定します。そのリソース内のすべての BigQuery データセットとテーブルが、データ プロファイリングの対象範囲になります。
また、スキャン構成を作成する際には、使用する検査テンプレートも設定します。検査テンプレートには、Cloud DLP でスキャンする必要がある機密データの種類を指定します。
Cloud DLP は、データ プロファイルを作成する際、スキャンの構成と検査テンプレートに基づいて BigQuery のテーブルと列を分析します。データ プロファイルは、ある時点で収集された分析と指標のスナップショットです。
データ プロファイルの使用
データ プロファイルを使用するワークフローは次のとおりです。
- 必要なユーザーロールを付与されていることを確認する
- 単一プロジェクトのデータ プロファイリング費用を見積もる
- テストモードでテーブルをプロファイリングする
- 単一プロジェクトをプロファイリングする
- 組織またはフォルダのデータ プロファイリング費用を見積もる
- 組織またはフォルダのプロファイリング
- 組織またはフォルダのスキャンのみ: サービス エージェントにプロファイリング アクセス権を付与する
- データ プロファイルを表示する
- データ プロファイルを分析する
- 検出結果の修正
サポートされるテーブル
BigQuery Storage Read API でサポートされている次のような Cloud DLP プロファイル テーブル。
- 通常の BigQuery テーブル
- Cloud Storage に格納された BigLake テーブル
以下はサポートされていません。
- BigQuery Omni のテーブル。
- 個々の行のシリアル化されたデータサイズが、BigQuery Storage Read API でサポートされているシリアル化された最大データサイズ(128 MB)を超えるテーブル。
- BigLake 以外の外部テーブル(Google スプレッドシートなど)。
データ プロファイルの構成と表示に必要なロール
以下のセクションでは、必要なユーザーロールを目的別に分類して説明します。組織の設定方法に応じて、異なるユーザーに異なるタスクを実行させることができます。たとえば、データ プロファイルを構成しているユーザーと、定期的にモニタリングしているユーザーは異なる場合があります。
組織レベルまたはフォルダレベルでデータ プロファイルを操作するために必要なロール
これらのロールを使用すると、組織レベルまたはフォルダレベルでデータ プロファイルを構成および表示できます。
これらのロールが組織レベルの適切なユーザーに付与されていることを確認してください。または、Google Cloud 管理者は、関連する権限のみを持つカスタムロールを作成できます。
目的 | 事前定義ロール | 関連する権限 |
---|---|---|
データ プロファイルの構成と表示 | DLP 管理者(roles/dlp.admin )
|
|
プロジェクト作成者(roles/resourcemanager.projectCreator ) |
|
|
データ プロファイリングへのアクセス権を付与する | 次のいずれかです。
|
|
データ プロファイルの表示(読み取り専用) | DLP データ プロファイル読み取り(roles/dlp.dataProfilesReader ) |
|
DLP 読み取り(roles/dlp.reader ) |
|
プロジェクト レベルでデータ プロファイルを操作するために必要なロール
これらのロールを使用すると、プロジェクト レベルでデータ プロファイルを構成、表示できます。
これらのロールがプロジェクト レベルの適切なユーザーに付与されていることを確認してください。または、Google Cloud 管理者は、関連する権限のみを持つカスタムロールを作成できます。
目的 | 事前定義ロール | 関連する権限 |
---|---|---|
データ プロファイルの構成と表示 | DLP 管理者(roles/dlp.admin )
|
|
データ プロファイルの表示(読み取り専用) | DLP データ プロファイル読み取り(roles/dlp.dataProfilesReader ) |
|
DLP 読み取り(roles/dlp.reader ) |
|
スキャンの設定
スキャン構成またはデータ プロファイル構成では、スキャンするリソース(組織、フォルダ、プロジェクト)、検査テンプレートと結果の処理方法を指定します。また、スキャンを関連付けるサービス エージェント コンテナや使用する請求先アカウントなど、管理の詳細も含まれます。
スキャン構成は、組織用のものと、特定のフォルダ用に別のスキャン構成を作成できます。スコープ内に同じプロジェクトがあるスキャン構成が 2 つ以上有効になっている場合、Cloud DLP はそのプロジェクトのプロファイルを生成できるスキャン構成を決定します。
プロジェクト レベルでスキャン構成を作成することもできます。この種類のスキャン構成では、常にターゲット プロジェクトをプロファイリングでき、親フォルダや組織のレベルで他の構成と競合することはありません。
スキャン構成を初めて作成するときに、Cloud DLP で保存する場所を指定します。それ以降に作成するスキャン構成は、すべて、同じリージョンに保存されます。
たとえば、フォルダ A のスキャン構成を作成して us-west1
リージョンに保存すると、後で他のリソースに対して作成するスキャン構成もそのリージョンに保存されます。
監査用テンプレート
検査テンプレートは、データをスキャンする際に Cloud DLP が探す情報の種類(すなわち infoType)を指定します。テンプレートでは、組み込み infoType とオプションのカスタム infoType を組み合わせて使用します。
また、確度レベルを指定して、Cloud DLP が一致とみなす対象を絞り込むこともできます。ルールセットを追加して、望ましくない結果を除外すること、別の検出結果を含めることが可能です。
スキャンの構成で使用されている検査テンプレートに変更を加えると、その変更は将来のスキャンにのみ適用されます。既存のデータ プロファイルは上書きされません。たとえば、テンプレートを編集して infoType を追加した場合、その変更はスキャン前のテーブルにのみ影響します。このアクションで、既存のすべてのテーブルが再スキャンされることはありません。
プロファイリングするデータがある各リージョンに検査テンプレートが必要です。複数のリージョンで 1 つのテンプレートを使用する場合は、global
リージョンに格納されているテンプレートを使用できます。組織のポリシーで global
検査テンプレートの作成が妨げられている場合、リージョンごとに専用の検査テンプレートを設定する必要があります。詳細については、データ所在地に関する検討事項をご覧ください。
検査テンプレートは、Cloud DLP プラットフォームの中核的なコンポーネントです。データ プロファイルは、すべての Cloud DLP サービスで使用できるものと同じ検査テンプレートを使用します。検査テンプレートの詳細については、テンプレートをご覧ください。
サービス エージェント コンテナとサービス エージェント
組織またはフォルダのスキャン構成を作成する際は、Cloud DLP ではサービス エージェント コンテナを指定する必要があります。サービス エージェント コンテナは、組織レベルとフォルダレベルのプロファイリング オペレーションに関連する請求を追跡するために Cloud DLP が使用する Google Cloud プロジェクトです。
サービス エージェント コンテナには、サービス エージェントが含まれています。これは、Cloud DLP がユーザーの代わりにデータをプロファイリングするために使用する Google マネージド・サービス アカウントです。サービス エージェントは、Cloud DLP や他の API への認証を行うために必要です。サービス エージェントには、データへのアクセスとプロファイリングに必要なすべての権限が不可欠です。サービス エージェントの ID は次の形式です。
service-PROJECT_NUMBER@dlp-api.iam.gserviceaccount.com
ここでは、PROJECT_NUMBER はサービス エージェント コンテナの数値識別子です。
サービス エージェント コンテナを設定するときに、既存のプロジェクトを選択できます。選択したプロジェクトにサービス エージェントが含まれている場合、Cloud DLP は必要な IAM 権限をそのサービス エージェントに付与します。プロジェクトにサービス エージェントがない場合、Cloud DLP はサービス エージェントを作成し、データ プロファイリングの権限を自動的に付与します。
また、Cloud DLP がサービス エージェント コンテナとサービス エージェントを自動的に作成するようにすることもできます。Cloud DLP によって、データ プロファイリングの権限がサービス エージェントに自動的に付与されます。
いずれの場合も、Cloud DLP がデータ プロファイリングのアクセス権限をサービス エージェントに付与しないと、スキャン構成の詳細を表示するときに、エラーが表示されます。
プロジェクト レベルのスキャン構成の場合は、サービス エージェント コンテナは必要ありません。プロファイリングするプロジェクトが、サービス エージェント コンテナの目的を達成します。プロファイリング オペレーションを実行するには、Cloud DLP はプロジェクト固有のサービス エージェントを使用します。
組織レベルまたはフォルダレベルでのデータ プロファイリングへのアクセス
組織レベルまたはフォルダレベルで、プロファイリングを構成すると、Cloud DLP はデータ プロファイリング・アクセスをサービス エージェントに自動的に付与しようとします。ただし、IAM ロールを付与する権限がない場合、Cloud DLP はユーザーの代わりにこのアクションを行うことはできません。Google Cloud 管理者など、組織でこれらの権限を持つユーザーは、サービス エージェントにデータ プロファイリングへのアクセス権を付与する必要があります。
データ プロファイル生成のデフォルトの頻度
デフォルトでは、Cloud DLP は以下のようにデータをプロファイリングします。
特定のリソースのスキャン構成を作成した後、Cloud DLP によって初期スキャンが実施され、そのリソース内のすべてのテーブルがプロファイリングされます。初期スキャンの後、導入する追加や変更に対してBigQuery テーブルは継続的にモニタリングされます。
Cloud DLP は、新しいテーブルを追加した直後に新しいテーブルをプロファイリングします。
Cloud DLP は、過去 30 日間にスキーマの変更があった既存のテーブルを 30 日ごとに再プロファイリングします。
ただし、スキャンの構成では、データのサブセットごとに 1 つ以上のスケジュールを作成して、プロファイリングの頻度をカスタマイズできます。プロファイリングしないデータのサブセットを指定することもできます。詳細については、プロファイリングの構成手順のスケジュール管理をご覧ください。
シナリオの例については、データ プロファイリングの料金の例をご覧ください。
パフォーマンスのプロファイリング
データのプロファイルにかかる時間は、以下を含む、いくつかの要因によって異なります。
- プロファイリングされるテーブルの数
- テーブルのサイズ
- テーブル内の列数
- 列のデータタイプ
したがって、過去の検査タスクやプロファイリング タスクの Cloud DLP のパフォーマンスは、今後のプロファイリング タスクでのパフォーマンスを示すものではありません。
データ プロファイルの保持
Cloud DLP は、データ プロファイルの最新バージョンを 13 か月間保持します。Cloud DLP は、更新されたテーブルを再プロファイリングする際、そのテーブルの既存のデータ プロファイルを新しいテーブルに置き換えます。
次のようなシナリオを考えます。
1 月 1 日に、Cloud DLP がテーブル A をプロファイルします。テーブル A は 1 年以上変更されないため、再プロファイリングされません。この場合、Cloud DLP はテーブル A のデータ プロファイルを 13 か月間保持してから削除します。
1 月 1 日に、Cloud DLP がテーブル A をプロファイルします。その月内に、組織内の誰かがそのテーブルのスキーマを更新します。この変更により、翌月、Cloud DLP はテーブル A を自動的に再プロファイリングします。新しく生成されたデータ プロファイルは、1 月に作成されたデータ プロファイルを上書きします。
新しいテーブルと変更されたテーブルのプロファイリングに対する Cloud DLP の課金については、データ プロファイリングの料金をご覧ください。
データ プロファイルを無期限に保持する場合、または行われた変更の記録を保持する場合は、プロファイリングを構成するときに、データ プロファイルを BigQuery に保存することを検討してください。プロファイルを保存する BigQuery データセットを選択し、そのデータセットのテーブル有効期限ポリシーを管理します。
スキャン構成のオーバーライド
組織、フォルダ、プロジェクトごとに最大 1 つのスキャン構成を作成できます。
スコープ内に同じプロジェクトがあるスキャン構成が 2 つ以上有効になっている場合、次のルールが適用されます。
- 組織レベルとフォルダレベルのスキャン構成のうち、プロジェクトに最も近いものがプロジェクトのデータ プロファイルを生成できます。このルールは、そのプロジェクトのプロジェクト レベルのスキャン構成が存在する場合でも適用されます。
- Cloud DLP は、プロジェクト レベルのスキャン構成を組織レベルおよびフォルダレベルの構成とは独立して扱います。プロジェクト レベルで作成したスキャン構成は、親フォルダや親組織用に作成したスキャン構成をオーバーライドすることはできません。
アクティブなスキャン構成が 3 つある次の例について考えてみます。

ここで、スキャン構成 1 は組織全体に適用され、スキャン構成 2 は チーム B フォルダに適用され、スキャン構成 3 は本番環境プロジェクトに適用されます。この例では以下の情報が表示されます。
- Cloud DLP は、スキャン構成 1 に従って、チーム B フォルダ下にないプロジェクトのすべてのテーブルをプロファイリングします。
- Cloud DLP は、チーム B フォルダのプロジェクト内のすべてのテーブル(本番環境内のテーブルを含む)をスキャン構成 2 に従ってプロファイリングします。
- Cloud DLP は、スキャン構成 3 に従って プロダクション プロジェクトのすべてのテーブルをプロファイリングします。
この例では、Cloud DLP によって、本番環境プロジェクト用の 2 つのプロファイル セットが次のスキャン構成用に 1 つずつ生成されます。
- スキャン構成 2
- スキャン構成 3
ただし、同じプロジェクトに対して 2 つのプロファイル セットがあっても、ダッシュボードにはそのすべてが一緒に表示されることはありません。現在表示している範囲とリージョンに生成されたプロファイルのみが表示されます。
Google Cloud のリソース階層の詳細については、リソース階層をご覧ください。
データ プロファイルのスナップショット
各データ プロファイルには、スキャン構成のスナップショットと、その生成に使用された検査テンプレートが含まれています。このスナップショットを使用すると、特定のデータ プロファイルの生成に使用した設定を確認できます。
データ所在地に関する検討事項
Cloud DLP は、データ所在地をサポートするように設計されています。データ所在地の要件に従う必要がある場合は、次の点を検討してください。
検査リージョン
Cloud DLP は、データが保存されているリージョンと同じリージョンでデータを検査します。つまり、BigQuery データが現在のリージョンから離れることはありません。
また、検査テンプレートは、そのテンプレートと同じリージョンにあるデータをプロファイリングするためにのみ使用できます。たとえば、us-west1
リージョンに保存されている検査テンプレートを使用するようにデータ プロファイラを構成すると、Cloud DLP はそのリージョン内のデータのみをプロファイリングできます。
データが存在するリージョンごとに専用の検査テンプレートを設定できます。global
リージョンに保存されている検査テンプレートを指定すると、Cloud DLP は専用の検査テンプレートがないリージョンのデータにそのテンプレートを使用します。
次の表にシナリオの例を示します。
シナリオ | サポート |
---|---|
us リージョンの検査テンプレートを使用して、us リージョンのデータをスキャンします。 |
サポート対象 |
us リージョンの検査テンプレートを使用して、global リージョンのデータをスキャンします。 |
非対応 |
global リージョンの検査テンプレートを使用して、us リージョンのデータをスキャンします。 |
サポート対象 |
us-east1 リージョンの検査テンプレートを使用して、us リージョンのデータをスキャンします。 |
非対応 |
us リージョンの検査テンプレートを使用して、us-east1 リージョンのデータをスキャンします。 |
非対応 |
asia リージョンの検査テンプレートを使用して、us リージョンのデータをスキャンします。 |
非対応 |
データ プロファイルの構成
Cloud DLP は、データ プロファイルを作成する際、スキャン構成と検査テンプレートのスナップショットを作成し、各テーブル データ プロファイルに保存します。global
リージョンの検査テンプレートを使用するようにデータ プロファイラを構成すると、Cloud DLP はプロファイリングするデータを含む任意のリージョンにテンプレートをコピーします。同様に、スキャン構成もこれらのリージョンにコピーされます。
次の例について考えます。プロジェクト A にテーブル 1 が含まれています。テーブル 1 は us-west1
リージョンにあります。スキャン構成は us-west2
リージョンにあり、検査テンプレートは global
リージョンにあります。
Cloud DLP は、プロジェクト A をスキャンする際、テーブル 1 のデータ プロファイルを作成し、us-west1
リージョンに保存します。テーブル 1 のテーブル データ プロファイルには、プロファイリング オペレーションで使用されるスキャン構成と検査テンプレートのコピーが含まれています。
使用している検査テンプレートが他のリージョンにコピーされないようにするには、そうした他のリージョン内のデータをスキャンするように Cloud DLP を構成しないでください。
データ プロファイルのリージョン ストレージ
データの検査後、Cloud DLP はデータ プロファイルを生成します。各データ プロファイルは、ターゲット データが保存されているリージョン(検査が処理されるリージョン)に保存されます。ダッシュボードでデータ プロファイルを表示するには、まずデータ プロファイルが存在するリージョンを選択する必要があります。複数のリージョンにデータがある場合は、リージョンを切り替えて、各プロファイル セットを表示する必要があります。
サポートされていないリージョン
Cloud DLP でサポートされていないリージョンにテーブルがある場合、そのテーブルはスキップされ、データ プロファイルを表示するときにエラーが表示されます。
マルチリージョン
Cloud DLP では、マルチリージョンはリージョンの集合ではなく、1 つのリージョンとして扱われます。たとえば、us
マルチリージョンと us-west1
リージョンは、データ所在地に関する限り 2 つの別々のリージョンとして扱われます。
コンプライアンス
Cloud DLP によるデータの取り扱いとコンプライアンス要件については、データ セキュリティをご覧ください。
次のステップ
ID とセキュリティに関するブログ記事の DLP を使用した BigQuery の自動データリスク管理を読む。
データ プロファイリング費用を見積もる方法を確認する。
Cloud DLP がテーブルと列のデータのリスクと感度レベルを計算する方法について学習する。
データ プロファイラの検出結果を修正する方法を学習する。
データ プロファイラに関する問題のトラブルシューティングを行う方法を学習する。