検出サービスの問題のトラブルシューティング

このページでは、機密データの保護の検出サービスの問題を解決する方法について説明します。検出サービスの詳細については、データ プロファイルをご覧ください。検出スキャン構成に関連付けられたエラーを表示する方法については、構成エラーを表示するをご覧ください。

サービス エージェント コンテナで DLP API が有効になっていない

この問題は、組織レベルのスキャン構成を作成するときに、サービス エージェント コンテナとして選択したプロジェクトに serviceusage.services.enable 権限がない場合に発生します。Sensitive Data Protection は、プロジェクトで DLP API を自動的に有効にできません。

Permission denied to enable service [dlp.googleapis.com]

この問題を解決するには、次のいずれかの操作を行います。どちらの場合も、必要な権限を取得する必要があります。詳細については、組織レベルまたはフォルダレベルでデータ プロファイルを操作するために必要なロールをご覧ください。

新しいサービス エージェント コンテナを作成する

  1. 組織に対するプロジェクト作成者(roles/resourcemanager.projectCreator)ロールを付与するよう管理者に依頼します。
  2. 組織レベルのスキャン構成を編集します。
  3. [サービス エージェント コンテナ] セクションで、[作成] をクリックして、表示される手順に沿って新しいサービス エージェント コンテナを作成します。
  4. 構成を保存します。

サービス エージェント コンテナを更新する

  1. サービス エージェント コンテナとして選択したプロジェクトに対する serviceusage.services.enable 権限を持つロールを付与するよう管理者に依頼してください。
  2. スキャン構成の詳細を表示して、アクティブなエラーを確認します。
  3. このエラーを見つけて [修復] をクリックします。

サービス エージェントに、アクセス制御された列を読み取る権限がない

この問題は、ポリシータグを使用して列レベルのセキュリティを適用するテーブルをプロファイリングすると発生します。サービス エージェントが制限付きの列にアクセスする権限がない場合、機密データの保護は次のエラーを表示します。

Permission denied for DLP API service account 'SERVICE_AGENT_ID'
while accessing a BigQuery table. Access Denied: BigQuery BigQuery: User does
not have permission to access policy tag "POLICY_TAG_ID" on column FIELD_NAME.

この問題を解決するには、Identity and Access Management(IAM)ページで、サービス エージェントにきめ細かい読み取りのロールを付与します。

[IAM] に移動

機密データの保護は、プロファイリングに失敗したプロファイリング データを定期的に再試行します。

ロールの付与の詳細については、単一のロールを付与するをご覧ください。

サービス エージェントにデータ プロファイリング アクセス権がない

この問題は、組織内のユーザーが組織レベルまたはフォルダレベルのスキャン構成を作成した後に発生します。スキャン構成の詳細を表示すると、[Scan status] の値が [Active with errors] になります。エラーを表示すると、機密データの保護には次のエラー メッセージが表示されます。

None of the driver projects (PROJECT_ID) have MISSING_PERMISSION
permission for organizations/ORGANIZATION_ID.

このエラーは、スキャン構成の作成中に機密データの保護によって DLP 組織データ プロファイル ドライバのロールがサービス エージェントに自動的に付与できなかったために発生しました。スキャン構成の作成者にはデータ プロファイリング アクセス権を付与する権限がないため、機密データの保護が代理でこれを行うことはできません。

この問題を解決するには、サービス エージェントにデータ プロファイリングのアクセス権を付与するをご覧ください。

サービス アカウントに、テーブルをクエリする権限がない

この問題は、サービス エージェントがクエリする権限のないテーブルを機密データの保護がプロファイリングしようとしたときに発生します。機密データの保護には次のエラーが表示されます。

Permission denied error: Permission denied for DLP API service account 'SERVICE_AGENT_ID'
while accessing BigQuery table. Access Denied: Table TABLE: User does not have
permission to query table TABLE. Permission denied for DLP API service account
'SERVICE_AGENT_ID' while accessing BigQuery table. Access Denied: Table TABLE:
User does not have permission to query TABLE. [TIMESTAMP]

