赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器镜像服务
  4. 操作指南
  5. 镜像安全
  6. 使用容器镜像加签

使用容器镜像加签

  • 镜像安全
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

为了避免中间人攻击和非法镜像的更新及运行,ACR支持命名空间级别的自动加签,每次推送容器镜像后都会匹配加签规则自动加签,保障镜像从分发到部署的全链路一致性。

前提条件

  • 已创建企业版实例,且您的实例必须为高级版。具体操作,请参见创建企业版实例。

  • 已开通密钥管理服务,具体操作,请参见开通密钥管理服务。

创建非对称密钥

  1. 密钥管理服务控制台。

  2. 在页面左上角的地域下拉列表,选择密钥所在的地域。

  3. 在控制台左侧导航栏,单击用户主密钥,然后单击创建密钥。

  4. 在创建密钥对话框配置参数,然后单击确定。

    容器签名功能需要非对称密钥算法的支持,创建KMS密钥时,密钥类型需选择EC或RSA,密钥用途需选择SIGN或VERIFY。其他参数配置请参见创建密钥。

授权容器镜像服务使用KMS密钥

为了让ACR可以读取到您账号下的非对称密钥,需要在您的账号上配置以下RAM策略。

  1. 登录RAM控制台。

  2. 在控制台左侧导航栏中选择身份管理 > 角色。

  3. 在角色页面创建AliyunContainerRegistryKMSRole角色。

    1. 在角色页面单击创建角色。

    2. 在创建角色页面,选择信任主体类型为云账号,然后设置具体的阿里云账号,最后单击确定。

    3. 在创建角色弹框中,输入AliyunContainerRegistryKMSRole角色名称后,单击确定。

  4. 修改信任策略。

    1. 在角色页面找到AliyunContainerRegistryKMSRole,单击角色名称列下的AliyunContainerRegistryKMSRole。

    2. 单击信任策略页签,然后单击编辑信任策略。

    3. 在文本框中,修改信任策略,然后单击保存信任策略。

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "cr.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
  5. 新建AliyunContainerRegistryKMSRolePolicy策略。

    1. 在RAM控制台左侧导航栏中,单击权限管理 > 权限策略。

    2. 在权限策略页面,单击创建权限策略。

    3. 在创建权限策略页面,单击脚本编辑页签,在文本框中输入策略内容,单击确定。然后在创建权限策略对话框中填写名称和备注。

      说明

      您需要根据实际情况替换region和accountid。

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "kms:*"
                  ],
                  "Resource": "acs:kms:${region}:${accountid}:*"
              }
          ],
          "Version": "1"
      }
  6. 在左侧导航栏中,选择 身份管理 > 角色,在角色列表中,找到AliyunContainerRegistryKMSRole 角色。

  7. 单击右侧操作列下的添加权限。

  8. 在添加权限面板中选择权限策略为自定义策略,找到并选择AliyunContainerRegistryKMSRolePolicy ,单击确定,完成添加。

配置证明者及验签策略

  1. 登录云安全中心。

  2. 在左侧导航栏选择防护配置 > 容器防护 > 容器签名,创建证明者并关联相应的KMS密钥,用于容器镜像加签。

  3. 可选:新增验签策略,将证明者关联到对应的ACK集群。更多信息,请参见容器签名。

配置镜像自动加签规则

  1. 登录容器镜像服务控制台。

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表。

  4. 在实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面左侧导航栏选择安全可信 > 镜像加签。单击添加加签规则。

  6. 在密钥配置的配置向导中选择在安全中心创建的证明者关联KMS Key。然后单击下一步。

  7. 在加签配置的配置向导中设置参数,然后单击创建加签规则。

    说明

    设置加签规则仅对该命名空间下所有新上传的镜像进行加签操作,存量的镜像不做加签操作。

    • 加签算法:提供两种可选加签算法RSA_PSS_SHA_256或者RSA_PKCS1_SHA_256。

    • 加签范围:目前支持命名空间级别自动加签,选择需要自动加签的命名空间。

    • 加签类型:

      • 默认:加签范围有镜像Digest和镜像版本信息,默认模式适用于当前实例下镜像数据的验签。

      • 极简:加签范围仅有镜像Digest部分,不依赖镜像版本的信息。极简模式适用于跨实例镜像同步场景,镜像版本会变更对应镜像数据的验签。

    • 触发方式:默认支持自动触发,每次推送镜像后,会自动触发加签。

镜像验签

关于镜像验签请参见使用kritis-validation-hook进行容器镜像签名验证。

说明
  • 支持在容器服务Kubernetes版集群中使用组件进行自动验签,设置相应策略在验签失败时阻断镜像部署,推荐此方法。

  • 支持客户基于密钥管理中心验签功能、容器镜像服务镜像签名数据自行验签。

相关文章

容器镜像安全扫描 2025-04-18 15:16

若您期望识别且修复镜像中所有已知的漏洞信息,可以通过容器镜像安全扫描,对漏洞信息进行评估和修复。 背景信息 在云原生交付链,ACR能在推送完成后自动进行安全扫描。若您设置过安全阻断策略,其会识别镜像的安全

容器镜像内容分析 2025-04-18 15:16

本文介绍如何在ACR中使用容器镜像的内容分析功能,以增强镜像安全性与合规性检测能力。 功能说明 该功能目前处于灰度发布中,仅支持美国(弗吉尼亚)、法兰克福、中国香港、新加坡、华东1(杭州)、华东2(上海)、华南1(深圳)和华北2(北京)地域,其他地域将在后续逐步开放。

使用容器镜像加签 2025-04-18 15:16

为了避免中间人攻击和非法镜像的更新及运行,ACR支持命名空间级别的自动加签,每次推送容器镜像后都会匹配加签规则自动加签,保障镜像从分发到部署的全链路一致性。 前提条件

开启镜像版本不可变 2025-04-18 15:16

ACR基于仓库级别的配置,支持镜像版本不可变,开启镜像不可变功能后,除latest版本外,存量和新增的其他镜像版本均不可覆盖,保障您的容器镜像版本一致性。您可以使用该功能,保证相同版本的镜像只可以被成功推送一次,而且可以避免人为误操作引起的镜像版本覆盖问题。 操作步骤

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号