本页面介绍了敏感数据发现服务。此服务可帮助您确定敏感数据和高风险数据所在的位置。
概览
借助发现服务,您可以识别敏感数据和高风险数据所在的位置,从而保护整个组织中的数据。当您创建发现扫描配置时,敏感数据保护会扫描您的资源,以识别需要分析的数据。然后,生成数据分析。只要发现配置有效,敏感数据保护功能就会自动分析您添加和修改的数据。您可以跨整个组织、单个文件夹和单个项目生成数据分析文件。
每个数据分析文件都是发现服务通过扫描受支持的资源收集的一组数据分析和元数据。数据分析包括预测的 infoTypes 以及计算出的数据风险和敏感度级别。使用这些数据洞见来就如何保护、共享和使用您的数据做出明智的决策。
系统会生成各种详细程度的数据分析。例如,在分析 BigQuery 数据时,分析会在项目、表和列级别生成。
下图显示了列级数据分析文件列表。点击图片可放大。
![列数据剖析文件的屏幕截图](https://cloud.google.com/static/dlp/docs/images/column-data-profiles.png?authuser=0000&hl=zh-cn)
如需查看每个数据分析文件中包含的数据分析和元数据的列表,请参阅指标参考文档。
如需详细了解 Google Cloud 资源层次结构,请参阅资源层次结构。
BigQuery 数据发现
分析 BigQuery 数据时,系统会在项目、表和列级别生成数据分析文件。在对 BigQuery 表进行性能分析后,您可以通过执行深入检查进一步调查结果。
如需详细了解 BigQuery,请参阅 BigQuery 文档。
Cloud SQL 数据发现
分析 Cloud SQL 数据时,系统会在项目、表和列级别生成数据分析文件。在开始发现之前,您需要提供要分析的每个 Cloud SQL 实例的连接详细信息。
如需详细了解 Cloud SQL,请参阅 Cloud SQL 文档。
生成数据分析文件
如需开始生成数据分析文件,您需要创建发现扫描配置(也称为“数据分析文件配置”)。在此扫描配置中,您可以设置发现操作的范围以及要分析的数据类型。在扫描配置中,您可以设置过滤器,以指定要分析或跳过的数据子集。您还可以设置分析时间表。
创建扫描配置时,您还需要设置要使用的检查模板。您可以在检查模板中指定敏感数据保护必须扫描的敏感数据类型(也称为 infoTypes)。
敏感数据保护功能在创建数据分析文件后,会根据您的扫描配置和检查模板分析数据。
支持的资源
本部分介绍了敏感数据保护可以分析的资源。
BigQuery 和 BigLake
敏感数据保护会分析 BigQuery Storage Read API 支持的表,包括:
- 标准 BigQuery 表
- 存储在 Cloud Storage 中的 BigLake 表
不支持以下各项:
- BigQuery Omni 表格。
- 各行的序列化数据大小超过 BigQuery Storage Read API 支持的序列化数据大小上限的表(128 MB)。
- 非 BigLake 外部表,例如 Google 表格。
Cloud SQL
Sensitive Data Protection 可以分析 Cloud SQL 表。
配置和查看数据剖析文件所需的角色
以下各部分列出了所需的用户角色(根据其用途进行分类)。您可以根据组织的设置方式,让不同人员执行不同的任务。例如,配置数据剖析文件的人员可能与定期监控数据剖析文件的人员不同。
在组织或文件夹级层使用数据剖析文件所需的角色
这些角色可让您在组织或文件夹级层配置和查看数据剖析文件。
确保在组织级层向适当的人员授予这些角色。或者,您的 Google Cloud 管理员可以创建自定义角色,使他们仅具有相关权限。
目的 | 预定义角色 | 相关权限 |
---|---|---|
创建扫描配置并查看数据分析文件 | DLP Administrator (roles/dlp.admin )
|
|
创建将用作服务代理容器的项目1 | Project Creator (roles/resourcemanager.projectCreator ) |
|
授予数据分析访问权限2 | 下列其中一项:
|
|
查看数据分析文件(只读) | DLP Data Profiles Reader (roles/dlp.dataProfilesReader ) |
|
DLP Reader (roles/dlp.reader ) |
|
1如果您没有 Project Creator (roles/resourcemanager.projectCreator
) 角色,仍然可以创建扫描配置,但您使用的服务代理容器必须是现有项目。
2 如果您没有 Organization Administrator (roles/resourcemanager.organizationAdmin
) 或 Security Admin (roles/iam.securityAdmin
) 角色,仍然可以创建扫描配置。创建扫描配置后,组织中拥有其中某个角色的人员必须向服务代理授予服务代理发现访问权限。
在项目级层使用数据剖析文件所需的角色
这些角色使您可以在项目级层配置和查看数据剖析文件。
确保在项目级层向这些人员授予这些角色。或者,您的 Google Cloud 管理员可以创建自定义角色,使他们仅具有相关权限。
目的 | 预定义角色 | 相关权限 |
---|---|---|
配置和查看数据剖析文件 | DLP Administrator (roles/dlp.admin )
|
|
查看数据分析文件(只读) | DLP Data Profiles Reader (roles/dlp.dataProfilesReader ) |
|
DLP Reader (roles/dlp.reader ) |
|
发现扫描配置
发现扫描配置或数据配置文件配置指定了要分析的资源(组织、文件夹或项目)、要使用的检查模板以及对结果执行什么操作。它还包含管理方面的详细信息,例如将扫描关联到的服务代理容器以及要使用的结算账号。
发现类型
发现服务支持以下类型的操作:
- BigQuery 数据分析
- Cloud SQL 数据分析
- Secret 发现(没有生成数据分析文件)
扫描配置范围
您可以在以下级别创建扫描配置:
- 组织
- 文件夹
- 项目
- 表(测试模式)
在组织和文件夹级别,如果两个或多个活跃扫描配置的范围是同一项目,则敏感数据保护会确定哪个扫描配置可以为该项目生成配置文件。如需了解详情,请参阅本页面中的覆盖扫描配置。
项目级扫描配置始终可以分析目标项目,且不会与父文件夹或组织级别的其他配置竞争。
表级扫描配置旨在帮助您探索和测试对单个表的分析。
扫描配置位置
首次创建扫描配置时,您需要指定敏感数据保护功能的存储位置。您创建的所有后续扫描配置都存储在这个区域中。
例如,如果您为文件夹 A 创建了一个扫描配置并将其存储在 us-west1
区域中,则您后续为任何其他资源创建的所有扫描配置也都会存储在该区域中。
有关待分析数据的元数据会复制到扫描配置所在的区域,但数据本身不会移动或复制。如需了解详情,请参阅数据驻留注意事项。
检查模板
检查模板指定敏感数据保护在扫描数据时查找的信息类型(或 infoType)。在这里,您可以结合使用内置信息类型和可选的自定义信息类型。
您还可以提供可能性级别,以缩小敏感数据保护功能认为匹配的范围。您可以添加规则集以排除不需要的发现结果或添加其他发现结果。
默认情况下,如果您更改了扫描配置使用的检查模板,这些更改只会应用于未来的扫描。您的操作不会导致对数据执行重新分析操作。
如果您希望通过检查模板更改来触发对受影响数据的重新分析操作,请在扫描配置中添加或更新时间表,并启用在检查模板发生更改时重新分析数据的选项。如需了解详情,请参阅数据分析文件的生成频率。
在要分析数据的每个区域中,都必须有一个检查模板。如果要为多个区域使用同一个模板,可以使用存储在 global
区域的模板。如果组织政策阻止您创建 global
检查模板,您必须为每个区域设置一个专用检查模板。如需了解详情,请参阅数据驻留注意事项。
检查模板是敏感数据保护平台的核心组件。数据分析文件使用的检查模板与您在所有敏感数据保护服务中使用的检查模板相同。如需详细了解检查模板,请参阅模板。
服务代理容器和服务代理
当您为组织或文件夹创建扫描配置时,敏感数据保护会要求您提供服务代理容器。服务代理容器是一个 Google Cloud 项目,敏感数据保护使用它来跟踪与组织和文件夹级分析操作相关的结算费用。
服务代理容器包含服务代理,该服务代理是一个 Google 代管式服务,供敏感数据保护功能代表您分析数据。您需要服务代理才能向敏感数据保护和其他 API 进行身份验证。您的服务代理必须具有所有必需的权限才能访问和分析您的数据。服务代理的 ID 采用以下格式:
service-PROJECT_NUMBER@dlp-api.iam.gserviceaccount.com
其中,PROJECT_NUMBER 是服务代理容器的数字标识符。
设置服务代理容器时,您可以选择现有项目。如果您选择的项目包含服务代理,敏感数据保护会向该服务代理授予必要的 IAM 权限。如果项目没有服务代理,敏感数据保护会创建一个服务代理,并自动向其授予数据分析权限。
或者,您也可以选择让 Sensitive Data Protection 自动创建服务代理容器和服务代理。敏感数据保护会自动向服务代理授予数据分析权限。
在这两种情况下,如果敏感数据保护无法向您的服务代理授予数据分析访问权限,则当您查看扫描配置详细信息时,系统会显示错误。
对于项目级层扫描配置,您不需要服务代理容器。您分析的项目用于服务代理容器。为了运行性能剖析操作,敏感数据保护会使用该项目自己的服务代理。
组织或文件夹级层的数据剖析访问权限
在组织或文件夹级别配置性能剖析时,敏感数据保护会尝试自动向服务代理授予数据分析访问权限。但是,如果您没有授予 IAM 角色的权限,敏感数据保护服务将无法代表您执行此操作。组织中具有这些权限的人员(如 Google Cloud 管理员)必须向您的服务代理授予数据分析访问权限。
生成数据分析文件的频率
默认情况下,敏感数据保护会按以下方式分析您的数据:
为特定资源创建扫描配置后,敏感数据保护会执行初始扫描,分析扫描配置范围内的数据。初始扫描完成后,它会持续监控该数据中是否存在任何增加或更改。
敏感数据保护功能会分析您在添加后不久添加的新表。
每 30 天,敏感数据保护功能就会重新分析在过去 30 天内发生了架构更改的现有表。
在扫描配置中,您可以通过为不同的数据子集创建一个或多个时间表来自定义分析频率。您可以指定不希望进行分析的数据子集。您还可以指定应触发重新分析操作的事件类型。此类事件的示例包括表架构更新和检查模板更新。
您可以使用以下重新分析选项:
- 不重新分析:生成初始配置文件后,一律不重新对其进行分析。
- 每日重新分析:请等待 24 小时,然后再重新分析所有更新后的数据。
- 每周重新分析:先等待 7 天,然后再重新分析所有更新后的数据。
- 每月重新分析:请等待 30 天,然后再重新分析所有更新后的数据。
该时间表指定了敏感数据保护在重新分析您的数据之前等待更新累积的最长时间。如果指定时间段内没有发生任何适用的更改(如架构更改或检查模板更改),则系统不会重新分析任何数据。当发生下一次适用的更改时,受影响的数据会在下一次机会重新分析,具体情况取决于各种因素(例如可用机器容量或购买的订阅单元)。然后,敏感数据保护功能会根据您设置的时间表开始等待更新累积。
例如,假设您的扫描配置设置为每月在架构更改时重新分析。数据分析文件首次创建日期为第 0 天。到第 30 天没有发生任何架构更改,因此不对任何数据进行重新分析。第 35 天,第一次进行架构更改。敏感数据保护会在下次机会时重新分析更新后的数据。然后,系统再等待 30 天,让架构更新累积,然后再重新分析所有更新后的数据。
从开始重新分析开始,操作最长可能需要 24 小时才能完成。如果延迟超过 24 小时,并且您处于订阅价格模式,请确认您当月的剩余容量。
如需查看示例场景,请参阅数据剖析价格示例。
性能分析
分析数据所需的时间取决于多种因素,包括但不限于以下因素:
- 要分析的表的数量
- 表的大小
- 表中的列数
- 列中的数据类型
因此,敏感数据保护在过去的检查或性能分析任务中的性能并不能指示它在未来的性能分析任务中的性能。
数据剖析文件的保留期限
敏感数据保护会将最新版本的数据分析文件保留 13 个月。当敏感数据保护重新分析更新后的表时,它会用新的数据配置文件替换该表的现有数据分析文件。
以下面几种情况为例:
1 月 1 日,敏感数据保护分析了表 A。表 A 有一年多没有变化,因此不再进行分析。在这种情况下,敏感数据保护功能会将表 A 的数据分析文件保留 13 个月,然后再将其删除。
1 月 1 日,敏感数据保护分析了表 A。当月,您组织中的某个人更新了该表的架构。由于此更改,下个月,敏感数据保护功能将自动重新分析表 A。新生成的数据剖析文件会覆盖 1 月创建的剖析文件。
如需了解 Sensitive Data Protection 因分析新表和经过修改的表而如何收费,请参阅数据分析价格。
如果您希望无限期地保留数据分析文件或记录他们所做的更改,请考虑在配置性能剖析时将数据分析文件保存到 BigQuery。您需要选择将要保存剖析文件的 BigQuery 数据集,并控制该数据集的表过期时间政策。
替换扫描配置
对于范围和发现类型的每个组合,您只能创建一个扫描配置。例如,您只能为 BigQuery 数据分析创建一个组织级扫描配置,并为 Secret 发现创建一个组织级扫描配置。同样,您只能为 BigQuery 数据分析创建一个项目级扫描配置,并为 Secret 发现创建一个项目级扫描配置。
如果两个或多个活跃扫描配置在其范围内具有相同的项目和发现类型,则适用以下规则:
- 在组织级和文件夹级扫描配置中,离项目最近的配置将能够为该项目运行发现配置。即使同时存在具有相同发现类型的项目级扫描配置,此规则也适用。
- 敏感数据保护会单独处理项目级扫描配置,与组织级和文件夹级配置无关。您在项目级层创建的扫描配置不会覆盖您为父文件夹或组织创建的扫描配置。
请考虑以下示例,其中有三个活跃的扫描配置。假设所有这些扫描配置都用于 BigQuery 数据分析。
![资源层次结构图,其中扫描配置应用于组织、文件夹和项目](https://cloud.google.com/static/dlp/docs/images/resource-hierarchy-with-config_1x.png?authuser=0000&hl=zh-cn)
在这里,扫描配置 1 应用于整个组织、扫描配置 2 应用于 Team B 文件夹、扫描配置 3 则应用于 Production 项目。在此示例中:
- 敏感数据保护根据扫描配置 1 分析项目中不在团队 B 文件夹中的所有表。
- 敏感数据保护根据扫描配置 2 分析团队 B 文件夹中项目中的所有表(包括生产项目中的表)。
- 敏感数据保护根据扫描配置 3 分析 Production 项目中的所有表。
在此示例中,敏感数据保护会为生产项目生成两组配置文件,分别用于以下每种扫描配置:
- 扫描配置 2
- 扫描配置 3
但是,即使同一项目有两组数据分析文件,您也不会在信息中心中同时看到它们。您只能看到在正在查看的资源(组织、文件夹或项目)和区域中生成的配置文件。
如需详细了解 Google Cloud 的资源层次结构,请参阅资源层次结构。
数据剖析文件快照
每个数据剖析文件都包含扫描配置的快照以及用于生成此配置的检查模板。您可以使用此快照检查用于生成特定数据分析文件的设置。
数据驻留注意事项
敏感数据保护旨在支持数据驻留。如果您必须遵守数据驻留要求,请考虑以下几点:
检查区域
敏感数据保护会在存储该数据的区域检查您的数据。也就是说,您的数据不会离开其当前区域。
此外,检查模板只能用于剖析与该模板位于同一区域的数据。例如,如果您将数据分析器配置为使用存储在 us-west1
区域的检查模板,则 Sensitive Data Protection 功能只能分析该区域中的数据。
您可以为拥有数据的每个区域设置专用检查模板。如果您提供存储在 global
区域的检查模板,敏感数据保护会将该模板用于没有专用检查模板的区域中的数据。
下表提供了示例场景:
情况 | 支持 |
---|---|
使用 us 区域中的检查模板扫描 us 区域中的数据。 |
受支持 |
使用 us 区域中的检查模板扫描 global 区域中的数据。 |
不支持 |
使用 global 区域中的检查模板扫描 us 区域中的数据。 |
受支持 |
使用 us-east1 区域中的检查模板扫描 us 区域中的数据。 |
不支持 |
使用 us 区域中的检查模板扫描 us-east1 区域中的数据。 |
不支持 |
使用 asia 区域中的检查模板扫描 us 区域中的数据。 |
不支持 |
数据剖析文件配置
敏感数据保护功能在创建数据分析文件时,会截取扫描配置和检查模板的快照,并将其存储在每个表数据分析文件中。如果您将数据分析器配置为使用 global
区域中的检查模板,则 Sensitive Data Protection 会将该模板复制到具有待分析数据的任何区域。同样,它会将扫描配置复制到这些区域。
假设此示例:项目 A 包含表 1。表 1 位于 us-west1
区域;扫描配置位于 us-west2
区域;检查模板位于 global
区域。
敏感数据保护在扫描项目 A 时,会为表 1 创建数据分析文件,并将其存储在 us-west1
区域中。表 1 的表数据剖析文件包含扫描配置的副本以及剖析操作中使用的检查模板。
如果您不希望将检查模板复制到其他区域,请勿将敏感数据保护配置为扫描这些区域中的数据。
数据剖析文件的区域存储
检查完数据后,敏感数据保护功能会生成数据分析文件。它会将各个数据分析文件存储在存储其目标数据的区域,也是处理检查的区域。如需在 Google Cloud 控制台中查看数据配置文件,您必须先选择数据配置文件所在的区域。如果数据分布在多个区域,您必须切换区域才能查看每组配置文件。
不支持的区域
如果在敏感数据保护不支持的区域中有一些表,则它会跳过这些表,并在您查看数据分析文件时显示错误。
多区域
敏感数据保护将多区域视为一个区域,而不是区域的集合。例如,就数据驻留而言,us
多区域和 us-west1
区域被视为两个单独的区域。
法规遵从
如需了解敏感数据保护如何处理您的数据以及如何满足合规性要求,请参阅数据安全。
后续步骤
阅读“身份与安全”博文使用敏感数据保护自动管理 BigQuery 的数据风险。
了解如何估算数据分析费用。
了解敏感数据保护如何计算表和列的数据风险和敏感度级别。
了解如何修复数据性能分析器的发现结果。
了解如何使用数据性能分析器排查问题。