2.9 KiB
2.9 KiB
06-制品管理规范
1. 制品全生命周期
开发构建 → 安全扫描 → 存储管理 → 测试 → 部署
总体原则
- 源代码及需求来源可追溯
- 制品安全质量可管控
- 存储管理安全可靠
- 制品唯一可信(部署 = 测试通过版本)
- 操作及流转日志可审计
2. 开发构建
- 【强制 C1】 开发构建须连接统一制品库,第三方依赖从统一制品库代理下载
- 【强制 C1】 构建制品必须上传到统一制品库
- 【强制 C3】 制品须收集构建信息(构建时间、人员、工具、第三方依赖)
- 【强制 C3】 制品须通过元数据关联代码仓库、分支、commit id
- 【强制 C4】 制品须进一步关联对应需求或缺陷
3. 安全扫描
- 【强制 C3】 制品关联源代码质量及安全扫描信息
- 【强制 C4】 根据扫描结果确定制品能否进入测试
- 【强制 C2】 制品关联第三方组件安全漏洞扫描
- 【强制 C2】 存在高中危漏洞且可修复时必须在开发阶段修复
- 【强制 C3】 制品关联第三方组件许可协议扫描
4. 存储管理
仓库类型选择
| 场景 | 仓库类型 |
|---|---|
| 云原生应用 | docker 仓库(镜像)+ helm 仓库(配置) |
| 直接部署安装 | generic 仓库 |
| 项目构建依赖 | 对应类型:maven/npm/go/pypi |
仓库命名格式
项目名[-子项目名]-生命周期-制品类型-仓库类型
示例:myproject-snapshot-maven-local
生命周期:snapshot(开发快照)/ release(生产发布)
权限与审计
- 【强制 C1】 设置严格的访问权限(管理员、读写、只读三类)
- 【强制 C2】 上传/下载/修改/删除必须留痕,日志保存 ≥ 6 个月
5. 版本管理
- 【强制 C1】 制品版本号与源代码版本号保持一致
- 【强制 C1】 开发测试阶段使用快照版本(SNAPSHOT)
- 【强制 C1】 快照版本测试完成后发布正式版本做回归测试
- 【强制】 正式版本号不允许覆盖升级
制品晋级
- 【强制 C3】 测试和安全检查通过后从快照仓库自动晋级到发布仓库
- 【强制 C4】 晋级到生产仓库前可增加人工审核
清理
- 【强制 C1】 快照仓库最多保留 10 个版本
- 生产发布仓库已部署版本建议永久保存
6. 第三方组件管理
- 【强制 C1】 统一制品库作为第三方组件依赖源
- 【强制 C2】 通过 SCA 工具对第三方组件进行安全扫描
- 【强制 C4】 制定第三方组件使用规范:黑名单拦截、基线管控、新增组件审批
7. 制品溯源
- 【强制 C3】 制品元数据包括:构建信息、关联源码、安全扫描结果、测试结果
- 【推荐 C0】 收集制品软件物料清单(SBOM)
- 【推荐 C0】 通过 SBOM 快速定位有安全漏洞的组件