数据资产定义与分类
数据资产是什么?简单说,就是企业里那些有业务价值、需要被保护的数据集合。但现实很骨感——很多公司连自己有哪些数据都说不清。
我做过的项目中,有个客户号称「数据治理很完善」,结果一扫描发现财务系统里藏着几十份明文信用卡号表格。嗯,这就是典型的数据资产盲区。
要想做好 DSPM,第一步就是搞清楚:我们要找的数据长什么样、存在哪、有多敏感。说白了,先得把家底摸清楚。
数据的三种基本形态
从存储结构角度看,数据可以分为三大类。我习惯用「规整、半规整、没规整」来记。
| 类别 | 特点 | 典型例子 | 发现难度 |
|---|---|---|---|
| 结构化数据 | 严格的行列结构,有Schema | 关系数据库表、CSV | 低 |
| 半结构化数据 | 自描述结构,Schema灵活 | JSON、XML、YAML | 中 |
| 非结构化数据 | 无固定格式,纯内容 | 文档、图片、日志 | 高 |
结构化数据
这是数据资产里最「乖」的一类。每一行代表一条记录,每一列有明确的类型约束。
你想想看,银行的交易流水、ERP 里的订单表、CRM 的客户主数据——这些都是标准的结构化数据。我在做金融行业项目时,发现很多老旧系统连字段注释都没有,全凭 DBA 脑记。
识别它们不难:看有没有固定的列定义,有没有主键、外键、索引。但容易踩坑的是——有些看起来像表的数据,其实是程序生成的 CSV 快照,没有 Schema 约束。
半结构化数据
这类数据带标签或标记,但格式不固定。JSON 和 XML 是最常见的。
举个例子,API 接口返回的客户信息 JSON:
{
"customer": {
"name": "张三",
"idCard": "110101199001011234",
"orders": [
{"orderId": "A001", "amount": 299.00},
{"orderId": "A002", "amount": 1588.00}
]
}
}
这里的idCard就是敏感字段,但字段名可能叫certNo、identity甚至extra。半结构化数据的麻烦在于,同一个语义的字段可能有几十种命名方式。
我在一个电商客户的 S3 存储里发现了大量未清理的订单快照 JSON,里面包含了完整的用户手机号和地址。因为接口日志直接 dumped 到了对象存储,没人清理。
对付这类数据,我的做法是:先用路径模式匹配常见的敏感字段名(如**.idCard、**.phone),再结合正则扫描值内容。
非结构化数据
这是最难啃的骨头。文档、PDF、图片、音频、视频——格式五花八门,内容没有固定结构。
你想想看,一份 Word 文档里可能藏着几个身份证号,一段客服录音可能含有银行卡号。传统的关键字匹配很难全覆盖。
| 子类 | 典型载体 | 常用发现方法 |
|---|---|---|
| 文本文档 | docx、pdf、txt | OCR + 正则、NLP 实体抽取 |
| 图片/扫描件 | jpg、png、tiff | OCR 文字识别 + 敏感词匹配 |
| 音视频 | mp3、mp4、wav | 语音转写 + 关键字检测 |
| 邮件/即时消息 | eml、pst、slack 导出 | 全文索引 + 正则/模式匹配 |
我做过一个政府项目的资产发现,发现大量扫描的 PDF 文件里含有居民身份证复印件——因为工作人员图省事,直接把所有材料扫成一个 PDF 存到共享网盘。处理非结构化数据时,建议先做文件格式识别,再对文本类做内容解析。
敏感数据类型的核心分类
数据资产发现的最终目的,是识别出哪些数据是敏感的。按业界通用标准,我通常分为四大类:
- 个人身份信息(PII):姓名、身份证号、手机号、邮箱、住址、生物特征等
- 金融财务信息:银行卡号、交易记录、收入信息、信用报告
- 受保护健康信息(PHI):病历、诊断结果、用药记录、基因数据
- 商业机密与合规数据:源代码、专利文档、内部定价、客户清单、密钥凭证
重点记忆:很多企业在做资产发现时只扫 PII,忽略了业务敏感数据。比如某互联网公司把推荐算法配置明文存 Git 仓库,被扫描到后才紧急迁移。数据资产分类一定要覆盖业务场景,不能只看法规清单。
SVG 知识结构图
下面这张图我把数据资产的分类和敏感类型梳理在一起,帮你建立整体框架:
综合对比:如何在实际项目中应用
做了这么多项目,我的经验是:别指望一步到位。先按结构化→半结构化→非结构化的顺序扫描,敏感类型识别可以逐步叠加。
我给你列个建议的优先级顺序:
- 先扫数据库里的结构化敏感字段(身份证、手机号、银行卡)——这部分产出最快
- 再扫文件存储里的半结构化文件(JSON/XML 日志)——通常漏洞最多
- 最后扫非结构化文档(PDF/图片)——耗时最长,建议先做关键字预筛选
分类体系建好后,你会发现很多数据不能简单归到一个筐里。比如一个 CSV 文件包含电话号码(结构化),但这个文件本身丢在共享网盘里(非结构化存储)。嗯,这时候我倾向于按内容特征分类——文件里有什么数据,就按什么敏感类型去标记。
总之,搞懂数据长什么样子、有没有敏感内容,是后面做分级、打标签、配策略的基础。基础打不牢,后面的 DSPM 都是空中楼阁。