4、数据处理映射:数据流图的绘制方法、数据分类分级、数据生命周期识别
好,咱们进入第四讲。这一章是PIA实战里最“费纸”的部分,也是最能体现你专业功底的地方。说白了,数据处理映射就是给你的数据画一张“交通路线图”。
我见过太多团队,一上来就急着填合规表格,结果数据从哪来、到哪去、中间经过谁的手,全是一笔糊涂账。最后被监管一问,当场露馅。所以,咱们得先把这张图画清楚。
4.1 数据流图:不只是画几条线
数据流图,英文叫Data Flow Diagram,简称DFD。它不是让你画个漂亮的架构图给老板看,而是用来回答三个核心问题:
- 数据从哪里产生?(比如用户注册、传感器采集)
- 数据流经哪些系统?(比如API网关、数据库、缓存)
- 数据最终去了哪里?(比如归档、删除、传给第三方)
我个人习惯用“分层法”来画。先画顶层,再逐层细化。别一上来就陷入细节,那样你会被自己画晕。
4.1.1 绘制步骤
- 确定边界:先圈定你的业务系统范围。哪些是内部系统,哪些是外部接口?
- 识别外部实体:谁在跟系统交互?用户、管理员、第三方服务商?
- 画出主要流程:数据从外部实体进入系统后,第一步去了哪?
- 标注存储节点:数据在哪些地方落地?数据库、日志文件、缓存?
- 检查数据流向:每条线都要有方向,不能有“断头路”。
核心原则:每条数据流都必须有明确的起点和终点。如果一条线画出去找不到归宿,那你的数据大概率已经“裸奔”了。
4.1.2 一个简单的示例
假设我们有一个用户注册功能。数据流图可以这样画:
外部实体:用户(浏览器)
数据流:用户提交注册表单 → Web服务器
处理过程:Web服务器验证表单数据
数据流:验证通过 → 写入用户数据库
数据流:写入成功 → 返回注册成功消息给用户
存储节点:用户数据库(MySQL)
你看,就这么简单几步,数据从哪来到哪去,清清楚楚。我在项目中遇到过,有些团队把数据流图画成了系统架构图,全是服务器和中间件,反而把“数据本身”给丢了。记住,我们画的是数据的流动,不是技术组件的拓扑。
我的小技巧:画完图后,拿一支红笔,沿着每条数据流走一遍。如果发现某条线你解释不清“为什么数据要经过这里”,那这条线很可能就是多余的,或者存在合规风险。
4.2 数据分类分级:给数据贴上“价签”
数据流图画好了,接下来要做的,就是给流经的每一类数据贴上“价签”。这个“价签”就是分类和分级。
为什么要做这个?你想想看,如果不分类,你怎么知道哪些数据需要重点保护?如果不分级,你怎么确定保护措施该花多大代价?
4.2.1 分类维度
我个人建议从两个维度来分:
- 业务维度:用户信息、订单信息、支付信息、日志信息……
- 属性维度:个人基本信息、个人敏感信息、生物识别信息、金融账户信息……
举个例子,用户的手机号,从业务维度看属于“用户信息”,从属性维度看属于“个人敏感信息”。这两个标签都要打上。
4.2.2 分级标准
分级通常按照数据泄露后造成的影响程度来定。我见过比较通用的做法是四级:
| 级别 | 名称 | 典型数据 | 泄露后果 |
|---|---|---|---|
| L1 | 公开数据 | 产品介绍、公司新闻 | 几乎无影响 |
| L2 | 内部数据 | 内部通讯录、会议纪要 | 轻微影响 |
| L3 | 敏感数据 | 用户手机号、家庭住址 | 较大影响 |
| L4 | 核心数据 | 支付密码、生物特征 | 严重影响 |
注意:分级不是一成不变的。我曾经遇到一个客户,把用户昵称也分到了L3级,结果导致所有业务都要加密存储,性能开销巨大。后来我们重新评估,发现昵称其实属于L2级就够了。分级要合理,过度保护也是一种浪费。
4.3 数据生命周期识别:从生到死的全程追踪
数据是有生命的。从采集、传输、存储、使用、共享、归档到销毁,每个阶段都有不同的风险点。咱们得把每个阶段都识别出来。
4.3.1 七个关键阶段
- 采集:数据从哪里来?用户主动提供?还是系统自动采集?有没有告知用户?
- 传输:数据在网络上怎么走?有没有加密?用的是HTTP还是HTTPS?
- 存储:数据存在哪里?数据库、文件服务器、云存储?有没有做访问控制?
- 使用:谁在使用这些数据?用于什么目的?有没有超出授权范围?
- 共享:数据有没有传给第三方?有没有签数据共享协议?
- 归档:不再使用的数据怎么处理?是压缩归档还是直接删除?
- 销毁:数据到期后怎么彻底删除?是逻辑删除还是物理销毁?
嗯,这里要注意,很多团队只关注“存储”和“使用”两个阶段,忽略了“归档”和“销毁”。我曾经在审计中发现,一家公司把三年前的用户数据还放在生产数据库里,既没有归档也没有标记过期。这要是被查出来,就是典型的“超期存储”违规。
4.3.2 如何识别生命周期
我的做法是,拿着数据流图,对每一类数据逐一过一遍:
- 这类数据在哪个阶段产生?
- 它会在哪些阶段停留?
- 每个阶段停留多久?
- 每个阶段有哪些系统或人员接触?
把这些信息填到一张表里,就是你的“数据生命周期映射表”。
举个例子:用户注册时填写的手机号
- 采集:用户注册页面,用户主动输入
- 传输:HTTPS加密传输到后端
- 存储:写入用户表,字段加密存储
- 使用:用于登录验证、找回密码
- 共享:不共享给第三方(除非用户授权)
- 归档:用户注销账号后,数据保留90天
- 销毁:90天后自动物理删除
你看,这么一梳理,每个阶段的风险点就一目了然了。比如传输阶段,如果发现用的是HTTP而不是HTTPS,那这就是一个高风险点,必须整改。
4.4 三者如何联动
数据流图、分类分级、生命周期识别,这三者不是孤立的。它们的关系是这样的:
- 数据流图告诉你数据“在哪里流”
- 分类分级告诉你数据“有多重要”
- 生命周期识别告诉你数据“在每个阶段该怎么做”
把它们结合起来,你就能回答一个关键问题:对于L3级以上的敏感数据,在生命周期的每个阶段,我们有没有采取足够的保护措施?
说白了,这就是PIA的核心工作。你不需要一开始就追求完美,先画出来、分出来、列出来,然后一步步优化。我见过很多团队,第一版的数据流图画得乱七八糟,但经过两三轮迭代后,就成了整个公司的数据资产地图。
最后一个小建议:做完数据处理映射后,记得找业务方和法务一起过一遍。你画的数据流图,业务方可能觉得“不对,我们实际流程不是这样的”。这时候别争,听他们的,因为数据流图必须反映真实情况,而不是你想象中的情况。
好,这一章就到这里。下一章咱们聊聊“风险识别与评估”,那才是真正动真格的地方。