テーブルがまだ存在することを確認します。テーブルが存在する場合は、次の手順を実行します。

  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. テーブルの現在の IAM ポリシーを取得し、stdout に出力します。

    bq get-iam-policy TABLE
    

    TABLE は、BigQuery テーブルの完全なリソース名を PROJECT_ID:DATASET_ID.TABLE_ID の形式に置き換えます(例:project-id:dataset-id.table-id)。

  3. DLP API サービス エージェントroles/dlp.serviceAgent)のロールをサービス エージェントに付与します。

    bq add-iam-policy-binding --member=serviceAccount:SERVICE_AGENT_ID \
        --role=roles/dlp.serviceAgent TABLE
    

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

    • SERVICE_AGENT_ID: テーブルに対してクエリを行う必要のあるサービス エージェントの ID(例: service-0123456789@dlp-api.iam.gserviceaccount.com)。
    • TABLE: BigQuery テーブルの完全なリソース名。形式は PROJECT_ID:DATASET_ID.TABLE_ID(例:project-id:dataset-id.table-id)。

      出力は次のようになります。

    Successfully added member 'SERVICE_AGENT_ID' to role 'roles/dlp.serviceAgent' in IAM policy for table 'TABLE':
    
    {
     "bindings": [
       {
         "members": [
           "serviceAccount:SERVICE_AGENT_ID"
         ],
         "role": "roles/dlp.serviceAgent"
       }
     ],
     "etag": "BwXNAPbVq+A=",
     "version": 1
    }
    

    機密データの保護は、プロファイリングに失敗したプロファイリング データを定期的に再試行します。

  4. サービス アカウントに Pub/Sub トピックにパブリッシュする権限がありません

    この問題は、サービス エージェントに公開アクセス権がない Pub/Sub トピックに機密データの保護が通知を公開しようとしたときに発生します。機密データの保護には次のエラーが表示されます。

    Permission missing to publish notifications on Cloud Pub/Sub topic 'TOPIC_NAME'.
    The DLP API service account 'SERVICE_AGENT_ID' must must have at least the Pub/Sub Publisher role.
    

    この問題を解決するには、サービス エージェントにプロジェクトまたはトピック レベルで公開アクセス権を付与します。公開アクセス権を持つロールの例として、Pub/Sub パブリッシャーのロールがあります。

    Pub/Sub トピックの構成または権限に問題がある場合、Sensitive Data Protection は Pub/Sub 通知の送信を最大 2 週間再試行します。2 週間後に通知は破棄されます。

    検査テンプレートは、異なるリージョンのプロファイル データには使用できません

    この問題は、機密データの保護が、検査テンプレートが存在する同じリージョンに存在しないデータをプロファイリングしようとしたときに発生します。機密データの保護には次のエラーが表示されます。

    Data in region DATA_REGION cannot be profiled using template in region
    TEMPLATE_REGION. Regional template can only be used to profile data
    in the same region. If profiling data in multiple regions, use a global template.
    

    このエラー メッセージでは、DATA_REGION はデータが存在するリージョンで、TEMPLATE_REGION は検査テンプレートが存在するリージョンです。

    この問題を解決するには、リージョン固有のテンプレートを global リージョンにコピーします。

    1. 検査テンプレートを global リージョンにコピーします

    2. [検査テンプレートの詳細] ページで、テンプレートの完全なリソース名をコピーします。完全なリソース名の形式は次のとおりです。

      projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
    3. スキャン構成を編集して、新しい検査テンプレートの完全なリソース名を入力します。

    4. [保存] をクリックします。

    機密データの保護は、プロファイリングに失敗したプロファイリング データを定期的に再試行します。

    機密データの保護がサポートされていないテーブルをプロファイリングしようとした

    この問題は、機密データの保護がサポートされていないテーブルをプロファイリングしようとしたときに発生します。このテーブルのメタデータを含む部分的なプロファイルは引き続き取得されます。ただし、部分的なプロファイルに関する次のエラーが表示されます。

    Unimplemented error: Table of type `TABLE_TYPE` is not currently supported for inspection. [DATE_TIME].
    

    サポートされていないテーブルについて部分的なプロファイルとエラーを表示しない場合は、次の手順を行います。

    1. スキャンの設定を編集します
    2. [スケジュールの管理] の手順で、 [スケジュールの編集] をクリックします。
    3. 表示されたペインで [条件] タブをクリックします。
    4. [プロファイリングするテーブル] セクションで、[サポートされているテーブルをプロファイリングする] をクリックします。

    詳細については、スケジュールの管理をご覧ください。

    事前作成された Looker レポートが正しく読み込まれない

    事前作成されたレポートでエラーのトラブルシューティングを行うをご覧ください。

    データの機密性に基づいてリソースへの IAM アクセスを制御するドキュメントエラーのトラブルシューティングをご覧ください。

    次のステップ