敏感数据分类简介

了解敏感数据所在位置以及其是否得到充分保护至关重要。这不仅是一项最佳实践,在许多行业中也是满足合规性要求的关键前提。Snowflake 提供了一种解决方案,可自动发现敏感数据,并便于应用标签和掩码策略等治理控制措施。

Snowflake 会将敏感数据分类为 原生类别,例如姓名和国家/地区标识符;同时,您也可以创建自己的 自定义类别,以检测特定于您的组织或领域的敏感数据。

开始使用

Snowflake 提供了一个 Web 界面,用于配置敏感数据分类,并查看敏感数据的治理态势。

要开始使用,请执行以下任一操作:

敏感数据分类的核心概念

关于分类类别

在敏感数据分类中,每个被识别为包含敏感数据的列都会被分配两个类别:语义类别和隐私类别。

  • 语义类别 用于标识个人属性的 类型。Snowflake 为姓名、地址等常见属性提供了 原生类别。如果您的敏感数据不符合任何原生类别,您可以为其创建一个 自定义类别

  • 隐私类别 用于标识个人属性的 敏感性。它可以是 IDENTIFIER、QUASI_IDENTIFIER 或 SENSITIVE(例如薪资等通用的非标识符类别)。

关于分类标签

标签 是一种可以分配给列的 Snowflake 对象。Snowflake 使用以下系统定义的标签来标识其已分类为包含敏感数据的列。

  • SNOWFLAKE.CORE.SEMANTIC_CATEGORY:用于标识列中数据所属的原生类别或自定义类别的标签。

  • SNOWFLAKE.CORE.PRIVACY_CATEGORY:用于标识列中数据隐私类别的标签。

您可以将用户定义的标签映射到系统定义的分类标签。例如,您可以设置一个标签映射,使得每次系统标签 SNOWFLAKE.CORE.SEMANTIC_CATEGORY = 'NAME' 应用于列时,用户定义的标签 tag_db.sch.pii = 'Highly confidential' 也会同时应用。

关于分类配置文件

当您使用 Trust Center Web 界面指定分类设置时,这些设置将保存为 分类配置文件。之后可以编辑该分类配置文件,以更改控制数据分类方式的设置。在 Web 界面中,分类配置文件还用于控制哪些数据库会使用该配置文件的设置进行分类。

您还可以 使用 SQL 命令 来创建和修改分类配置文件。如果您正在使用 SQL,则需要通过单独的步骤将分类配置文件与数据库关联,以启动分类过程。

保护敏感数据

Snowflake 提供了用于跟踪和保护敏感数据的治理工具。

  • 您可以配置分类流程,使 Snowflake 自动将系统定义和用户定义的 标签 分配给其分类为敏感的数据。随后,您可以通过跟踪这些标签,在整个数据资产范围内跟踪相关数据。

  • 您可以将 掩码策略 分配给包含敏感数据的列,以便在查询时对数据进行选择性掩码。

  • 您可以将标签策略与掩码策略结合使用,以自动对被分类为敏感的数据进行掩码处理。如果您使用 基于标签的掩码 将掩码策略与用户定义的标签关联,那么当 Snowflake 在分类过程中应用该标签时,数据将自动被掩码。随着新数据不断添加到数据库中,基于标签的掩码策略会自动应用到包含敏感数据的列上。

确定正在进行分类的数据库

通过列出与 分类配置文件 关联的数据库,您可以确定哪些数据正在接受敏感数据分类监控。如果某个数据库与分类配置文件关联,则该数据库中的所有表和视图都会根据该配置文件中定义的标准自动进行分类。

要确定正在分类的数据库,请执行以下操作:

  1. 以具有 |sf-web-interface-link|所需权限 :ref:`<label-classify_trust_center_access_control> 的用户身份登录 `

  2. 在导航菜单中,选择 Governance & security » Trust Center

  3. 选择 Data Security 选项卡。

  4. 选择 Dashboard 选项卡。

  5. 找到 Databases monitored by classification 磁贴。要列出正在分类的数据库,请选择 MonitoredPartially monitored

备注

如果有人使用 SQL 在数据库中的某个架构上直接设置分类配置文件,而不是在数据库级别设置配置文件,则该数据库将被视为部分监控。

成本注意事项

自动敏感数据分类会消耗 Credit,因为它使用 无服务器计算资源 对数据库中的表进行分类。有关该使用定价的更多信息,请参阅 `Snowflake 服务使用表 `_ 中的表 5。

备注

对视图进行分类的成本可能比对表进行分类的成本更高。额外成本取决于创建视图的查询复杂程度。物化视图不会产生这些额外费用。默认情况下,视图不参与分类。

在 Snowsight 中查看成本

要了解敏感数据分类的成本,请执行以下操作:

  1. 登录 Snowsight

  2. 切换到可以 访问成本和使用数据 的角色。

  3. 在导航菜单中,选择 Admin » Cost management

  4. 选择要使用的仓库,以查看使用情况数据。对于此目的,Snowflake 建议使用 XS 仓库。

  5. 选择 Consumption

  6. Usage Type 下拉列表中选择 Compute

  7. Service Type 下拉列表中选择 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';
Copy
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';
Copy
USAGE_IN_CURRENCY_DAILY (ORGANIZATION_USAGE)

通过关注 SERVICE_TYPE 列中的 SENSITIVE_DATA_CLASSIFICATION,您可以检索自动分类的每日成本。使用此视图可以确定货币成本,而不是 Credit。

受支持对象

Snowflake 支持对存储在以下类型的表和视图中的数据进行分类:

表:

视图:

备注

尽管可以对视图进行分类,但由于创建视图的查询非常复杂,对视图进行分类的成本可能比直接对基础表进行分类高得多。有关更多信息,请参阅 成本注意事项

请注意,Snowflake 不支持从使用者端对 共享表 和共享架构进行分类。如果表由提供商创建并放入其出站共享中,则只有从提供商端调用时分类才会生效。

支持的数据类型

您可以对所有支持的 数据类型 的表列和视图列进行分类,但下列数据类型 除外

  • BINARY

  • DECFLOAT

  • GEOGRAPHY

  • UUID

  • VECTOR

备注

  • 不支持列中存储的长文本等非结构化数据。

  • JSON 是唯一支持的半结构化数据。

限制和注意事项

  • 不能在阅读者账户上设置分类配置文件。

  • 一个分类配置文件不能在超过 1,000 个数据库上进行设置。

  • 一个分类配置文件不能 直接 在超过 10,000 个架构上进行设置。

  • 一个架构中最多可分类 1 亿个表。

  • 如果表具有以下任意一项特征,则无法对其进行自动分类:

    • 超过 10,000 列。

    • 一列的名称超过 255 个字符。

    • 一列的名称包含 $ 字符。