3. 数据分类分级:标准、识别方法与标签体系

数据分类分级,说白了就是给你的数据资产“上户口”。

我见过太多团队,一上来就搞脱敏工具、上加密算法,结果连自己手里有哪些敏感数据都说不清楚。嗯,这就像你装修房子,却不知道水电管线在哪——迟早要出问题。

这一章,我们就把分类分级这件事掰开揉碎。从合规标准到识别方法,再到标签体系设计,一条线串起来。

3.1 数据分类分级标准:GDPR 与等保 2.0

先聊标准。目前国内最绕不开的两个框架,一个是国际上的 GDPR,一个是国内的等保 2.0。

3.1.1 GDPR 的“敏感数据”定义

GDPR 把个人数据分成了两大类:

  • 普通个人数据:姓名、邮箱、IP 地址、设备 ID 等。
  • 特殊类别个人数据:种族、政治观点、宗教信仰、基因数据、生物识别数据、健康数据、性生活/性取向。

注意,GDPR 对特殊类别数据的处理有严格限制——原则上禁止处理,除非满足特定条件。我在项目中遇到过一家跨国药企,他们想把临床试验数据从欧洲回流到国内数据湖做分析,结果因为健康数据属于特殊类别,光合规论证就花了三个月。

3.1.2 等保 2.0 的“个人信息安全”要求

等保 2.0 在《个人信息安全规范》(GB/T 35273)里,把个人敏感信息定义为:一旦泄露、非法提供或滥用,可能危害人身和财产安全,极易导致个人名誉、身心健康受到损害或歧视性待遇的个人信息。

举个例子:身份证号、银行卡号、行踪轨迹、住宿信息、健康生理信息、交易记录等,都属于敏感信息。

核心差异点:GDPR 更强调“数据主体权利”,等保 2.0 更强调“安全保护义务”。前者是“你不能乱用我的数据”,后者是“你必须管好我的数据”。

我个人的习惯是,在数据湖项目中同时对标两个标准。如果业务涉及跨境数据流动,以 GDPR 为底线;如果只在国内运营,等保 2.0 就是硬杠杠。

3.2 敏感数据识别方法

标准有了,下一步就是识别。你想想看,数据湖里动辄几百 TB 的数据,人工翻一遍?不现实。

我常用的方法分三步走:

  1. 规则匹配:正则表达式 + 关键词库。比如身份证号(18 位数字 + 校验位)、手机号(1[3-9] 开头)、银行卡号(16-19 位数字)。
  2. 机器学习分类:用 NLP 模型对文本内容做语义分类。比如识别“病历”“诊断结果”这类非结构化文本中的敏感信息。
  3. 样本标注 + 人工复核:对算法识别结果做抽样验证。我曾经踩过一个坑——正则匹配把“123456789012345678”误判为身份证号,实际上那是测试数据。所以人工复核这步不能省。

避坑指南:我曾经在金融客户的数据湖里发现,他们的交易备注字段里藏着大量明文手机号。原因是业务系统把手机号写进了备注,而备注字段根本没进敏感数据扫描范围。所以,扫描范围一定要覆盖所有字段,包括备注、日志、JSON 里的嵌套字段。

下面这张图,是我在项目中常用的敏感数据识别流程:

敏感数据识别流程 原始数据湖 规则引擎匹配 ML 模型分类 人工复核 反馈修正 敏感数据清单 + 置信度评分 进入标签体系设计

3.3 数据标签体系设计

识别出敏感数据之后,怎么在数据湖里标记它们?靠标签。

标签体系设计,我总结了一个“三维度模型”:

维度 标签示例 说明
数据级别 L1(公开)、L2(内部)、L3(敏感)、L4(绝密) 按数据泄露后的影响程度分级
数据类别 PII(个人身份)、PHI(健康)、PCI(支付)、财务 按数据类型分类,便于差异化脱敏策略
合规属性 GDPR、等保2.0、CCPA、行业监管 标记数据适用的合规框架

举个例子,一条包含身份证号的用户记录,它的标签可能是:L3 | PII | 等保2.0。这样,脱敏引擎看到这个标签组合,就知道要用“保留前6后4”的规则,并且记录审计日志。

注意:标签体系不是一次设计就完事的。数据湖里的数据是动态的——新业务接入、老数据退役、合规要求更新,都会影响标签。我建议每季度做一次标签审计,清理过期标签,补充新标签。

3.3.1 标签的自动化打标

手动打标?几百张表,每张表几十个字段,打到你怀疑人生。所以必须自动化。

我常用的方案是:

  • 元数据驱动:从 Hive Metastore / AWS Glue Catalog 读取字段名和注释,匹配关键词库自动打标。
  • 数据采样:对每个字段采样 1000 条数据,用规则 + ML 模型判断敏感类型。
  • 血缘传播:如果源表字段打了标签,下游视图、ETL 产出表自动继承标签。

下面是一个简单的标签继承示例:

-- 源表打标
ALTER TABLE source.user_info SET TAGS ('L3', 'PII', '等保2.0');

-- 下游视图自动继承(通过血缘解析)
CREATE VIEW analytics.user_profile AS
SELECT user_id, name, phone, email
FROM source.user_info;
-- 视图字段自动获得 L3 | PII 标签

3.4 小结

分类分级是数据湖安全的基础设施。标准给你方向,识别方法给你工具,标签体系给你抓手。这三样东西没搭好,后面的脱敏策略就是空中楼阁。

我个人习惯,在项目启动的第一周就完成分类分级方案设计,第二周开始自动化打标。别拖,越拖数据越多,回头补课的代价越大。