4. 数据分类分级与留存标签

数据留存治理要落地,第一步不是写删除脚本,而是回答三个问题:这条数据是什么、有多敏感、该留多久。分类分级解决“是什么、有多敏感”,留存标签解决“该留多久、到期怎么办”,自动化打标解决“海量数据怎么规模化标注”,标签与策略联动解决“标完之后谁来执行”。四者构成一条从识别到执行的治理链,缺一环都会让留存策略悬空。

一、分类分级:先定维度,再定级别

分类与分级是两个正交维度,实践中常被混为一谈。分类回答“数据属于哪个业务域或数据族”,例如客户身份数据、交易流水、设备日志、营销素材、运维配置;分级回答“泄露或滥用后的影响程度”,通常分为公开、内部、敏感、核心四级。分类决定数据归谁管、走哪条业务线;分级决定加密强度、访问审批层级和留存底线。

分级不能凭感觉,要给出可判定的依据。常用判定维度包括:主体标识性(是否可直接或间接识别自然人)、业务关键度(缺失是否影响核心交易)、合规约束(是否落入个人信息保护法、行业监管的特定类别)、聚合风险(单条无害但批量聚合后是否敏感)。以一张客户表为例:手机号、身份证号属于可直接标识,定为敏感级;订单金额与商品明细单独看是内部级,但与身份信息关联后构成消费画像,聚合后应提升为敏感级;而商品名称、公开价格属于公开级。分级结果应记录判定依据,便于复核和审计。

落地时建议采用“数据族—字段—级别”三层结构,而不是对每张表拍一个级别。同一数据族内字段级别可以不同,表级级别取字段最高级别,这样既避免过度管控,也防止漏管。分级不是一次性动作,业务新增字段、监管口径变化、数据用途变更都应触发复评。

二、留存标签体系:把“留多久”变成可执行字段

留存标签是挂在数据对象上的结构化元数据,至少应包含五个要素:留存期限、起算事件、到期动作、法律依据、责任主体。起算事件尤其关键,常见有“数据创建时间”“业务关系终止时间”“合同到期时间”“最后一次访问时间”。同一份数据用不同起算事件,到期日可能相差数年,必须显式声明。

下面是一份可直接参考的留存标签示例,字段粒度到数据族,实际落地时可下沉到表或字段:

数据族级别起算事件留存期限到期动作依据示例
客户身份信息敏感业务关系终止5年删除反洗钱留存要求
交易流水敏感交易发生10年归档后删除财税与审计要求
设备运行日志内部日志生成180天删除运维排障需要
营销素材公开活动结束2年归档业务复用需要
临时计算中间表内部任务完成7天删除最小化原则

标签值应机器可读,例如用 retention_period=P5Y、retention_trigger=relationship_end、expire_action=delete 这类键值对,而不是自然语言描述。自然语言适合给人看,键值对适合给策略引擎执行。两者可以并存,但执行必须以键值对为准。

三、自动化打标:规则、模型与人工复核的组合

数据量达到百万级表、亿级字段时,纯人工打标不可持续。自动化打标通常分三层:基于元数据的规则匹配、基于内容采样的识别、基于血缘的传播推断。

规则匹配最快也最可控。以字段名为例,可配置正则规则:字段名匹配 (?i)(id_card|identity_no|身份证) 判为敏感级身份数据;匹配 (?i)(phone|mobile|手机号) 判为敏感级联系方式;匹配 (?i)(log|trace|metric) 判为内部级日志。规则命中后写入标签,并记录命中规则编号,便于回溯。规则覆盖率有限,遇到“cust_no”“usr_key”这类命名不规范字段会漏判。

内容采样用于补规则之短。对候选字段抽取少量样本(例如每字段 200 行),用正则或轻量模型判断是否命中身份证、银行卡、邮箱等模式。采样要注意脱敏与权限,样本不得落盘到非受控环境。采样结果与规则结果冲突时,取更高级别,遵循“就高不就低”原则。

血缘传播解决“派生数据没人标”的问题。若字段 A 被标记为敏感,且字段 B 由 A 经直接复制、拼接、哈希后生成,则 B 应继承敏感级别或至少标记为“派生自敏感数据”。血缘推断能显著提升覆盖率,但要注意聚合与脱敏场景:对 A 做不可逆哈希后,B 的标识性下降,可降级,但降级必须有明确规则和审批,不能由系统自动放宽。

自动化打标的结果必须可复核。建议保留“机器建议级别、最终生效级别、复核人、复核时间”四个字段。对核心级和敏感级数据,强制人工复核;对内部级和公开级,可抽样复核。复核不是形式,而是发现规则偏差的主要途径。

四、标签与策略的联动:从标注到执行

标签只有被策略消费才有价值。联动机制的核心是“标签变化触发策略重算”。当一条数据的级别从内部升为敏感,或留存期限从 2 年改为 5 年,策略引擎应重新计算其到期日、访问控制、加密要求和归档路径,而不是等下一次全量扫描。

联动通常通过事件驱动实现:打标服务写入标签后发布变更事件,策略引擎订阅事件,按“数据族 + 级别 + 起算事件”匹配策略模板,生成具体执行计划。执行计划包含到期时间、执行动作、执行窗口、审批要求。到期时间由起算事件时间加上留存期限计算,例如业务关系终止时间为 2024-03-31,留存 5 年,则到期日为 2029-03-31,到期后进入删除或归档队列。

联动还要处理冲突。同一数据可能同时命中多条策略:合规要求留 10 年,业务希望留 2 年,此时应取更长留存期,并在标签中记录冲突来源,由数据治理委员会裁决。策略执行前应做影响评估,确认删除不会破坏仍在进行的审计、诉讼或监管调查,必要时挂起并记录挂起原因和解除条件。

数据分类分级与留存标签联动链路 分类分级 数据族 / 字段 / 级别 公开·内部·敏感·核心 判定依据可追溯 留存标签 期限 / 起算事件 到期动作 / 依据 责任主体 自动化打标 规则匹配 内容采样识别 血缘传播推断 人工复核 敏感/核心强制 内部/公开抽样 标签变更事件 级别调整 / 期限变更 / 起算事件修正 / 血缘继承 发布到策略引擎,触发重算 策略模板匹配 数据族 + 级别 + 起算事件 冲突取更长留存期 记录冲突来源 执行计划生成 到期日 = 起算时间 + 期限 动作:删除 / 归档 / 挂起 审批与执行窗口 执行与审计 删除 / 归档结果回写 挂起原因与解除条件 审计留痕 执行结果反馈,触发标签与策略复评

图中展示了从分类分级到执行审计的完整链路:分类分级产出级别,留存标签承载期限与动作,自动化打标与人工复核共同保证标签质量,标签变更事件驱动策略重算,最终生成执行计划并回写审计结果。反馈回路意味着治理不是单向流水线,执行中发现的问题会反过来修正标签和分级。

实践建议:先选一个数据族(如客户身份信息)跑通“分级—打标—标签—策略—执行—审计”全链路,验证起算事件取值、到期日计算和冲突处理逻辑,再横向复制到其他数据族。全量铺开前,务必确认起算事件在业务系统中真实可获取,否则到期日无法计算,策略只能停留在纸面。

最后要强调,分类分级和留存标签不是静态档案,而是随业务和监管持续演进的活数据。自动化打标降低人力成本,但不能替代治理责任;标签与策略联动提升执行效率,但冲突裁决和挂起判断仍需人工介入。把判定依据、复核记录和执行审计留全,才能在监管问询或内部审计时说清楚“为什么留、留多久、到期怎么处理”。