平台安全与治理
本节目标
完成本节后,你应能画出 MLOps 平台的信任边界,为人、流水线、模型服务和制品仓库分配最小权限,并把风险、审批、审计、删除和事件响应变成可检查的生命周期证据。
标准版本与动态平台事实
NIST AI RMF 1.0 发布于 2023 年;2026-07-14 查阅 NIST 页面时,该页面明确说明 1.0 正在修订。本节引用 1.0 的
GOVERN / MAP / MEASURE / MANAGE组织方式,不把它表述为未来不变的最新要求。Kubernetes、Kubeflow、KServe 和 MLflow 的界面与配置属于动态事实,真实部署必须锁定版本并查对应文档。
先画平台中的主体与资产
一个最小平台通常包含:
- 开发者、审核者、发布者和平台管理员;
- CI、训练、评测、注册、部署和监控工作负载;
- 源码仓库、数据仓库、Tracking、Registry 和制品存储;
- 在线服务、批处理任务、日志、标签回填和告警系统;
- 数据库、队列、模型供应链与外部 API。
资产不只是模型文件。训练数据、标签、特征、环境锁文件、容器镜像、签名、评测集、审批记录、服务身份和日志都可能影响模型行为或暴露敏感信息。
画图时标明每条数据流的主体、身份、网络边界、允许动作和审计位置。仅画“训练→部署”的箭头不足以发现谁可以跳过质量门、谁能替换制品或谁能读取生产数据。
最小权限与职责分离
建议把身份按工作负载拆分:
| 主体 | 最小权限示例 | 不应默认拥有 |
|---|---|---|
| CI | 读源码、写测试报告 | 生产数据、生产部署权限 |
| 训练任务 | 读批准的数据快照、写新制品 | 移动 production 别名 |
| 评测任务 | 读候选和冻结评测集、写报告 | 修改候选制品 |
| 晋级服务 | 读报告、写候选状态 | 重写评测结果 |
| 部署服务 | 读已批准的固定摘要、更新目标环境 | 任意读取训练数据 |
| 在线模型 | 读自己的制品和必要特征 | Registry 管理、训练环境写权限 |
| 人工审核者 | 查看脱敏证据、批准特定动作 | 直接替换制品内容 |
“平台管理员可以做所有事”可能是运维现实,但高风险操作仍应有短时授权、双人复核和独立审计。服务账号不得多人共享;审批应绑定候选版本、制品摘要、策略版本、目标环境和有效期。
秘密和隐私数据
- 凭据只从秘密管理边界注入,不写进代码、Notebook、manifest、日志或模型元数据;
- 开发、测试、生产使用不同身份与数据;
- 训练和调试优先使用最小化、脱敏或合成样本;
- 明确数据用途、保留期限、删除流程与跨区域限制;
- 日志不记录原始敏感特征,必要时保存稳定请求 ID 和版本而非完整载荷;
- 删除请求要覆盖数据副本、特征、索引、缓存、制品和可合理清理的备份。
Kubernetes Secret 是存放敏感信息的 API 对象,但它不是“自动安全保险箱”。官方加密文档指出,若未配置 encryption-at-rest,API server 默认会在 etcd 中保存数据的明文表示。真实集群还需 RBAC、静态加密、备份保护、轮换与访问审计;不要把 base64 编码误认为加密。
制品与软件供应链
候选模型不仅要“能下载”,还要证明下载的是被评测的对象:
- 模型、预处理器、签名和环境以一个发布 manifest 绑定;
- 用内容摘要标识不可变制品;
- 记录构建者、源码提交、数据快照、训练配置和流水线运行;
- 构建环境最小化,依赖锁定并做漏洞、许可证和来源检查;
- 发布时验证摘要、来源和审批,不接受可移动的
latest; - 保留旧版本及其依赖,定期演练加载和回滚;
- 训练或发布系统被入侵时,能够撤销身份、隔离制品并追查受影响版本。
NIST SP 800-218 SSDF 1.1 提供把安全实践纳入软件开发生命周期的通用框架。它不是 MLOps 专用工具清单;落地时要把软件构建、数据与模型制品一起纳入组织的安全流程。
多租户与计算隔离
共享 GPU、Notebook、对象存储和集群时要检查:
- namespace、项目、账号和存储路径是否隔离;
- 工作负载是否以非特权用户运行,是否限制主机挂载与网络;
- CPU、内存、GPU、临时盘和任务时长是否有配额;
- 用户提交的代码或模型格式是否可能执行任意代码;
- 缓存能否跨租户复用,缓存键是否包含权限与数据版本;
- 失败日志、核心转储和临时目录是否泄露数据。
不要直接加载不可信的可执行模型序列化格式。即使格式本身安全,预处理插件、容器入口和自定义代码仍需供应链验证和沙箱。
治理不是上线前的一张审批表
可以用 NIST AI RMF 1.0 的四个函数组织证据:
- GOVERN:责任人、政策、风险容忍度、第三方和事件升级路径;
- MAP:用途、用户、受影响群体、数据来源、环境和可能伤害;
- MEASURE:数据质量、任务指标、关键切片、稳健性、安全、隐私与监控覆盖;
- MANAGE:接受、降低、转移或避免风险,设置发布、停止、回滚和退役条件。
这四项贯穿问题定义、实验、候选晋级、部署、监控、事故和退役。低风险内部批处理与高影响自动决策不应共享完全相同的审批门槛。
一条可审计的晋级记录
最低应回答:
谁:审核者与执行服务身份
什么:固定 candidate_id、artifact_digest、代码和数据版本
依据:测试、整体/切片指标、风险例外和策略版本
去哪里:目标环境、流量范围和发布时间
如何止损:观察窗口、停止条件、回滚版本和负责人
结果:实际部署摘要、事件、监控结论和后续处置别名可以方便部署,但审计记录必须保存它当时解析出的固定版本与摘要。管理员之后移动别名,不应改变历史记录的含义。
常见错误与排查
- CI 使用生产管理员凭据:改为每个阶段独立身份,并限制目标资源。
- 模型摘要正确就忽略预处理器:把完整发布单元绑定进 manifest。
- Kubernetes Secret 已 base64,所以已加密:核对集群静态加密配置和 etcd/备份保护。
- 审批只写“同意上线”:绑定制品摘要、策略、环境、有效期和观察计划。
- 日志越详细越利于审计:先做数据最小化;秘密和原始个人数据不应进入日志。
- 退役等于停止服务:还要撤销路由、凭据、别名,处理制品与数据保留,并更新文档。
动手练习
为“每晚训练并发布欺诈识别模型”的平台完成威胁建模:
- 画出源码、数据、CI、训练、Registry、部署、在线服务与监控边界;
- 为每个主体写读写权限;
- 设计一次候选晋级审批记录;
- 模拟制品摘要不匹配、CI 凭据泄露和生产数据误入日志;
- 写出遏制、证据保存、恢复和凭据轮换步骤;
- 说明哪些风险进入自动门,哪些必须人工评审。
掌握检查
- 能区分 Secret 对象、加密、RBAC 和外部秘密管理各自解决的问题。
- 能为 CI、训练、评测、晋级和部署分配不同最小权限。
- 能让 manifest 绑定模型、预处理、签名、环境和来源证据。
- 能用 GOVERN、MAP、MEASURE、MANAGE 组织生命周期风险证据。
- 能设计带固定摘要、策略版本、停止条件和回滚责任人的审批。
下一步
进入 离线模型晋级项目与自测,用严格 JSON 和可运行测试练习血缘、晋级、漂移调查和回滚判定。
参考资料
以下资料核对于 2026-07-14: