排查与发现服务相关的问题

本页面介绍了如何解决 Sensitive Data Protection 的发现服务的问题。如需详细了解发现服务,请参阅数据配置文件。如需了解如何查看与发现扫描配置相关的错误,请参阅查看配置错误

服务代理容器未启用 DLP API

如果您创建了组织级扫描配置,但您在所选项目(即服务代理容器)上没有 serviceusage.services.enable 权限,则会出现此问题。Sensitive Data Protection 无法自动在项目中启用 DLP API。

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

如需解决此问题,请执行以下某项任务。在这两种情况下,您都需要获取所需的权限。如需了解详情,请参阅在组织或文件夹级层使用数据剖析文件所需的角色

创建新的服务代理容器

  1. 请让您的管理员为您授予组织中的 Project Creator (roles/resourcemanager.projectCreator) 角色。
  2. 修改组织级扫描配置。
  3. 服务代理容器部分中,点击创建并按照提示操作,以创建新的服务代理容器。
  4. 保存配置。

更新服务代理容器

  1. 请让管理员向您授予在您选择作为服务代理容器的项目中具有 serviceusage.services.enable 权限的角色。
  2. 查看扫描配置的详细信息,了解当前存在的错误。
  3. 找到此错误,然后点击修复

服务代理无权读取受访问权限控制的列

在对通过政策标记执行列级安全性的表进行分析时,会发生此问题。如果服务代理无权访问受限列,Sensitive Data Protection 会显示以下错误:

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) 页面上向服务代理授予 Fine-Grained Reader 角色。

转到 IAM

Sensitive Data Protection 会定期重新尝试剖析之前未能成功剖析的数据。

如需详细了解如何授予角色,请参阅授予单个角色

服务代理没有数据分析访问权限

当组织中的人员创建组织级或文件夹级扫描配置后,会发生此问题。查看扫描配置详细信息时,您会看到扫描状态的值为处于生效状态但有错误。当您查看错误时,敏感数据保护会显示以下错误消息:

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

发生此错误的原因是,在创建扫描配置时,敏感数据保护无法自动向服务代理授予 DLP Organization Data Profiles Driver 角色。扫描配置的创建者没有授予数据分析访问权限的权限,因此 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. 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 Service Agent (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 会定期重新尝试剖析之前未能成功剖析的数据。

  4. 服务账号无权发布到 Pub/Sub 主题

    当 Sensitive Data Protection 尝试向服务代理没有发布访问权限的 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 Publisher 角色。

    如果 Pub/Sub 主题存在配置或权限问题,敏感数据保护功能会重试发送 Pub/Sub 通知,重试时间最长为两周。两周后,系统会舍弃该通知。

    检查模板不能用于剖析其他区域中的数据

    当 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 尝试分析不受支持的表

    当 Sensitive Data Protection 尝试剖析不受支持的表时,就会出现此问题。对于该表,您仍会获得包含表元数据的部分剖析文件。不过,部分个人资料会显示以下错误:

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

    如果您不想针对不受支持的表获取部分分析和错误,请按以下步骤操作:

    1. 修改扫描配置
    2. 管理时间表步骤中,点击 修改时间表
    3. 在随即显示的窗格中,点击条件标签页。
    4. 要进行分析的表部分中,点击分析支持的表

    如需了解详情,请参阅管理时间安排

    预建的 Looker 报告无法正常加载

    请参阅排查预建报告中的错误

    请参阅根据数据敏感度控制对资源的 IAM 访问权限的文档中的问题排查

    后续步骤