镜像加签验签 镜像签名验证步骤 镜像签名验证(简称:验签)主要在容器镜像使用方执行,在云容器引擎的插件市场中安装名为"cubesign"的验签插件即可让集群具备验签能力,凡是按提供的公钥所对应的秘钥加签过的镜像,方可验签通过。 注意 1. 安装本插件前,请先安装 certmanager 2. 安装插件时需要慎重配置,否则容易影响集群中其他Pod的正常创建,从而影响到集群的功能 验签插件安装时需要按照实际状况提供相关配置信息方可让验签工作正常运行,让集群功能正常使用,配置参数说明如下 参数 描述 默认值 signconfig.useDefaultSignKey 使用默认的签名 true signconfig.customSignKey 使用default signkey时,custom无需填写,填写时将公钥作 base64 w0 编码 ""(空字符串) signconfig.ignoreList 忽略验签白名单集合,配置样例如下 [] plaintext allowList: 只对命名空间加白,多个命名空间用逗号“,”分割 namespaces: "default,dev" 只对镜像加白,镜像名支持完整匹配,且支持通过星号()字符实现简单的通配符匹配,通配后文补充说明 imagenamepattern: "nginx" 对命名空间下的镜像名加白 namespaces: "grey" imagenamepattern: "busybox:1.28" imagenamepattern详细说明: 当配置项值不包含星号()字符时,将按配置的值进行完整匹配。例如,nginx:v0.1.0只会匹配nginx:v0.1.0。 当通过星号()字符实现通配符匹配时,包含以下限制: 星号( )位于末尾时,匹配除正斜线(/)外的任意字符。例如,a.com/nginx匹配a.com/nginx:v0.1.0,但是不匹配a.com/nginx/test:v0.1.0 。 星号( )不位于末尾时,匹配字母、数字、短横线() 以及下划线() 。例如,registryvpc.cn.ctyun.com/pause:3.2既匹配registryvpc.cnhangzhou.ctyun.com/pause:3.2,也匹配registryvpc.cnbeijing.ctyun.com/pause:3.2。 注意 特别地,处于kubesystem命名空间下的所有镜像均不进行验签操作。同理使用其他第三方的开源镜像时,为了能绕过验签逻辑,需要在安装验签插件时统一为这些镜像加上白名单 当验签不通过时,Pod的容器事件中可观察到如下的事件提示: