更新时间:2025-07-18 GMT+08:00

容器镜像签名验证

插件简介

容器镜像签名验证插件(原名swr-cosign)提供镜像验签功能,可以对镜像文件进行数字签名验证,以确保镜像文件的完整性和真实性,有效地防止软件被篡改或植入恶意代码,保障用户的安全。

约束与限制

  • 使用镜像验签功能依赖容器镜像仓库企业版,请先创建一个企业版仓库。

安装插件

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 单击左侧导航栏的“插件中心”,在右侧找到容器镜像签名验证,单击“安装”
  3. 在安装插件页面,根据需求选择“规格配置”

    • 选择“系统预置规格”时,您可根据集群规模选择“小规格”或“大规格”,系统会根据不同的预置规格配置插件的实例数及资源配额,具体配置值请以控制台显示为准。

      “小规格”为单实例部署,适用于并发下载不同镜像数量小于50的集群;“大规格”为双实例部署,具有高可用能力,适用于并发下载不同镜像数量小于300的集群。

    • 选择“自定义规格”时,您可根据需求调整插件实例数和资源配额。实例数为1时插件不具备高可用能力,当插件实例所在节点异常时可能导致插件功能无法正常使用,请谨慎选择。

  4. 设置插件支持的“参数配置”

    表1 swr-cosign插件参数配置

    参数

    参数说明

    KMS密钥

    选择一个密钥,仅支持 EC_P256、EC_P384、SM2 类型的密钥。

    您可以前往密钥管理服务新增密钥。

    验签镜像

    验签镜像地址通过正则表达式进行匹配,例如填写docker.io/**表示对docker.io镜像仓库的镜像进行验签。如需对所有镜像验签,请填写**。

  5. 单击“安装”。

    待插件安装完成后,选择对应的集群,然后单击左侧导航栏的“插件中心”,可筛选“已安装插件”查看相应的插件。

组件说明

表2 swr-cosign组件

容器组件

说明

资源类型

swr-cosign

swr-cosign负责对镜像文件进行数字签名验证,以保证镜像文件未被篡改。

Deployment

使用说明

  1. 参考安装插件中的步骤,在集群中安装插件,并设置KMS密钥和验签镜像地址。
  2. 为需要标签的命名空间加上policy.sigstore.dev/include:true标签。

    1. 在集群控制台左侧导航栏单击“命名空间”
    2. 找到需要验签的命名空间,单击操作列的“更多>标签管理”。
    3. 新增一个标签,键值填写如下:
      • 键:policy.sigstore.dev/include
      • 值:true
    4. 单击“确定”

  3. 测试镜像验签功能是否生效。

    1. 在集群控制台左侧导航栏单击“工作负载”
    2. 单击右上角“创建工作负载”。
    3. 选择已添加标签的命名空间,并填写未经签名的镜像地址,其余参数请参考创建无状态负载(Deployment)按需填写。
    4. 单击“创建工作负载”
      未经签名的镜像将被拦截,提示如下:
      admission webhook "policy.sigstore.dev" denied the request: validation failed: failed policy: cip-key-secret-match: spec.template.spec.containers[0].image ...

  4. 为镜像添加签名。

    1. 登录SWR企业仓库,进入一个已有的仓库实例。
    2. 在左侧导航栏中单击“安全可信>镜像签名”,创建一个签名规则。
      • 规则名称:为签名规则命名。
      • 组织:选择一个容器镜像组织。
      • 规则范围:
        • 镜像:选择需要签名的镜像。您也可以通过正则表达式匹配多个镜像。
        • 版本:选择镜像版本,若不填或填写**则表示匹配该镜像的所有版本。
      • 签名方式:选择KMS方式。
      • 签名Key:选择一个KMS密钥,该密钥需要与安装插件时的密钥相同。
      • 触发模式:
        • 手动:创建完成签名规则后,需要手动执行规则来对镜像进行签名。
        • 事件触发+手动:可通过事件触发签名动作,也可以手动执行规则对镜像进行签名。
      • 规则描述:填写规则的描述信息。
    3. 签名规则创建完成后,单击操作列的“执行”,对所选镜像进行签名。
    4. 签名成功后,在左侧导航栏中单击“制品仓库>镜像仓库”,单击该镜像名称查看镜像详情。该镜像已存在签名附件。

  5. 重新回到CCE控制台,使用该镜像创建工作负载,创建测试镜像是否可以成功创建。

版本记录

表3 swr-cosign插件版本记录

插件版本

支持的集群版本

更新特性

1.0.34

v1.23

v1.25

v1.27

v1.28

v1.29

v1.30

v1.31

v1.32

支持v1.32集群

1.0.26

v1.23

v1.25

v1.27

v1.28

v1.29

v1.30

v1.31

支持v1.31集群

1.0.2

v1.23

v1.25

v1.27

支持v1.27集群

1.0.1

v1.23

v1.25

支持镜像验签