本页面介绍如何解决敏感数据保护发现服务的问题。如需详细了解发现服务,请参阅数据分析文件。
服务代理无权读取受访问权限控制的列
在对通过政策标记执行列级安全性的表进行分析时,会发生此问题。如果服务代理无权访问受限列,则敏感数据保护会显示以下错误:
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 角色。
敏感数据保护会定期重试其无法分析的分析表。
如需详细了解如何授予角色,请参阅授予单个角色。
服务代理没有数据分析访问权限
当组织中的人员创建组织级或文件夹级扫描配置后,会发生此问题。查看扫描配置详细信息时,您会看到扫描状态的值为处于生效状态但有错误。当您查看错误时,敏感数据保护会显示以下错误消息:
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]
如需解决此问题,请按以下步骤操作:
确认该表仍然存在。如果表存在,请执行后续步骤。
激活 Cloud Shell。
如果系统提示您为 Cloud Shell 授权,请点击授权。
或者,如果您想要使用 Google Cloud CLI 中的
bq
命令行工具,请安装并初始化 Google Cloud CLI。获取表的当前 IAM 政策,并将其输出到
stdout
:bq get-iam-policy TABLE
将 TABLE 替换为 BigQuery 表的完整资源名称,格式为 PROJECT_ID:DATASET_ID.TABLE_ID,例如
project-id:dataset-id.table-id
。向服务代理授予 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 }
敏感数据保护会定期重试其无法分析的分析表。
- SERVICE_AGENT_ID:需要查询表的服务代理的 ID,例如
服务帐号无权发布到 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 Publisher 角色。
如果 Pub/Sub 主题存在配置或权限问题,敏感数据保护会在最多两周内重新尝试发送 Pub/Sub 通知。两周后,系统将舍弃该通知。
检查模板不能用于剖析其他区域中的数据
当敏感数据保护尝试分析的数据与检查模板所在的区域不同时,就会出现此问题。敏感数据保护会显示以下错误:
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
区域:
在检查模板详情页面上,复制模板的完整资源名称。完整资源名称采用以下格式:
projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
修改扫描配置,然后输入新检查模板的完整资源名称。
点击保存。
敏感数据保护会定期重试其无法分析的分析表。
敏感数据保护功能尝试分析不受支持的表
当敏感数据保护尝试分析不受支持的表时,就会出现此问题。对于该表,您仍然会获得包含表元数据的部分配置文件。不过,部分性能剖析文件会显示以下错误:
Unimplemented error: Table of type `TABLE_TYPE` is not currently supported for inspection. [DATE_TIME].
如果您不希望获得不受支持的表的部分分析和错误,请按以下步骤操作:
- 修改扫描配置。
- 在管理时间表步骤中,点击 修改时间表。
- 在显示的窗格中,点击 Conditions 标签页。
- 在要分析的表部分中,点击分析支持的表。
如需了解详情,请参阅管理时间表。