首页/云/Docker 容器速查/cosign 镜像签名验证
资源与安全50 条

cosign 镜像签名验证

签名验证作为拉取前置检查:用 cosign 校验镜像签名与签发身份,确认制品来源与完整性,校验通过后再按 digest 拉取使用。

Docker 容器速查云更新于 2026-10-13

签名验证把住入口

把签名验证作为拉取前置检查:用 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

环节与要点

环节做法要点
签名构建后签署密钥模式或身份模式
验证部署前校验身份与签发者同时给出
引用按摘要使用避免标签被改写
失败处理阻止发布记录原因并回溯
把验证步骤放进部署流水线,未通过签名的镜像直接阻止发布。
只验可移动的标签会被换标签绕过,验证与部署都指向摘要才可靠。
身份模式下必须同时给出身份与签发者条件,缺一项等于没有校验主体。
签名验证只能证明制品来源与未被篡改,不能替代漏洞扫描与配置检查。
验证失败时保留完整输出,便于判断是签名本身有问题还是条件写错。
密钥模式下的公钥要能被流水线稳定读取;公钥泄露不影响安全性,但不能被替换。
签名与验证所用的密钥或身份条件要写进流水线文档,交接时缺少这份信息,验证步骤很容易被直接跳过。

易错点

  • 只验可移动的标签会被换标签绕过,验证与部署都要指向摘要
  • 身份模式缺身份或签发者条件,等于没有校验主体
  • 把签名验证当万能安全门,忽略漏洞扫描与配置检查
  • 验证失败不保留完整输出,难以区分签名问题与条件写错

数据来源与参考

  • Sigstore cosign 官方文档:verify(docs.sigstore.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