このページでは、プロファイリングを組織またはフォルダレベルで構成する方法を説明します。プロジェクトをプロファイリングする方法については、単一プロジェクトのプロファイル データをご覧ください。
データ プロファイルの詳細については、BigQuery データのデータ プロファイルをご覧ください。
プロファイリングを開始するには、スキャン構成を作成します。
準備
組織レベルでデータ プロファイルを構成するために必要な IAM 権限があることを確認します。
組織管理者(
roles/resourcemanager.organizationAdmin
)またはセキュリティ管理者(roles/iam.securityAdmin
)のロールを付与されていなくても、スキャン構成を作成できます。ただし、スキャン構成を作成した後、次のいずれかのロールを持つユーザーが、サービス エージェントにデータ プロファイリングのアクセス権を付与する必要があります。プロファイリングするデータがある各リージョンに検査テンプレートが必要です。複数のリージョンで 1 つのテンプレートを使用する場合は、
global
リージョンに格納されているテンプレートを使用できます。組織のポリシーでglobal
検査テンプレートの作成が妨げられている場合、リージョンごとに専用の検査テンプレートを設定する必要があります。詳細については、データ所在地に関する検討事項をご覧ください。このタスクでは、
global
リージョンでのみ検査テンプレートを作成できます。1 つ以上のリージョン専用の検査テンプレートが必要な場合は、このタスクを実行する前にそれらのテンプレートを作成する必要があります。Cloud DLP を構成して、特定のイベント(Cloud DLP によって新しいテーブルのプロファイルが作成されるなど)が発生したときに Pub/Sub に通知を送信するように構成できます。この機能を使用するには、最初に Pub/Sub トピックを作成する必要があります。
データ プロファイルを生成するには、サービス エージェント コンテナとサービス エージェントが必要です。このタスクにより、自動的に作成できます。
スキャン構成を作成する
[スキャン構成の作成] ページに移動します。
組織に移動します。ツールバーで、
プロジェクト セレクタをクリックして組織を選択します。
以降のセクションでは、[スキャン構成の作成] ページの手順について詳しく説明します。各セクションの最後で、[続行] をクリックします。
スキャンするリソースの選択
次のいずれかを行います。- 組織レベルでプロファイリングを構成するには、[組織全体をスキャン] を選択します。
- フォルダレベルでプロファイリングを構成するには、[選択したフォルダをスキャン] を選択します。[参照] をクリックしてフォルダを選択します。
スケジュールを管理
デフォルトのプロファイリング頻度がニーズに合っている場合は、スキャン構成の作成ページのこのセクションをスキップできます。このセクションは、すべてのデータまたはデータのサブセットのプロファイリング頻度をきめ細かく調整する場合に便利です。また、特定のテーブルをプロファイリングしない場合や、一度プロファイリングした後再びまったくプロファイリングしない場合にも便利です。
このセクションでは、フィルタを作成して、目的のデータのサブセットを指定します。これらのサブセットでは、Cloud DLP がテーブルをプロファイリングするかどうか、およびその頻度を定義します。ここでは、テーブルを再プロファイリングすることを必要とする変更の種類も指定します。最後に、Cloud DLP がテーブルのプロファイリングを開始する前に、サブセット内の各テーブルが満たす必要がある条件を指定します。
プロファイリングの頻度を詳細に調整するには、次の手順を行います。
- [スケジュールを追加] をクリックします。
[フィルタ] セクションで、テーブルがスケジュールのスコープに含まれる 1 つ以上のフィルタを定義します。
次のうち少なくとも 1 つを指定します。
- 1 つ以上のプロジェクトを指定するプロジェクト ID または正規表現。
- 1 つ以上のデータセットを指定するデータセット ID または正規表現。
- 1 つ以上のテーブルを指定するテーブル ID または正規表現。
正規表現は RE2 構文に沿う必要があります。
たとえば、プロジェクト内のすべてのテーブルをフィルタに含めるには、そのプロジェクトの ID を指定し、他の 2 つのフィールドを空白のままにします。
さらにフィルタを追加する場合は、[フィルタを追加] をクリックし、前述の手順を繰り返します。
[頻度] をクリックします。
[頻度] セクションで、フィルタで定義したテーブルを Cloud DLP でプロファイリングするかどうかを指定します。プロファイリングする場合はその頻度も指定します。
テーブルをプロファイリングしない場合は、[テーブルをプロファイリング] をオフにします。
テーブルのプロファイリングを 1 回以上行う場合は、[テーブルをプロファイリング] をオンのままにして、次の手順を行います。
[スキーマが変更された場合] フィールドで、最後にプロファイリングが行われた後にスキーマの変更が行われた場合にテーブルを再プロファイリングするタイミングを指定します。
- 再プロファイリングしない: 最初のプロファイルが生成された後、再プロファイリングしません。
- 毎日再プロファイリング: 24 時間ごとに 1 回再プロファイリングします。
- 毎月再プロファイリング: 30 日ごとに 1 回再プロファイリングします。
[スキーマの変更の種類] では、再プロファイリング操作をトリガーするスキーマの変更の種類を指定します。
- 新しい列: 新しい列を取得したテーブルを再プロファイリングします。
- 削除された列: 列が削除されたテーブルを再プロファイリングします。
再プロファイリング オペレーションを 24 時間ごとに実行する必要があるとします。また、前回のプロファイリング後に新しい列を取得したテーブルのみを再プロファイリングすることも必要としています。この場合、[スキーマが変更された時間] を [毎日再プロファイリング] に設定し、[スキーマ変更の種類] を [新しい列] に設定します。
[テーブルが変更された時間] フィールドで、最後にプロファイルが作成された後にテーブルに変更があった場合にテーブルを再プロファイリングするタイミングを指定します。テーブルの変更の例としては、行の削除やスキーマの変更があります。
- 再プロファイリングしない: 最初のプロファイルが生成された後、再プロファイリングしません。
- 毎日再プロファイリング: 24 時間ごとに 1 回再プロファイリングします。
- 毎月再プロファイリング: 30 日ごとに 1 回再プロファイリングします。
[スキーマの変更時] フィールドで設定した値と同じ値か、それよりも小さい値を選択する必要があります。
[条件] をクリックします。
[条件] セクションで、フィルタで定義されたテーブルが Cloud DLP でプロファイリングされる前に満たす必要がある条件を指定します。最小条件と時間条件を設定した場合、Cloud DLP は両方のタイプの条件を満たすテーブルのみをプロファイリングします。
- 最小条件: これらの条件は、テーブルの行数が十分な数に達するまで、またはある年齢に達するまで、プロファイリングが遅延することを必要とする場合に活用できます。適用する条件を有効にし、最小の行数または期間を指定します。
- 時間条件: この条件は、古いテーブルをプロファイリングする必要がない場合に便利です。時間条件を有効にして日付と時刻を選択します。この日以前に作成されたテーブルは、プロファイリングから除外されます。
次の構成があるとします。
最小条件
- 最小行数: 10 行
- 最小期間: 24 時間
時間条件
- タイムスタンプ: 2022 年 5 月 4 日午後 11 時 59 分
この場合、Cloud DLP は 2022 年 5 月 4 日午後 11 時 59 分以前に作成されたテーブルを除外します。この日時の後に作成されたテーブルのうち、10 行または 24 時間以上経過したテーブルのみが Cloud DLP によってプロファイリングされます。
[プロファイリングするテーブル] セクションで、プロファイリングするテーブルの種類に応じて、次のいずれかを選択します。
すべてのテーブルをプロファイリングする: Cloud DLP でフィルタと時間条件が一致するすべてのタイプのテーブルをプロファイリングする場合は、このオプションを選択します。
サポートされていないテーブルタイプの場合、Cloud DLP は部分的に入力されたプロファイルのみを生成します。このようなプロファイルには、関連するテーブルがサポートされていないことを示すエラーが表示されます。エラー メッセージがあっても一部のプロファイルを表示する場合は、このオプションを選択します。
Cloud DLP によって新しいテーブルタイプのサポートが追加されると、次回の予定実行時にそのタイプのテーブルが完全にプロファイリングされます。
サポートされるテーブルをプロファイルする: Cloud DLP が、フィルタと時間条件と一致するサポート対象のテーブルのみをプロファイルする場合は、このオプションを選択します。サポートされていないテーブルには、部分的なプロファイルはありません。
特定のテーブルタイプをプロファイルする: Cloud DLP で選択したテーブルタイプのみをプロファイリングする場合は、このオプションを選択します。表示されたリストで、1 つ以上のタイプを選択します。
Cloud DLP が新しいテーブルタイプのサポートを追加しても、そのタイプのテーブルが自動的にプロファイリングされることはありません。新しくサポートされるテーブルタイプをプロファイリングするには、スキャン構成を編集してタイプを選択する必要があります。
オプションを選択しない場合、Cloud DLP は BigQuery テーブルのみをプロファイリングし、サポートされていないテーブルのエラーを表示します。
データ プロファイリングの料金は、プロファイリングされるテーブルの種類によって異なります。詳細については、データ プロファイリングの料金をご覧ください。
[完了] をクリックします。
さらにスケジュールを追加する場合は、[スケジュールを追加] をクリックして前の手順を繰り返します。
優先度に従ってスケジュールを並べ替えるには、
上矢印と 下矢印を使用します。たとえば、2 つの異なるスケジュールのフィルタがテーブル A と一致する場合、優先度リストでより高位のスケジュールが優先されます。リストの最後のスケジュールは、常に [デフォルトのスケジュール] というラベルが付いたスケジュールになります。このデフォルトのスケジュールは、選択したリソース(組織またはフォルダ)内の、作成したスケジュールと一致しないテーブルを対象にします。このデフォルト スケジュールは、システムのデフォルト プロファイリング頻度に沿って実行されます。
デフォルトのスケジュールを調整する場合は、
[スケジュールを編集] をクリックして、必要に応じて設定を調整します。
検査テンプレートの選択
検査構成の指定方法に応じて、次のいずれかのオプションを選択します。どのオプションを選択しても、Cloud DLP は、対象データを保存するようにBigQuery を構成したリージョンにデータをスキャンします。BigQuery データが元のリージョンから離れることはありません。
オプション 1: 検査テンプレートを作成する
global
リージョンで新しい検査テンプレートを作成する場合は、このオプションを選択します。
- [新しい検査テンプレートを作成] をクリックします。
(省略可)デフォルトの infoType を変更するには、[infoType を管理] をクリックします。フィルタで infoType を検索して選択します。[完了] をクリックします。
省略可: ルールセットを追加して信頼度のしきい値を設定し、検査テンプレートをさらに構成します。詳細については、検出の構成をご覧ください。
Cloud DLP は、スキャン構成を作成するときに、この新しい検査テンプレートを
global
リージョンに保存します。
オプション 2: 既存の検査テンプレートを使用する
使用したい既存の検査テンプレートがある場合は、このオプションを選択します。
[既存の検査テンプレートを選択] をクリックします。
使用する検査テンプレートの完全なリソース名を入力します。 [リージョン] フィールドには、検査テンプレートが保存されるリージョンの名前が自動的に入力されます。
入力する検査テンプレートは、プロファイリングするデータと同じリージョン内に存在している必要があります。データ所在地を考慮して、Cloud DLP はそのリージョンの外部にある検査テンプレートを使用しません。
検査テンプレートの完全なリソース名を確認する手順は次のとおりです。
検査テンプレート リストに移動します。このページは別のタブで開きます。
使用する検査テンプレートを含むプロジェクトに切り替えます。
[テンプレート] タブで、使用するテンプレートのテンプレート ID をクリックします。
開いたページで、テンプレートの完全なリソース名をコピーします。完全なリソース名の形式は次のとおりです。
projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
[スキャン構成の作成] ページに戻り、[テンプレート名] フィールドにテンプレートの完全なリソース名を貼り付けます。
別のリージョンにデータがあり、そのリージョンに使用する検査テンプレートがある場合は、次の手順を行います。
- [検査テンプレートを追加] をクリックします。
- 検査テンプレートの完全なリソース名を入力します。
専用の検査テンプレートがあるリージョンごとに、前述の手順を繰り返します。
省略可:
global
リージョンに保存されている検査テンプレートを追加します。Cloud DLP では、専用の検査テンプレートがないリージョンのデータに、このテンプレートが自動的に使用されます。
アクションの追加
次のセクションでは、データ プロファイルが生成された後、Cloud DLP で実施するアクションを指定します。
Chronicle にパブリッシュ
データ プロファイルから収集された指標によって、Chronicle の検出結果にコンテキストが追加されます。コンテキストが追加されることで、最も重要なセキュリティ問題の特定に役立ちます。たとえば、Chronicle で特定のサービス エージェントを調査する場合、データ プロファイルにより、そのサービス エージェントがデータ リスク レベルの高いテーブルにアクセスできるかどうかに関する分析情報を提供できます。
データ プロファイルを Chronicle アカウントに送信するには、[Chronicle にパブリッシュ] をオンにします。
組織で Chronicle が有効になっていない場合、このオプションを有効にしても効果はありません。
データ プロファイルのコピーを BigQuery に保存する
[データプロファイルのコピーを BigQuery に保存する] をオンにすると、生成されたすべてのプロファイルの保存コピーまたは履歴が保持されます。これは、監査レポートの作成やデータ プロファイルの可視化に役立ちます。この情報は他のシステムに読み込むこともできます。
また、このオプションを使用すると、データが存在するリージョンに関係なく、すべてのデータプロファイルを 1 つのビューで表示できます。このオプションを無効にしても、ダッシュボードにデータ プロファイルを表示できます。ただし、ダッシュボードで一度に 1 つのリージョンを選択すると、そのリージョンのデータ プロファイルのみが表示されます。
データ プロファイルのコピーを BigQuery テーブルにエクスポートするには、次の手順を行います。
[データ プロファイルのコピーを BigQuery に保存する] を有効にします。
データ プロファイルを保存する BigQuery テーブルの詳細を入力します。
[プロジェクト ID] に、データ プロファイルをエクスポートする既存のプロジェクトの ID を入力します。
[データセット ID] に、データ プロファイルをエクスポートするプロジェクト内の既存のデータセットの名前を入力します。
[テーブル ID] に、データ プロファイルをエクスポートする BigQuery テーブルの名前を入力します。このテーブルを作成していない場合は、Cloud DLP によって、指定した名前を使用して自動的に作成されます。
Cloud DLP は、このオプションをオンにした時点からプロファイルのエクスポートを開始します。エクスポートを有効にする前に生成されたプロファイルは BigQuery に保存されません。
Pub/Sub に公開
[Pub/Sub に公開] を有効にすると、プロファイリング結果に基づいて、プログラムによるアクションを実行できます。Pub/Sub 通知を使用して、重大なデータリスクや機密性が高い検出結果を把握し、修正するワークフローを開発できます。
Pub/Sub トピックに通知を送信する手順は次のとおりです。
[Pub/Sub に公開] を有効にします。
オプションのリストが表示されます:各オプションでは、Cloud DLP から Pub/Sub に通知を送信するイベントが記述されます。
Pub/Sub 通知をトリガーするイベントを選択します。
プロファイルが更新されるたびに Pub/Sub 通知を送信するを選択した場合、以下のテーブルレベルの指標が変更されると Cloud DLP が通知を送信します。
- データリスク
- 機密性
- 予測される infoType
- その他の infoType
- 公開
- 暗号化
選択したイベントごとに、次の手順を行います。
トピックの名前を入力します。名前は次の形式にする必要があります。
projects/PROJECT_ID/topics/TOPIC_ID
以下を置き換えます。
- PROJECT_ID: Pub/Sub トピックに関連付けられているプロジェクトの ID。
- TOPIC_ID: Pub/Sub トピックの ID。
通知にテーブル プロファイル全体を含めるか、プロファイリングされたテーブルの完全なリソース名のみを含めるかを指定します。
Cloud DLP が通知を送信するために必要な最小データリスクと感度レベルを設定します。
データリスク条件と機密条件の一方または両方を満たす必要があるかどうかを指定します。たとえば
AND
を選択した場合、Cloud DLP が通知を送信する前に、データリスクと機密条件の両方を満たす必要があります。
サービス エージェント コンテナと課金の管理
このセクションでは、サービス エージェント コンテナとして使用するプロジェクトを指定します。Cloud DLP で新しいプロジェクトを自動的に作成することも、既存のプロジェクトを選択することもできます。
サービス エージェント コンテナがない場合は、[サービス エージェント コンテナとして新しいプロジェクトを作成する] を選択します。
Cloud DLP によって、DLP サービス エージェント コンテナという新しいプロジェクトが作成されます。このプロジェクトは、実質的には新しいサービス エージェントを含む通常の Google Cloud プロジェクトとなっています。Cloud DLP では、データ プロファイリングに関係のないオペレーションを含め、このプロジェクトに関連するすべての課金対象オペレーションに対して課金されるアカウントを選択するように求められます。
プロジェクトの作成に必要な権限がない場合、このオプションは無効になります。必要な権限の詳細については、組織レベルまたはフォルダレベルでデータ プロファイルを操作するために必要なロールをご覧ください。
既存のサービス エージェント コンテナを再利用する場合は、[既存のサービス エージェント コンテナを選択する] を選択します。次に、[参照] をクリックして、サービス エージェント コンテナのプロジェクト ID を選択します。
新しく作成したサービス エージェントを使用するか、既存のサービス エージェントを使用するかにかかわらず、プロファイリングするデータへの読み取りアクセス権があることを確認してください。
構成を保存するロケーションの設定
[リソースのロケーション] リストをクリックし、このスキャン構成を保存するリージョンを選択します。後で作成するすべてのスキャン構成も、この場所に保存されます。
いずれのスキャン構成の保存先を選択しても、スキャンするデータには影響しません。また、データ プロファイルの保存場所にも影響しません。データは、BigQuery で設定されたとおり、データが保存されているリージョンと同じリージョンでスキャンされます。詳細については、データ所在地に関する検討事項をご覧ください。
確認と作成
スキャン構成を作成した直後にプロファイリングを開始しない場合は、[一時停止モードでスキャンを作成する] を選択します。
この構成は、次のような場合に利用できます。
- Google Cloud 管理者は、サービス エージェントにデータ プロファイリングのアクセス権を付与する必要があります。
- 複数のスキャン構成を作成し、一部の構成で他の構成をオーバーライドする。
- データ プロファイルを BigQuery に保存することを検討しており、サービス エージェントが出力テーブルへの書き込みアクセス権を持っていることを確認する。
- Pub/Sub 通知を構成し、サービス エージェントに公開アクセス権を付与します。
設定を確認し、[作成] をクリックします。
Cloud DLP がスキャン構成を作成し、[構成] リストに追加されます。
スキャン構成を表示または管理するには、データ プロファイル構成リストに移動します。
データにアクセスしてプロファイリングするために必要なロールがサービス エージェントに付与されている場合、Cloud DLP は、スキャン構成の作成後すぐにデータのスキャンを開始します。付与されていない場合、スキャン構成の詳細を表示するときに、Cloud DLP によってエラーが表示されます。
次のステップ
- 組織管理者(
roles/resourcemanager.organizationAdmin
)またはセキュリティ管理者(roles/iam.securityAdmin
)のいずれのロールも保持していない場合、どちらかのロールを持つ誰かが、サービス エージェントにデータ プロファイリングへのアクセス権を付与する必要があります。 - 組織またはフォルダ内のデータのプロファイリング費用を見積もる方法を確認する。
- データ プロファイルを表示する方法を確認する。
- スキャン構成を管理する方法を学習する。
- データ プロファイラによってパブリッシュされた Pub/Sub メッセージを受信して解析する方法を確認する。
- データ プロファイルに関する問題をトラブルシューティングする方法を学習する。