4. 基线概念与分类:基线的定义、功能基线、性能基线、安全基线、合规基线

在镜像供应链的信任边界发布窗口中,基线(Baseline)是衡量变更是否可接受的参照坐标系。没有基线,偏差回归检查就失去了比较对象。本章从定义出发,系统阐述四种核心基线的内涵、用途与相互关系。

4.1 基线的定义

基线是在特定时间点对工件(镜像、配置、依赖、策略)的已批准状态的正式快照。它既是后续变更的参照锚点,也是回归检查的判定依据。

核心公式: 基线 = 已批准状态 + 时间戳 + 签名指纹

在镜像供应链上下文中,基线具有三个关键属性:

  • 不可变性:基线一旦发布,其内容(镜像摘要、元数据、策略)即被锁定,任何修改必须通过新的基线版本。
  • 可追溯性:每条基线关联完整的构建日志、审批记录和签名链。
  • 可比较性:基线之间支持差异分析,用于识别偏差。
基线在发布窗口中的锚点作用 基线 v1.0 基线 v1.1 基线 v1.2 发布窗口 T1 发布窗口 T2 发布窗口 T3 回归检查点 回归检查点

4.2 功能基线

功能基线定义了镜像或服务在发布时必须满足的行为规范。它回答的问题是:“这个镜像应该做什么?”

维度 内容 检查方式
接口契约 API 端点、请求/响应格式、协议版本 OpenAPI 规范比对
核心逻辑 业务功能点、状态机转换、错误处理 集成测试套件
依赖行为 外部服务调用、数据库操作、消息队列 契约测试 + Mock 验证
配置驱动 环境变量、启动参数、特性开关 配置校验器
实践建议:功能基线应包含 Golden Signals(延迟、流量、错误、饱和度)的预期阈值,而不仅仅是功能通过/失败。

4.3 性能基线

性能基线记录镜像在特定负载下的资源消耗与响应特征。它是容量规划和回归检测的关键输入。

性能基线通常包含以下指标:

  • 吞吐量:每秒请求数(RPS)或每秒事务数(TPS)
  • 延迟分布:P50、P95、P99 响应时间
  • 资源占用:CPU 使用率、内存 RSS、网络 I/O、磁盘 I/O
  • 启动时间:从容器启动到就绪探针通过的时间
  • 冷启动 vs 热启动:首次加载与缓存命中后的性能差异
常见陷阱:性能基线必须在隔离环境中采集,避免因共享宿主机的资源争用导致基线失真。建议使用 cgroup 绑定的专用压测节点。
性能基线对比:发布窗口回归检测 基线 80ms 构建 #1 100ms 构建 #2 120ms 构建 #3 90ms 构建 #4 80ms 阈值 100ms 构建 #2 的 P99 延迟 120ms 超过基线阈值,触发回归告警

4.4 安全基线

安全基线定义了镜像在发布时必须满足的最低安全要求。它是信任边界的核心防线。

安全基线通常包含以下检查项:

类别 检查项 基线阈值
漏洞扫描 CVE 数量(Critical/High/Medium) Critical=0, High≤3, Medium≤10
软件物料清单 SBOM 完整性、依赖来源可信度 100% 已知来源
签名验证 镜像签名、提交签名、构建证明 全部通过验证
配置安全 非 root 运行、只读根文件系统、Seccomp 策略 符合 CIS Docker Benchmark
密钥检测 硬编码密钥、令牌、证书 零容忍
关键原则:安全基线不是静态的。当新的高危 CVE 公开时,基线阈值应自动收紧,并触发对历史镜像的重新评估。

4.5 合规基线

合规基线确保镜像供应链满足法规、行业标准与组织策略的要求。它回答的问题是:“这个镜像是否被允许进入生产环境?”

常见的合规基线来源包括:

  • 行业标准:PCI-DSS、HIPAA、SOC2、FedRAMP
  • 组织策略:禁止使用特定许可证(如 GPLv3)、禁止使用未批准的基础镜像
  • 地域法规:GDPR 数据驻留要求、中国《网络安全法》的密码算法要求
  • 供应链策略:仅允许从受信任的镜像仓库拉取、必须经过人工审批
合规域 基线检查示例 违反后果
许可证合规 禁止 GPLv3 依赖进入生产镜像 阻断发布
数据驻留 镜像不得包含 GDPR 受限数据 阻断发布 + 上报合规官
加密标准 必须使用 FIPS 140-2 验证的加密库 阻断发布
审批流程 生产镜像必须经过安全团队签名 阻断发布

4.6 基线分类对比

四种基线在发布窗口中的角色不同,但共同构成完整的信任边界:

基线类型 关注焦点 检查频率 回归影响
功能基线 行为正确性 每次构建 功能回归 → 阻断发布
性能基线 资源效率 每次构建 + 定期压测 性能退化 → 告警/阻断
安全基线 漏洞与攻击面 每次构建 + 实时监控 安全回归 → 立即阻断
合规基线 法规与策略 每次发布 + 定期审计 合规偏离 → 阻断发布
集成策略:在 DevSecOps 流水线中,四种基线应合并为一条复合基线,通过策略即代码(Policy as Code)统一管理。任何一条基线出现偏差,都应触发回归检查流程。