データ プロファイルの分析情報に基づいて Dataplex のテーブルにタグ付けする

このページでは、機密データの保護によってテーブルがプロファイリングされた後、Dataplex タグを BigQuery テーブルに自動的に適用する方法について説明します。このページでは、組織やプロジェクト間でタグ付けされたデータを検出するために使用できるクエリの例についても説明します。

この機能は、機密データの保護のデータ プロファイルから収集した分析情報を使用して、Dataplex の手動でキュレートしたメタデータの質を高める場合に便利です。生成されたタグには、次の分析情報が含まれます。

  • テーブルの列で検出された情報の種類(infoTypes
  • テーブルの計算された機密レベル
  • テーブルの計算されたデータリスク レベル

機密データの保護のデータ プロファイルからの分析情報は、Dataplex を使用して組織内の機密データや高リスクのデータを検出するのに役立ちます。これらの分析情報を使用すると、データの管理運営方法について情報に基づいた意思決定を行うことができます。

データ プロファイリングのオペレーションではなく、検査ジョブの結果を Dataplex に送信する場合は、機密データの保護の検査結果を Data Catalog に送信するをご覧ください。

データ プロファイルについて

組織、フォルダ、プロジェクト全体のデータに関するプロファイルを自動的に生成するように、Sensitive Data Protection を構成できます。データ プロファイルには、データに関する指標とメタデータが含まれており、機密データとリスクの高いデータの場所を特定できます。機密データの保護では、これらの指標がさまざまな詳細レベルで報告されます。プロファイリングできるデータの種類については、サポートされているリソースをご覧ください。

Dataplex と Data Catalog について

Dataplex は分散データを統合し、そのデータのデータ管理と運営を自動化する Google Cloud サービスです。Data Catalog は、Dataplex 内のフルマネージドでスケーラブルなメタデータ管理サービスです。

Data Catalog を使用すると、タグとタグ テンプレートを使用して、データにビジネス メタデータを添付できます。そして、組織やプロジェクトのすべてのメタデータを統一されたサービスで検索して管理できます。詳細については、タグとタグ テンプレートをご覧ください。

仕組み

検出スキャン構成で [タグとして Dataplex に送信する] アクションが有効になっている場合、機密データの保護はデータをプロファイルするたびに以下の処理を行います。このアクションは、新規および更新されたプロフィールにのみ適用されます。更新されていない既存のプロファイルは Dataplex に送信されません。

  1. BigQuery テーブルに付加されるタグのスキーマを含む非公開タグ テンプレートを作成します。タグ テンプレートの名前、ID、場所については、タグ テンプレートの詳細をご覧ください。

    タグ テンプレートを表示できるのは、適切なロールと権限を持つプリンシパルのみです。

  2. プロファイリングする BigQuery テーブルごとにタグを作成します。このタグは、新しく作成したタグ テンプレートを基にしています。

    たとえば、テーブルに付加されたタグのメタデータは次のようになります。

    表示名
    Column Insights ccn: CREDIT_CARD_NUMBER
    first_name: PERSON_NAME
    last_name: PERSON_NAME
    ssn: US_SOCIAL_SECURITY_NUMBER
    email: EMAIL_ADDRESS
    Column Sensitivity ccn: HIGH
    first_name: MODERATE
    last_name: MODERATE
    favorite_animal: LOW
    ssn: HIGH
    email: MODERATE
    id: LOW
    Data Risk Level HIGH
    Other InfoTypes PHONE_NUMBER
    Predicted InfoTypes CREDIT_CARD_NUMBER,US_SOCIAL_SECURITY_NUMBER,EMAIL_ADDRESS,PERSON_NAME
    Profile Last Generated DATE at TIME
    Sensitive Data Profile organizations/ORGANIZATION_ID/locations/REGION/tableDataProfiles/TABLE_DATA_PROFILE_ID
    Sensitivity Score HIGH

テーブルが次のいずれでもプロファイリングされている場合、テーブルには 2 つのタグがあります。

  • 組織レベルまたはフォルダレベルのスキャン構成
  • プロジェクト レベルのスキャン構成

テーブルにタグ付けすると、Dataplex で特定のタグ値を使用して、組織やプロジェクトのすべてのデータを検索できます。

タグ テンプレートの詳細

テンプレート名、テンプレート ID、新しいタグ テンプレートが保存されているプロジェクトは、スキャン構成が関連するリソースによって異なります。

  • スキャン構成が組織レベルまたはフォルダレベルの構成の場合、タグ テンプレートはサービス エージェント コンテナに保存されます。タグ テンプレートの名前は Sensitive Data Profile です。テンプレート ID は sensitive_data_profile です。
  • スキャン構成がプロジェクト レベルの構成の場合、タグ テンプレートはプロファイリングされるプロジェクトに保存されます。タグ テンプレートの名前は Sensitive Data Profile (Project) です。テンプレート ID は sensitive_data_profile_project です。

料金

データ プロファイルのエクスポートにかかる他の Google Cloud サービスの料金については、データ プロファイルのエクスポートの料金をご覧ください。

データ プロファイルに基づいて BigQuery テーブルに自動的にタグを付ける

  1. スキャン構成を作成します。または、既存のスキャン構成を編集します。

  2. [アクションを追加] の手順で、[タグとして Dataplex に送信する] がオンになっていることを確認します。

    • スキャン構成を作成する場合は、このアクションはデフォルトで有効になっています。
    • スキャン構成を編集する場合は、このアクションを有効にする必要があります。

データのプロファイリングとタグ付けが完了したら、Dataplex でタグ付けされたデータの検索を開始できます。

タグを表示するためのロールと権限

Dataplex の検索結果には、アクセス権のあるデータのみが表示されます。BigQuery テーブルに付加されたタグを検索するには、次の Identity and Access Management(IAM)のロールまたは権限が必要です。

目的 事前定義ロール 関連する権限
非公開タグ テンプレートを表示する Data Catalog TagTemplate 閲覧者(roles/datacatalog.tagTemplateViewer datacatalog.tagTemplates.getTag
BigQuery テーブルに適用されているタグを表示する BigQuery メタデータ閲覧者(roles/bigquery.metadataViewer bigquery.datasets.get
bigquery.tables.get

Dataplex ロールの詳細については、公開タグと非公開タグを表示するロールをご覧ください。

事前定義ロールの付与については、単一のロールを付与するをご覧ください。事前定義ロールではなくカスタムロールを使用する場合は、カスタムロールに関連する権限があることを確認してください。詳細については、カスタムロールの作成をご覧ください。

生成されたタグ テンプレートを検索する

  1. Google Cloud コンソールで、Dataplex の [タグ テンプレート] ページに移動します。

    [タグ テンプレート] に移動

  2. リストでタグ テンプレートを検索します。タグ テンプレートの名前、ID、ロケーションについては、タグ テンプレートの詳細をご覧ください。

  3. 省略可: 特定の検出スキャン構成によって生成されたタグ テンプレートを検索するには、[フィルタ] フィールドに次のように入力します。

    name:PROJECT_ID.TAG_TEMPLATE_ID
    

    以下を置き換えます。

    • PROJECT_ID: スキャン構成に関連するプロジェクトの ID。組織レベルまたはフォルダレベルでデータをプロファイリングした場合は、サービス エージェント コンテナのプロジェクト ID を入力します。
    • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project

特定のテーブルデータ プロファイル用に生成されたタグを検索する

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

    検索に移動

  2. [検索] フィールドに次のクエリを入力します。

    name:TABLE_ID tag:PROJECT_ID.TAG_TEMPLATE_ID
    

    以下を置き換えます。

    • TABLE_ID: プロファイリングされたテーブルの ID。
    • PROJECT_ID: タグ テンプレートを含むプロジェクトの ID。組織レベルまたはフォルダレベルでデータをプロファイリングした場合は、サービス エージェント コンテナのプロジェクト ID を入力します。
    • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  3. 表示されるリストで、テーブル ID をクリックします。BigQuery テーブルの詳細が、テーブルに付加された Sensitive Data Profile タグまたは Sensitive Data Profile (Project) タグとともに表示されます。

    テーブルが次のいずれでもプロファイリングされている場合、テーブルには 2 つのタグがあります。

    • 組織レベルまたはフォルダレベルのスキャン構成
    • プロジェクト レベルのスキャン構成

Data Catalog API で検索を実行する方法については、データアセットを検索する方法をご覧ください。

検索クエリの例

このセクションでは、Dataplex で特定のタグ値で組織やプロジェクトのデータを検索するために使用できる検索クエリの例を示します。

検索できるのは、アクセス権を持つデータだけです。データアクセスは IAM 権限によって制御されます。詳細については、このページのタグを表示するためのロールと権限をご覧ください。

これらのクエリは、Google Cloud コンソールの Dataplex の [検索] ページに入力できます。

検索に移動

クエリの作成方法については、Data Catalog の検索構文をご覧ください。Data Catalog API で検索を実行する方法については、データアセットを検索する方法をご覧ください。

新しいタグ テンプレートを使用してタグ付けされているすべてのテーブルを検索する

tag:PROJECT_ID.TAG_TEMPLATE_ID

以下を置き換えます。

  • PROJECT_ID: タグ テンプレートを含むプロジェクトの ID。組織レベルまたはフォルダレベルでデータをプロファイリングした場合は、サービス エージェント コンテナのプロジェクト ID を入力します。
  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project

このページのこの後の例にはプロジェクト ID が含まれていないため、さまざまな検出スキャン構成に関連する結果が得られる可能性があります。結果を特定のスキャン構成に限定するには、次の例に示すようにクエリにプロジェクト ID を追加します。

指定された日付以前の最後にプロファイルされたすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.profile_last_generated<DATE

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • DATE: YYYY-MM-DD 形式の日付(例: 2023-01-15)。

指定されたテーブルレベルの機密性スコアを持つすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.sensitivity_score=SENSITIVITY_SCORE

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • SENSITIVITY_SCORE: HIGHMODERATE、またはLOWのいずれかです。

詳細については、データリスクと機密性レベルをご覧ください。

指定されたデータリスク レベルを持つすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.data_risk_level=DATA_RISK_LEVEL

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • DATA_RISK_LEVEL: HIGHMODERATE、またはLOWのいずれかです。

詳細については、データリスクと機密性レベルをご覧ください。

指定された予測 infoType を含むすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.predicted_info_types:INFOTYPE

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • INFOTYPE: infoType(例: PERSON_NAME)。

すべての組み込み infoType の一覧については、infoType 検出器リファレンスをご覧ください。

詳細については、指標リファレンス予測 infoType をご覧ください。

指定された infoType を部分的に含むすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.other_info_types:INFOTYPE

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • INFOTYPE: infoType(例: PERSON_NAME)。

すべての組み込み infoType の一覧については、infoType 検出器リファレンスをご覧ください。

詳細については、指標リファレンスその他の infoType をご覧ください。

指定された予測 infoType を持つ指定された列を含むすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.column_insights:COLUMN_NAME:INFOTYPE

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • COLUMN_NAME: BigQuery テーブル内の列の名前。
  • INFOTYPE: infoType(例: PERSON_NAME)。

すべての組み込み infoType の一覧については、infoType 検出器リファレンスをご覧ください。

詳細については、指標リファレンス予測 infoType をご覧ください。

指定された列レベルの機密性スコアを持つ指定された列を含むすべてのテーブルを検索する

tag:TAG_TEMPLATE_ID.column_sensitivity:COLUMN_NAME:SENSITIVITY_SCORE

次のように置き換えます。

  • TAG_TEMPLATE_ID: スキャン構成が組織またはフォルダの場合は sensitive_data_profile。スキャン構成がプロジェクトの場合は sensitive_data_profile_project
  • COLUMN_NAME: BigQuery テーブル内の列の名前。
  • SENSITIVITY_SCORE: HIGHMODERATE、またはLOWのいずれかです。

詳細については、データリスクと機密性レベルをご覧ください。

切り捨てられたタグの値

BigQuery テーブルの列見出しデータが 10 MB を超えると、生成されたタグの Column Insights フィールドまたは Column Sensitivity フィールドに [TRUNCATED] が表示されることがあります。この場合は、機密データの保護に移動して、テーブルデータ プロファイルと関連する列データ プロファイルを確認することをおすすめします。