数据脱敏与权限过滤
AI 应用经常处理用户数据、企业文档和业务记录。数据进入模型前必须经过权限过滤和必要脱敏,避免泄露敏感信息。
# 1. 风险链路
业务数据
-> 检索或查询
-> 拼入 Prompt
-> 模型处理
-> 输出给用户
-> 日志保存
任何环节都可能泄露数据。
# 2. 敏感数据类型
| 类型 | 示例 |
|---|---|
| 身份信息 | 姓名、手机号、身份证、邮箱 |
| 账户信息 | 账号、密码、Token、密钥 |
| 财务信息 | 金额、银行卡、发票 |
| 企业信息 | 合同、报价、客户资料 |
| 系统信息 | 内网地址、配置、日志 |
| 个人隐私 | 聊天记录、健康信息 |
# 3. 权限过滤原则
权限过滤必须在数据进入模型前完成。
用户身份
-> 权限系统
-> 数据查询或检索过滤
-> 只返回可访问数据
-> 拼入模型上下文
不能把无权数据放进上下文后再要求模型不要说。
# 4. 脱敏方式
| 方式 | 示例 |
|---|---|
| 掩码 | 138****8888 |
| 删除 | 去掉密钥字段 |
| 泛化 | 具体地址改为城市 |
| 替换 | 用户 A、客户 B |
| 摘要 | 只保留统计信息 |
脱敏要结合任务需求。过度脱敏会影响模型完成任务,脱敏不足会泄露数据。
# 5. 日志安全
AI 日志也可能包含敏感信息。
建议:
- Prompt 和输出脱敏后记录。
- 原文日志设置访问权限。
- 设置日志保留周期。
- 记录访问审计。
- 避免把密钥写入错误日志。
# 6. 常见坑
| 问题 | 后果 |
|---|---|
| 只在输出阶段过滤 | 模型上下文已接触敏感数据 |
| RAG 不做 ACL | 用户可能查到无权文档 |
| 日志保存完整输入 | 二次泄露风险 |
| 工具返回过多字段 | 不必要数据进入模型 |
| 脱敏不可逆需求没考虑 | 后续无法核对原文 |
# 7. Tips 快问快答
Q:脱敏后模型效果会不会变差?
A:可能会。需要在隐私和任务效果之间平衡,尽量只保留完成任务必要的信息。
Q:权限过滤应该由模型做吗?
A:不能。权限过滤必须由业务系统或检索系统基于用户身份强制执行。
Q:内部系统用 AI 就不用脱敏吗?
A:不是。内部系统也有权限边界和审计要求,尤其是跨部门和多租户场景。
上次更新: 2026/06/25, 17:53:09