平台安全与治理

本节目标

完成本节后,你应能画出 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 编码误认为加密。

制品与软件供应链

候选模型不仅要“能下载”,还要证明下载的是被评测的对象:

  1. 模型、预处理器、签名和环境以一个发布 manifest 绑定;
  2. 用内容摘要标识不可变制品;
  3. 记录构建者、源码提交、数据快照、训练配置和流水线运行;
  4. 构建环境最小化,依赖锁定并做漏洞、许可证和来源检查;
  5. 发布时验证摘要、来源和审批,不接受可移动的 latest;
  6. 保留旧版本及其依赖,定期演练加载和回滚;
  7. 训练或发布系统被入侵时,能够撤销身份、隔离制品并追查受影响版本。

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/备份保护。
  • 审批只写“同意上线”:绑定制品摘要、策略、环境、有效期和观察计划。
  • 日志越详细越利于审计:先做数据最小化;秘密和原始个人数据不应进入日志。
  • 退役等于停止服务:还要撤销路由、凭据、别名,处理制品与数据保留,并更新文档。

动手练习

为“每晚训练并发布欺诈识别模型”的平台完成威胁建模:

  1. 画出源码、数据、CI、训练、Registry、部署、在线服务与监控边界;
  2. 为每个主体写读写权限;
  3. 设计一次候选晋级审批记录;
  4. 模拟制品摘要不匹配、CI 凭据泄露和生产数据误入日志;
  5. 写出遏制、证据保存、恢复和凭据轮换步骤;
  6. 说明哪些风险进入自动门,哪些必须人工评审。

掌握检查

  • 能区分 Secret 对象、加密、RBAC 和外部秘密管理各自解决的问题。
  • 能为 CI、训练、评测、晋级和部署分配不同最小权限。
  • 能让 manifest 绑定模型、预处理、签名、环境和来源证据。
  • 能用 GOVERN、MAP、MEASURE、MANAGE 组织生命周期风险证据。
  • 能设计带固定摘要、策略版本、停止条件和回滚责任人的审批。

下一步

进入 离线模型晋级项目与自测,用严格 JSON 和可运行测试练习血缘、晋级、漂移调查和回滚判定。

参考资料

以下资料核对于 2026-07-14: