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

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

サービス エージェント コンテナで 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)ページで、サービス エージェントにきめ細かい読み取りのロールを付与します。

[Go to IAM]

Sensitive Data Protection は、プロファイリングに失敗したプロファイリング データを定期的に再試行します。

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

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

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

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

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

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

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

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

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. コンソールで Cloud Shell をアクティブにします。 Google Cloud

    Cloud Shell をアクティブにする

    コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  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
    }
    

    Sensitive Data Protection は、プロファイリングに失敗したプロファイリング データを定期的に再試行します。

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

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

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 週間後に通知は破棄されます。

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

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

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. [保存] をクリックします。

Sensitive Data Protection は、プロファイリングに失敗したプロファイリング データを定期的に再試行します。

Sensitive Data Protection がサポートされていないテーブルをプロファイリングしようとしました

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

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

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

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

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

既製のデータポータル レポートが正しく読み込まれない

既製のレポートに関するエラーのトラブルシューティングをご覧ください。

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

次のステップ