本页面列出了敏感数据保护功能的已知问题,以及可以避免或在发生以下问题时恢复服务的方法。
常见问题
将结果存储到 BigQuery
当作业或发现扫描将结果存储到 BigQuery 时,日志中会显示 Already exists
错误。此错误并不表示存在问题;您的结果将按预期存储。
BigQuery 扫描
本部分介绍了在检查或分析 BigQuery 数据时可能会遇到的问题。
检查和性能分析操作常见的问题
以下问题适用于 BigQuery 检查和性能分析操作。
无法扫描具有行级安全性的行
行级安全政策可以阻止敏感数据保护功能检查和分析受保护的 BigQuery 表。如果您已将行级安全政策应用于 BigQuery 表,我们建议您设置 TRUE 过滤条件,并将服务代理添加到受让人名单中:
- 如果您要在组织级或文件夹级分析数据,请在受让人名单中添加容器项目的服务代理。
- 如果您要在项目级别分析数据或对表运行检查作业,请在受让人名单中添加项目的服务代理。
重复行
将数据写入 BigQuery 表时,敏感数据保护功能可能会写入重复行。
最近流式传输的数据
敏感数据保护不会扫描最近流式传输的数据(以前称为流缓冲区)。如需了解详情,请参阅 BigQuery 文档中的流式数据可用性部分。
BigQuery 检查问题
以下问题仅适用于 BigQuery 数据的检查操作。它们不会影响数据剖析。
导出的发现结果中 row_number 字段没有值
当您配置敏感数据保护以将发现结果保存到 BigQuery 时,系统会在扫描输入表时推断生成的 BigQuery 表中的 location.content_locations.record_location.record_key.big_query_key.row_number
字段。其值是不确定的,无法查询,并且对于检查作业可以为 null。
如果需要标识存在发现结果的特定行,请在创建作业时指定 inspectJob.storageConfig.bigQueryOptions.identifyingFields
。
在生成的 BigQuery 表的 location.content_locations.record_location.record_key.id_values
字段中可以找到标识字段。
将扫描范围限制为新的 BigQuery 内容
如果您仅限于扫描新内容,并使用 BigQuery Storage Write API 填充输入表,敏感数据保护功能可能会跳过扫描某些行。
为缓解此问题,请在检查作业中,确保 TimespanConfig
对象的 timestampField
是 BigQuery 自动生成的提交时间戳。不过,由于 Sensitive Data Protection 不会从最近流式传输的数据读取,因此仍无法保证不会跳过任何行。
如果您想为某个列自动生成提交时间戳,并且使用旧版流式传输 API 填充输入表,请执行以下操作:
在输入表的架构中,确保时间戳列的类型为
TIMESTAMP
。架构示例
以下示例定义了
commit_time_stamp
字段并将其类型设置为TIMESTAMP
:... { "name": "commit_time_stamp", "type": "TIMESTAMP" } ...
在
tabledata.insertAll
方法的rows[].json
字段中,确保将时间戳列中的值设置为AUTO
。JSON 示例
以下示例将
commit_time_stamp
字段的值设置为AUTO
:{ ... "commit_time_stamp": "AUTO", ... }
通过设置百分比上限或行数上限来限制扫描
如果您根据表格总行数的百分比 (rowsLimitPercent
) 设置抽样上限,Sensitive Data Protection 可能会检查的行数超出预期。如果您需要对要扫描的行数设置硬限制,我们建议改为设置行数上限 (rowsLimit
)。
BigQuery 性能分析问题
以下问题仅适用于对 BigQuery 数据进行性能分析的操作。如需了解详情,请参阅 BigQuery 数据的数据剖析文件。
拥有超过 5 亿个表的组织或项目
如果您尝试对拥有超过 5 亿个表的组织或项目进行数据分析,敏感数据保护功能将返回错误。如果您遇到此错误,请按照错误消息中的说明操作。
如果您的组织拥有超过 5 亿个表,但您有些项目的表数量较少,则请尝试执行项目级层扫描。
如需了解表和列的限制,请参阅数据剖析限制。
检查模板
检查模板必须与要分析的数据位于同一区域。如果您的数据位于多个区域,请使用多个检查模板,每个有数据的区域对应一个模板。您还可以使用存储在 global
区域中的检查模板。如果您在 global
区域中添加了模板,Sensitive Data Protection 会将其用于没有特定区域模板的所有数据。如需了解详情,请参阅数据驻留注意事项。
存储的 InfoType
检查模板中引用的存储的 infoType(也称为存储的自定义字典检测器)必须存储在以下任一位置:
global
区域。- 与检查模板位于同一区域。
否则,性能分析操作将失败并显示错误 Resource not found
。
资源公开范围
在表数据分析中,为 BigQuery 表分配的资源公开范围分类取决于包含该表的数据集的公开范围,而不是表的公开范围。因此,如果表的 IAM 权限与数据集的 IAM 权限不同,则数据分析中显示的表的资源公开范围可能不正确。此问题会影响 BigQuery 的发现功能和 Vertex AI 的发现功能。
在 Google Cloud 控制台中,资源公开范围显示在表数据配置文件的公开字段中。在 Cloud Data Loss Prevention API 中,资源公开范围显示在 TableDataProfile
的 resourceVisibility
字段中。
Cloud Storage 扫描
使用大型自定义字典检测器检查 XLSX 文件
当您使用大型自定义字典检测器(也称为存储的自定义字典检测器)来检查 Microsoft Excel .xlsx
文件时,检查作业可能会运行缓慢、似乎卡住,并产生大量 Cloud Storage B 类操作。这是因为敏感数据保护功能可能会针对 .xlsx
文件中的每个单元格读取大型自定义字典的来源字词列表一次。读取操作量可能会导致敏感数据保护检查作业进度缓慢,并且看起来似乎卡住了。
如需详细了解相关的 Cloud Storage 结算费用,请参阅操作费用中的 B 类操作费用。
以二进制模式扫描的结构化文件
在某些情况下,通常在结构化解析模式下扫描的文件可能会在二进制模式下扫描,二进制模式不包含结构化解析模式的增强功能。如需了解详情,请参阅在结构化解析模式下扫描结构化文件。
对分隔符文件进行去标识化
使用检查作业去标识化分隔文件(例如 CSV 文件)时,输出中某些行可能会有额外的空白单元格。如需避免出现这些额外的单元格,一种解决方法是改用 content.deidentify
方法对数据进行去标识化处理。
Cloud SQL 的发现功能
Security Command Center 中存在重复的发现结果
Cloud SQL 数据分析支持将发现结果发布到 Security Command Center。
在 2024 年 4 月 25 日之前,有一个 bug 会导致敏感数据保护在 Security Command Center 中偶尔为 Cloud SQL 实例生成重复的发现结果。这些发现结果具有唯一的发现结果 ID,但与同一 Cloud SQL 实例相关。问题已得到解决,但重复的发现结果仍然存在。您可以忽略重复项,以便在 Security Command Center 的发现结果页面上隐藏这些项。
Amazon S3 的发现功能
敏感数据保护功能发送到 Security Command Center 的 Amazon S3 发现结果可能不包含受影响资源的 AWS 账号 ID 或显示名称的相关信息。这通常发生在以下情况下:
- 在将发现结果发送到 Security Command Center 时,AWS 连接器才有效了约 24 小时。
- 在将该发现发送到 Security Command Center 时,该 AWS 账号才加入 AWS 连接器大约 24 小时。
如需解决此问题,请大约 24 小时后通过删除数据配置文件或设置配置文件生成时间表来重新生成数据配置文件。系统会将完整的发现结果详情发送到 Security Command Center。
智能文档解析
本部分包含与文档解析相关的已知问题。
DocumentLocation
对象未填充
对于智能文档解析扫描模式,系统不会填充 location.content_locations.document_location.file_offset
字段。
检测
如果字典字词包含 Unicode 标准补充多语言平面中的字符,则可能会出现意外结果。此类字符的示例包括表情符号、科学符号和历史文字。