控制流水线身份、执行环境、审批边界和制品发布权限。
按流水线任务分配身份
源码读取、依赖下载、制品上传和生产发布使用不同身份, 每个身份只拥有当前任务所需权限。避免所有项目共享一个永久管理员令牌。
优先使用短期凭据
通过工作负载身份或动态令牌获取云资源和制品库权限, 限定仓库、分支、环境和有效时间。凭据只在任务运行期注入, 结束后立即失效。
隔离不可信执行内容
来自外部分支和合并请求的代码在隔离执行器中运行, 不接触生产凭据。自托管执行器及时清理工作目录和缓存, 防止任务间窃取信息。
保护生产发布环节
生产环境设置独立审批、受保护分支和制品签名校验, 发布身份不能修改流水线规则。记录审批人、制品摘要、目标环境和发布结果。
落地检查清单
- 读取、构建和发布使用不同身份
- 生产访问采用短期凭据
- 外部分支无法读取发布密钥
- 生产发布验证制品摘要或签名
方案建议将本文控制项纳入软件安全建议方案, 分别明确研发执行人、管理审批人和安全保障复测人, 让每项措施都有证据闭环。
常见问题
这类控制应该写多细?
建议细到可以分配任务、执行检查和验收证据。不能验收的口号式描述, 应转化为责任人、时限、工具结果和复核记录。
如何和已有安全制度衔接?
组织级制度可作为通用基线, 项目级软件安全建议方案负责说明当前系统适用范围、差异化风险和本次交付证据。