签名验证把住入口
把签名验证作为拉取前置检查:用 cosign 校验镜像签名与签发身份,确认制品来源与完整性,校验通过后再按摘要拉取使用。它是供应链环节里把住入口的一道检查。
基本信息
| 定位 | 制品签名校验工具 |
|---|---|
| 两种模式 | 密钥对签名与免密钥的身份模式 |
| 要点 | 身份与签发者条件要同时校验 |
| 集成位置 | 部署流水线的拉取前置步骤 |
| 校验对象 | 建议指向镜像摘要而非可移动的标签 |
典型使用场景
- 生产部署前阻止未通过签名的镜像上线
- 合规要求证明制品来源与完整性时提供依据
- 排查某个镜像是否由可信流水线构建
- 多环境推广时统一验证口径
- 事故复盘:确认问题版本是否通过了签名验证
两种校验方式
两种校验方式
cosign verify --key cosign.pub registry.example.com/app/api:1.4.2
cosign verify \
--certificate-identity=ci@example.com \
--certificate-oidc-issuer=https://issuer.example.com \
registry.example.com/app/api:1.4.2环节与要点
| 环节 | 做法 | 要点 |
|---|---|---|
| 签名 | 构建后签署 | 密钥模式或身份模式 |
| 验证 | 部署前校验 | 身份与签发者同时给出 |
| 引用 | 按摘要使用 | 避免标签被改写 |
| 失败处理 | 阻止发布 | 记录原因并回溯 |
把验证步骤放进部署流水线,未通过签名的镜像直接阻止发布。
只验可移动的标签会被换标签绕过,验证与部署都指向摘要才可靠。
身份模式下必须同时给出身份与签发者条件,缺一项等于没有校验主体。
签名验证只能证明制品来源与未被篡改,不能替代漏洞扫描与配置检查。
验证失败时保留完整输出,便于判断是签名本身有问题还是条件写错。
密钥模式下的公钥要能被流水线稳定读取;公钥泄露不影响安全性,但不能被替换。
签名与验证所用的密钥或身份条件要写进流水线文档,交接时缺少这份信息,验证步骤很容易被直接跳过。