Introduction to sensitive data classification¶
了解敏感数据所在位置以及其是否得到充分保护至关重要。这不仅是一项最佳实践,在许多行业中也是满足合规性要求的关键前提。Snowflake 提供了一种解决方案,可自动发现敏感数据,并便于应用标签和掩码策略等治理控制措施。
Snowflake 会将敏感数据分类为 原生类别,例如姓名和国家/地区标识符;同时,您也可以创建自己的 自定义类别,以检测特定于您的组织或领域的敏感数据。
开始使用¶
Snowflake 提供了一个 Web 界面,用于配置敏感数据分类,并查看敏感数据的治理态势。
要开始使用,请执行以下任一操作:
To set up sensitive data classification, see 使用 Trust Center 设置敏感数据分类.
要查看敏感数据分类结果,请参阅 使用 Trust Center 查看结果。
Core concepts of sensitive data classification¶
关于分类类别¶
在敏感数据分类中,每个被识别为包含敏感数据的列都会被分配两个类别:语义类别和隐私类别。
关于分类配置文件¶
当您使用 Trust Center Web 界面指定分类设置时,这些设置将保存为 分类配置文件。之后可以编辑该分类配置文件,以更改控制数据分类方式的设置。在 Web 界面中,分类配置文件还用于控制哪些数据库会使用该配置文件的设置进行分类。
您还可以 使用 SQL 命令 来创建和修改分类配置文件。如果您正在使用 SQL,则需要通过单独的步骤将分类配置文件与数据库关联,以启动分类过程。
保护敏感数据¶
Snowflake 提供了用于跟踪和保护敏感数据的治理工具。
确定正在进行分类的数据库¶
通过列出与 分类配置文件 关联的数据库,您可以确定哪些数据正在接受敏感数据分类监控。如果某个数据库与分类配置文件关联,则该数据库中的所有表和视图都会根据该配置文件中定义的标准自动进行分类。
要确定正在分类的数据库,请执行以下操作:
以具有 |sf-web-interface-link|所需权限 :ref:`<label-classify_trust_center_access_control> 的用户身份登录 `。
在导航菜单中,选择 Governance & security » Trust Center。
选择 Data Security 选项卡。
选择 Dashboard 选项卡。
找到 Databases monitored by classification 磁贴。要列出正在分类的数据库,请选择 Monitored 或 Partially monitored。
备注
如果有人使用 SQL 在数据库中的某个架构上直接设置分类配置文件,而不是在数据库级别设置配置文件,则该数据库将被视为部分监控。
使用 SYSTEM$SHOW_SENSITIVE_DATA_MONITORED_ENTITIES 函数列出与分类配置文件关联的数据库和架构。
SELECT SYSTEM$SHOW_SENSITIVE_DATA_MONITORED_ENTITIES('DATABASE');
成本注意事项¶
自动敏感数据分类会消耗 Credit,因为它使用 无服务器计算资源 对数据库中的表进行分类。有关该使用定价的更多信息,请参阅 `Snowflake 服务使用表 `_ 中的表 5。
备注
对视图进行分类的成本可能比对表进行分类的成本更高。额外成本取决于创建视图的查询复杂程度。物化视图不会产生这些额外费用。默认情况下,视图不参与分类。
在 Snowsight 中查看成本¶
To explore the cost of sensitive data classification:
使用 SQL 查询成本¶
您可以查询 ACCOUNT_USAGE 和 ORGANIZATION_USAGE 架构中的视图,以确定用于自动分类敏感数据的费用。要监控 credit 使用,请查询以下视图:
- METERING_HISTORY 视图 (ACCOUNT_USAGE)
通过关注
SERVICE_TYPE列中的SENSITIVE_DATA_CLASSIFICATION,您可以检索自动分类的每小时成本。例如:SELECT service_type, start_time, end_time, entity_id, name, credits_used_compute, credits_used_cloud_services, credits_used, budget_id FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_HISTORY WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
- METERING_DAILY_HISTORY 视图(ACCOUNT_USAGE 和 ORGANIZATION_USAGE)
通过关注
SERVICE_TYPE列中的SENSITIVE_DATA_CLASSIFICATION,您可以检索自动分类的每日成本。例如:SELECT service_type, usage_date, credits_used_compute, credits_used_cloud_services, credits_used FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_DAILY_HISTORY WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
- USAGE_IN_CURRENCY_DAILY (ORGANIZATION_USAGE)
通过关注
SERVICE_TYPE列中的SENSITIVE_DATA_CLASSIFICATION,您可以检索自动分类的每日成本。使用此视图可以确定货币成本,而不是 Credit。
Supported objects¶
Snowflake supports classifying data stored in all types of Snowflake tables and views.
Note that Snowflake does not support classification on shared tables and shared schemas from the consumer's side. If a table is created by the provider and placed into the provider's outbound share, the classification only works if it is called from the provider's side.
Supported data types¶
您可以对所有支持的 数据类型 的表列和视图列进行分类,但下列数据类型 除外:
ARRAY
BINARY
DECFLOAT
GEOGRAPHY
OBJECT
VARIANT(列数据类型为 类型转换 到 NUMBER 或 STRING 数据类型除外)
VECTOR
备注
不支持列中存储的长文本等非结构化数据。
不支持 JSON、XML 或其他半结构化数据
限制和注意事项¶
不能在阅读者账户上设置分类配置文件。
一个分类配置文件不能在超过 1,000 个数据库上进行设置。
一个分类配置文件不能 直接 在超过 10,000 个架构上进行设置。
一个架构中最多可分类 1 亿个表。
如果表具有以下任意一项特征,则无法对其进行自动分类:
超过 10,000 列。
一列的名称超过 255 个字符。
一列的名称包含
$字符。