跳到内容

14.4 访问、保留与合规运行:权限终会过期,副本必须能找到

预言厅完成了数据地图,也给分析表做了 pseudonymisation。审计时却发现:离职分析师的长期权限仍在,紧急导出的 CSV 没有到期日,删除请求只处理主库,备份和特征表里还留着副本。

隐私控制只有进入身份、数据生命周期、供应商和事件运行,才不会停留在评估报告里。

本课目标

  • 组合 RBAC、ABAC 和数据策略实现最小权限;
  • 管理授权申请、复核、过期与 break-glass;
  • 让保留和删除覆盖派生、缓存、备份与下游;
  • 建立请求响应、第三方管理和隐私事件流程。

1. 角色只是授权起点

RBAC 按岗位授予能力,易于管理,却容易形成“analyst 可以看所有分析数据”的粗粒度角色。ABAC 可加入:

  • 数据分类与领域;
  • 用户团队、培训、地点和雇佣状态;
  • 目的、工单、环境和设备状态;
  • 行/列范围、时间窗口和输出限制。

策略示意:

text
allow read pseudonymous mission data
when user.role = analyst
and user.domain = operations
and purpose = approved_safety_analysis
and ticket.status = active
and asset.classification <= user.clearance
and current_time < grant.expires_at

这仍需明确身份来源、属性可信度、默认拒绝和冲突优先级。客户端 filter_columns() 不是访问控制;控制应在无法绕过的数据服务或存储层执行。

2. 权限生命周期

text
申请:资产、目的、范围、时长和负责人
审批:owner/数据保护/安全按风险参与
发放:最小范围、短期凭证、绑定身份
使用:查询、导出和策略决策留痕
复核:owner 定期确认真实需要
撤销:离职、转岗、到期、事件或用途结束

永久共享账号和静态密钥会破坏问责。优先使用个人/工作负载身份、短期凭证和自动撤销。

3. Break-glass 不是管理员全通证

紧急访问应:

  • 只在定义事件类型下启用;
  • 强认证和理由;
  • 限定资产、操作与短时有效;
  • 实时通知值班/owner;
  • 不可篡改审计;
  • 事后独立复核。

“role_admin = all”既缺少用途也没有时间边界。平台维护者不应默认能读取明文业务数据,控制面权限和数据面权限应分离。

4. 加密与密钥边界

传输和静态加密是基础,但具体协议、算法、模式和密钥长度应遵循组织采用的现行标准与风险要求,不在课程里硬编码一个永远适用的 “TLS/AES-256” 清单。

更关键的是:

  • 密钥由专用系统生成、轮换和审计;
  • 数据密钥与密钥加密密钥分层;
  • 密钥管理员与数据读取职责分离;
  • 备份、日志、临时文件和导出同样保护;
  • 解密发生在最小可信边界;
  • 密钥撤销/crypto-shredding 的适用条件经过验证。

加密不能阻止被授权应用进行过度查询,因此仍需用途、输出和行为控制。

5. 保留从目的和义务推导

对每类记录定义:

text
保留目的与开始事件
活动期和归档期
法定/合同 hold
到期动作:删除、匿名化或复核
主库、派生、缓存、搜索索引和导出范围
备份到期与恢复后再删除机制
owner、执行证据和例外期限

“保留七年”不是通用规则。不同辖区、记录类型和义务不同;冲突需要法律与业务 owner 记录依据。

6. 删除是分布式工作流

删除请求或到期策略可能涉及:

  • identity mapping 与主记录;
  • 事件表、宽表和数据湖快照;
  • 搜索索引、缓存和队列;
  • 特征、训练集和模型工件;
  • 报告、导出和第三方;
  • 备份和灾难恢复副本。

血缘提供候选下游,数据地图补足非自动路径。工作流需要幂等、重试、范围证据和失败队列。

备份常不能逐条立即修改。可通过缩短备份保留、限制恢复访问、记录 tombstone,并在恢复后重新执行删除。是否满足具体法定义务必须按适用制度确认。

7. 模型中的删除不能轻率承诺

个体数据可能影响模型参数,但从训练集删一行不等于现有模型已遗忘。可选策略:

  • 定期从已更新训练快照重训;
  • 分片训练或可重构工件;
  • 在适合场景评估 machine unlearning;
  • 记录模型与训练数据版本关系;
  • 在无法验证遗忘时如实说明范围。

还要保留必要审计证据与最小删除日志,避免为了证明删除而保存完整被删数据。

8. 个体请求与纠正传播

在适用法律、合同或组织政策下,可能需要支持访问、更正、删除、限制、反对或可携带等请求。工程流程应:

  1. 安全验证请求者身份,避免披露给冒名者;
  2. 确认辖区、范围、例外和截止时间;
  3. 搜索主记录、别名和下游;
  4. 汇总为可理解输出或执行更正/限制;
  5. 通知适用接收者;
  6. 记录决定、执行证据和申诉路径。

不要在身份验证中过度收集新证件,也不要假定所有请求类型和时限全球相同。

9. 第三方与跨边界处理

供应商评估不能止于问卷。记录:

  • 数据、目的、角色和处理地点;
  • 子处理者和变更通知;
  • 安全与隐私控制证据;
  • 事件通知、协助请求和审计权;
  • 保留、返还、删除及证明;
  • 终止后的迁移与访问撤销;
  • 跨境/跨域所需的适用机制。

合同无法代替技术限制。只提供必要字段、独立身份、短期授权、导出限制和持续日志。

10. 隐私事件响应

隐私事件包括未经授权披露,也包括错误关联、过度收集、错误自动决定、无法删除和用途漂移。

text
检测与保护证据
遏制访问、共享或决策
识别数据、人员、接收者与时间范围
评估可能伤害与适用通知义务
修正数据、决定和下游副本
与受影响者/监管者/合作方沟通(如适用)
恢复前验证控制
复盘并更新数据地图、策略和演练

通知门槛与时限随法律和事实变化,应由授权法律/隐私负责人决定;工程团队负责及时提供可靠范围和时间线。

11. 运行指标

  • 过期/孤儿权限和平均授权时长;
  • 敏感导出、异常查询和 break-glass 复核;
  • 到期数据删除完成率与失败队列;
  • 个体请求各阶段耗时和返工;
  • 无 owner、无保留规则和未知接收者资产;
  • 供应商删除证明与权限撤销;
  • 事件检测、遏制、范围确认和救济时间。

指标不能激励草率关闭请求;抽样验证输出正确性和受影响者结果。

常见误区

  • 列级过滤函数就是权限系统:用户可绕过客户端代码读取底层数据。
  • 管理员必须能看所有明文:控制面维护与数据访问可以分离。
  • 主库删除即完成:派生、导出、第三方和恢复路径仍在。
  • 合规清单全球通用:义务依赖辖区、角色、目的和数据。

练习

  1. 把粗粒度 analyst 角色改成带目的、时限和分类的策略。
  2. 为 break-glass 设计发放、实时告警和事后复核。
  3. 画出一个删除请求覆盖缓存、特征、模型、备份和供应商的状态机。
  4. 模拟错误身份关联事件,列出遏制、纠正和通知证据。

小结

隐私运行的核心是让权力和数据都有期限:访问可追踪并自动过期,副本可发现并按目的退出,错误能传播更正,事件能及时遏制与救济。

数据从采集走到治理与隐私后,下一卷转入 AI 与机器学习,讨论模型如何学习、验证并进入真实决策。

Built with VitePress | Software Systems Atlas