
# 安装验签插件
#### 操作场景
容器镜像服务是通过swr-cosign插件实现镜像签名验证的，使用镜像验签功能需要安装swr-cosign插件即可。下面介绍如何安装验签插件swr-cosign。
#### 操作步骤
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)。
2. 在左侧导航栏上单击"插件市场"。
3. 在插件市场页面上方搜索框输入"cosign"并搜索。
4. 在下方的搜索结果中找到"容器镜像签名验证"插件，单击"安装"。
5. 填写"安装插件"页面的相关参数。 
   - **选择集群**：选择镜像所在集群。该插件只能在K8S V1.23及以上版本集群上安装。
   
   
   ![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/notice_3.0-zh-cn.png)
   对集群某个命名空间进行镜像验签时，需要先为该命名空间添加 policy.sigstore.dev/include:true 标签。
   - **选择版本**：选择插件版本
   
   - **规格配置**
     - 单注册表：当前插件只支持在1个注册表上使用。
     
     - 高可用：当前插件支持在2个注册表上使用。
     
     - 自定义：自定义注册表数、CPU配额、容器配额。
     
     
     表1swr-cosign插件规格配置 
     | 参数   | 参数说明                                                                           |
     |:---|:---|
     | 插件规格 | 该插件可配置"单实例"、"高可用"或"自定义"规格。                                                     |
     | 实例数  | 选择上方插件规格后，显示跟插件规格匹配的实例数。 选择"自定义"规格时，您可根据需求调整插件实例数。 |
     | 容器   | 选择"自定义"规格时，您可根据需求调整插件实例的容器规格。                                                  |
        
     
   
   
   
   - **参数配置**
     - KMS密钥：选择一个[创建非对称密钥](https://support.huaweicloud.com/usermanual2-swr/swr_02_0431.html#swr_02_0431__section1895691714427)中创建好的密钥。
     
     - 验签镜像：单击![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002517439506.png)，选择需要验签的镜像。
     
     
     表2swr-cosign插件参数配置 
     | 参数    | 参数说明                                                                                |
     |:---|:---|
     | KMS密钥 | 选择一个密钥，仅支持 EC_P256、EC_P384、SM2 类型的密钥。 您可以前往密钥管理服务新增密钥。 |
     | 验签镜像  | 验签镜像地址通过正则表达式进行匹配，例如填写docker.io/\*\*表示对docker.io注册表的镜像进行验签。如需对所有镜像验签，请填写\*\*。       |
        
     
   
   
   
   
6. 填写完成后，单击"安装"。 
   待插件安装完成后，选择对应的集群，然后单击左侧导航栏的"插件中心"，可筛选"已安装插件"查看相应的插件。
   
   
 
#### 验签功能生效验证
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)。
2. 单击已安装验签插件的集群名称，进入集群。
3. 在左侧导航栏中选择"工作负载"。
4. 单击右上角的"创建工作负载"。
5. 选择已打验签标签 policy.sigstore.dev/include:true 的命名空间。
6. 选择一个未签名的镜像。
7. 勾选镜像访问凭证，继续创建工作负载。 此时会发现验签不通过，原因是容器镜像验签插件会对当前命名空间下的创建负载的容器镜像进行验签，说明验签功能已生效。
   
 
