データ プロファイルの分析情報に基づいて Dataplex Catalog アスペクトを追加する

このページでは、Sensitive Data Protection がリソースをプロファイリングした後に、Dataplex アスペクトをデータに自動的に追加する方法について説明します。このページでは、組織やプロジェクト全体で特定のアスペクト値を持つデータを検索するために使用できるクエリの例についても説明します。

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

  • テーブルまたはデータセットの計算された機密レベル
  • テーブルまたはデータセットの計算されたデータリスク レベル
  • テーブルまたはデータセットで検出された情報の種類(infoType

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

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

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

データ プロファイルを Dataplex、Pub/SubSecurity Command CenterGoogle Security Operations などの他の Google Cloud サービスに送信して、データ ガバナンス、アラート、セキュリティ ワークフローを強化できます。

Dataplex Catalog について

Dataplex Catalog は、 Google Cloud リソースの統合インベントリを提供する Dataplex 機能です。

Dataplex Catalog では、アスペクトを使用してビジネス メタデータとテクニカル メタデータをデータに追加し、リソースのコンテキストと知識をキャプチャできます。組織全体でデータを検索して検出し、データアセットに対するデータ ガバナンスを有効にできます。詳細については、アスペクトをご覧ください。

サポートされているリソース

Sensitive Data Protection は、次のリソースの Dataplex エントリにアスペクトを自動的に接続できます。

  • 複数の BigQuery テーブル
  • Cloud SQL テーブル

  • BigQuery テーブルから作成された Vertex AI データセット

Dataplex Catalog は Cloud Storage バケットを取り込まないため、Cloud Storage データをプロファイリングする場合は、この機能は使用できません。

仕組み

データ プロファイルに基づいて Dataplex Catalog アスペクトを自動的に作成するワークフローの概要は次のとおりです。

  1. サポートされているリソースタイプのスキャン構成を作成または編集します。

  2. [アクションを追加する] の手順で、[アスペクトとして Dataplex Catalog に送信する] アクションが有効になっていることを確認します。

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

    スキャン構成を編集する場合は、このアクションを有効にします。

Sensitive Data Protection は、プロファイリングするサポートされているリソースごとに、Dataplex エントリSensitive Data Protection profile アスペクトを追加または更新します。その後、Dataplex Catalog で特定のアスペクト値を使用して、組織またはプロジェクト内のすべてのデータを検索できます。

[アスペクトとして Dataplex Catalog に送信する] アクションを有効にすると、Sensitive Data Protection はこのアクションを新しいプロファイルと更新されたプロファイルにのみ適用します。更新されていない既存のプロファイルは Dataplex カタログに送信されません。

最上位フィールド

プロファイリングされたテーブルの作成されたアスペクトには、次のトップレベル フィールドがあります。

表示名 値の例 説明
Sensitivity MODERATE テーブルの計算された機密レベル
Risk MODERATE テーブルの計算されたデータリスク レベル
InfoTypes
  • infoType: CREDIT_CARD_NUMBER
  • infoType: PHONE_NUMBER
  • infoType: US_SOCIAL_SECURITY_NUMBER
テーブルで検出されたすべての infoType のリスト(予測された infoTypeその他の infoType を含む)。このフィールドは、テーブルで 1 つ以上の infoType が検出された場合を含められます。
Column InfoTypes
  • infoType: CREDIT_CARD_NUMBER
  • infoType: PHONE_NUMBER
テーブルのすべての列で検出されたすべての予測された infoType のリスト。このフィールドは、テーブルで予測された infoType が 1 つ以上検出された場合、含まれます。
Project Profile このページのプロジェクト プロファイルと組織プロファイルをご覧ください。 プロジェクト レベルのスキャン構成でリソースがプロファイリングされた場合に含まれます。
Organization Profile このページのプロジェクト プロファイルと組織プロファイルをご覧ください。 組織レベルまたはフォルダレベルのスキャン構成でリソースがプロファイリングされた場合に含まれます。

リソースがプロジェクト レベルと組織レベルまたはフォルダレベルの両方でプロファイリングされている場合、Sensitive Data Protection は両方のプロファイルの値を集約します。このアスペクトは、検出された infoType の結合を提供し、両方のプロファイルで最も高い機密性とデータリスクの評価を使用します。

たとえば、プロジェクト レベルのプロファイルでリソースの機密性が MODERATE と評価され、組織レベルのプロファイルで機密性が LOW と評価されているとします。この場合、アスペクトのトップレベルの Sensitivity フィールドの値は MODERATE です。

プロジェクト プロファイルと組織プロファイルのフィールド

生成された Sensitive Data Protection profile アスペクトには、リソースのプロファイリング レベルに応じて、次の最上位フィールドの 1 つまたは両方が含まれます。

Project Profile
プロジェクト レベルのスキャン構成でリソースがプロファイリングされた場合、アスペクトに含まれます
Organization Profile
組織レベルまたはフォルダレベルのスキャン構成でリソースがプロファイリングされた場合、アスペクトに含まれます

リソースがプロジェクト レベルと組織レベルまたはフォルダレベルの両方でプロファイリングされている場合、結果のアスペクトには Project Profile フィールドと Organization Profile フィールドの両方があります。

Project Profile フィールドまたは Organization Profile フィールドには、データ プロファイルにリストされている値を含むネストされた Sensitivity フィールドと Risk フィールドが含まれています。データ プロファイルに予測された infoType と他の infoType がリストされている場合は、それらをネストされた Column InfoTypes フィールドと InfoTypes フィールドとして使用することもできます。また、各 Project Profile フィールドまたは Organization Profile フィールドには、次のネストされたフィールドが含まれています。

Profile

データ プロファイルの完全なリソース名。例:

  • プロジェクト レベルのプロファイル: projects/PROJECT_ID/locations/LOCATION/tableDataProfiles/PROFILE_ID
  • 組織レベルまたはフォルダレベルのプロファイル: organizations/ORGANIZATION_ID/locations/LOCATION/tableDataProfiles/PROFILE_ID
Profile Link

Google Cloud コンソールのプロフィールへのリンク。例:

  • プロジェクト レベルのプロファイル: https://console.cloud.google.com/security/sensitive-data-protection/projects/PROJECT_ID/locations/LOCATION/tableDataProfiles/PROFILE_ID
  • 組織レベルまたはフォルダレベルのプロファイル: https://console.cloud.google.com/security/sensitive-data-protection/organizations/ORGANIZATION_ID/locations/LOCATION/tableDataProfiles/PROFILE_ID

Dataplex API を有効にする

アスペクトを追加するリソースを含む各プロジェクトで Dataplex API を有効にする必要があります。このセクションでは、単一のプロジェクトまたは組織またはフォルダ内のすべてのプロジェクトで Dataplex API を有効にする方法について説明します。

単一のプロジェクトで Dataplex API を有効にする

  1. Dataplex API を有効にするプロジェクトを選択します。

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

  2. Enable the Dataplex API.

    Enable the API

組織またはフォルダ内のすべてのプロジェクトで Dataplex API を有効にする

このセクションでは、組織またはフォルダ内のすべてのプロジェクトを検索し、各プロジェクトで Dataplex API を有効にするスクリプトを示します。

組織またはフォルダ内のすべてのプロジェクトで Dataplex API を有効にするために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

  • 組織またはフォルダに対する Cloud Asset 閲覧者 roles/cloudasset.viewer
  • Dataplex API を有効にする各プロジェクトに対する DLP ユーザー roles/dlp.user

ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

これらの事前定義ロールには、組織またはフォルダ内のすべてのプロジェクトで Dataplex API を有効にするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

組織またはフォルダ内のすべてのプロジェクトで Dataplex API を有効にするには、次の権限が必要です。

  • 組織またはフォルダ内のすべてのプロジェクトを検索するには、組織またはフォルダに対して cloudasset.assets.searchAllResources を使用します。
  • Dataplex API を有効にするには、Dataplex API を有効にする各プロジェクトで serviceusage.services.use を使用します。

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

組織またはフォルダ内のすべてのプロジェクトで Dataplex API を有効にするには、次の操作を行います。

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 次のスクリプトを実行します。

    #!/bin/bash
    
    RESOURCE_ID="RESOURCE_ID"
    
    gcloud asset search-all-resources \
        --scope="RESOURCE_TYPE/$RESOURCE_ID" \
        --asset-types="cloudresourcemanager.googleapis.com/Project" \
        --format="value(name)" |
        while read project_name; do
          project_id=$(echo "$project_name" | sed 's|.*/||')
          gcloud services enable "dataplex.googleapis.com" --project="$project_id"
        done
    

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

    • RESOURCE_ID: プロジェクトを含むリソースの組織番号またはフォルダ番号
    • RESOURCE_TYPE: プロジェクトを含むリソースのタイプ(organizations または folders

アスペクトを表示するためのロールと権限

リソースに関連付けられたアスペクトを検索するために必要な権限を取得するには、リソースに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

これらの事前定義ロールには、リソースに関連付けられたアスペクトを検索するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

リソースに関連付けられたアスペクトを検索するには、次の権限が必要です。

  • Dataplex エントリを表示します。
    • dataplex.entries.list
    • dataplex.entries.get
  • BigQuery データセットとテーブルを表示する:
    • bigquery.datasets.get
    • bigquery.tables.get
  • Vertex AI データセットを表示する: aiplatform.datasets.get

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Dataplex の使用に必要な権限の詳細については、Dataplex IAM 権限をご覧ください。

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

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

    検索に移動

  2. 組織またはプロジェクトを選択します。

  3. [検索プラットフォームを選択] で、検索モードとして [Dataplex Catalog] を選択します。

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

    name:TABLE_ID
    

    TABLE_ID は、プロファイリングされたテーブルの ID に置き換えます。

  5. 表示されたリストで、テーブル名をクリックします。BigQuery テーブルの詳細が表示されます。関連付けられている Sensitive Data Protection profile アスペクトは、[オプションのタグとアスペクト] セクションに表示されます。

リソースの検索方法の詳細については、Dataplex Catalog でリソースを検索するをご覧ください。

検索クエリの例

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

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

これらのサンプルクエリは、Dataplex の [検索] ページの [検索] フィールドに入力できます。

検索に移動

クエリの作成方法については、Dataplex Catalog の検索構文をご覧ください。

Sensitive Data Protection プロファイル アスペクトを持つすべてのリソースを検索する

aspect:sensitive-data-protection-profile

指定された機密性スコアを持つすべてのリソースを検索する

aspect:sensitive-data-protection-profile.sensitivity=SENSITIVITY_SCORE

SENSITIVITY_SCORE は、HIGHMODERATEUNKNOWN、または LOW に置き換えます。

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

指定されたリスクスコアを持つすべてのリソースを検索する

aspect:sensitive-data-protection-profile.risk=DATA_RISK_LEVEL

DATA_RISK_LEVEL は、HIGHMODERATEUNKNOWN、または LOW に置き換えます。

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

プロジェクト レベルのプロファイルを持つすべてのリソースを検索する

aspect:sensitive-data-protection-profile.projectProfile

組織レベルのプロファイルを持つすべてのリソースを検索する

aspect:sensitive-data-protection-profile.organizationProfile