接入镜像仓库

对容器镜像进行安全扫描之前,您需要将镜像仓库接入到云安全中心。本文介绍如何将镜像仓库接入云安全中心。

版本限制

仅云安全中心的旗舰版支持该功能,其他版本不支持。购买和升级云安全中心服务的具体操作,请参见购买云安全中心升级与降配

镜像限制

云安全中心支持接入的容器镜像仓库包括:

  • 阿里云容器镜像服务ACR:企业版和个人版。

    目前云安全中心支持同步ACR企业版和个人版的镜像数据,仅支持对ACR企业版镜像进行镜像安全扫描。

  • 第三方镜像仓库(私有镜像仓库):Harbor镜像仓库、Quay镜像仓库、GitLab镜像仓库。

前提条件

已购买云安全中心旗舰版并开通镜像安全扫描功能。具体操作,请参见购买云安全中心开通服务

接入阿里云容器服务镜像仓库

ACR个人版实例无限制,创建后即可接入云安全中心。将ACR企业版镜像仓库接入到云安全中心,只需为ACR企业版实例添加专有网络,相关操作,请参见配置专有网络的访问控制

云安全中心支持通过以下方式同步ACR企业版和个人版的镜像数据:

  • 自动同步:云安全中心默认每日凌晨同步容器镜像服务ACR中的镜像数据。

  • 手动同步最新资产:具体操作,请参见同步最新资产

接入第三方镜像仓库(私有镜像仓库)

如果您的容器镜像仓库设置了访问控制策略,请确保已将镜像仓库对应的地域的地址池IP加入到访问控制白名单中。

点我查看需加白的地址池IP

地域

公网IP

私网IP

华东1(杭州)

47.96.166.214

100.104.12.64/26

华东2(上海)

139.224.15.48、101.132.180.26、47.100.18.171、47.100.0.176、139.224.8.64、101.132.70.106、101.132.156.228、106.15.36.12、139.196.168.125、47.101.178.223、47.101.220.176

100.104.43.0/26

华北1(青岛)

47.104.111.68

100.104.87.192/26

华北2(北京)

47.95.202.245

100.104.114.192/26

华北3(张家口)

39.99.229.195

100.104.187.64/26

华北5(呼和浩特)

39.104.147.68

100.104.36.0/26

华南1(深圳)

120.78.64.225

100.104.250.64/26

华南3(广州)

8.134.118.184

100.104.111.0/26

中国香港

8.218.59.176

100.104.130.128/26

日本(东京)

47.74.24.20

100.104.69.0/26

新加坡

8.219.240.137

100.104.67.64/26

美国(硅谷)

47.254.39.224

100.104.145.64/26

美国(弗吉尼亚)

47.252.4.238

100.104.36.0/26

德国(法兰克福)

47.254.158.71

172.16.0.0/20

英国(伦敦)

8.208.14.12

172.16.0.0/20

印度尼西亚(雅加达)

149.129.238.99

100.104.193.128/26

  1. 如果您的第三方镜像服务是通过线下IDC+云上VPC的混合云方式来部署的,您需要配置流量的转发规则,即指定一台ECS服务器,将其访问流量转发到第三方镜像服务所在的IDC服务器上。

    示例:将执行转发任务的ECS服务器中A端口的流量,转发至第三方镜像服务所在的IDC服务器192.168.XX.XX的B端口。

    • CentOS 7命令:

      • 使用firewallcmd:

        firewall-cmd --permanent --add-forward-port=port=<A端口>:proto=tcp:toaddr=<192.168.XX.XX>:toport=<B端口>
      • 使用iptables:

        1. 开启端口转发。

          echo "1" > /proc/sys/net/ipv4/ip_forward                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
        2. 设置端口转发。

          iptables -t nat -A PREROUTING -p tcp --dport <A端口> -j DNAT --to-destination <192.168.XX.XX>:<B端口>
    • Windows命令:

      netsh interface portproxy add v4tov4 listenport=<端口A> listenaddress=* connectaddress=<192.168.XX.XX> connectport=<端口B> protocol=tcp
  2. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  3. 在左侧导航栏,选择资产中心 > 容器资产

  4. 容器资产页面的镜像页签下,定位到三方镜像仓接入区域,单击接入接入第三方镜像仓库

  5. 接入镜像仓面板,配置接入私有仓库的参数,最后单击确定

    配置项

    说明

    私有仓库类型

    根据您容器镜像存储的镜像仓库选择私有仓库类型。目前支持选择harborquaygitlab类型的仓库。

    版本

    选择第三方镜像仓库的版本。可选项:

    • V1:镜像仓库版本为1.X.X时,选择该版本。

    • V2:镜像仓库版本为2.X.X及以上时,选择该版本。

    私有仓库类型选择gitlab时,默认已选择V1版本,不可修改。

    通信类型

    选择云安全中心与第三方镜像仓库的通信协议。可选项:httphttps

    网络类型

    选择第三方镜像仓库的网络类型。可选项:公网VPC

    RegionId

    选择第三方镜像仓库所在区域。

    IP

    输入第三方镜像仓库的IP地址和端口号。如果您为第三方镜像配置了流量转发规则,您需要填写已配置了转发规则的ECS的IP地址和端口号。

    端口

    域名

    输入第三方镜像仓库的域名。

    限速

    选择每小时可接入的镜像个数。默认为10

    重要

    如果每小时内接入的镜像过多,可能会影响您的正常业务的运行,建议您谨慎选择无限制

    用户名

    输入访问第三方镜像仓库时使用的具有管理员权限的用户名。

    密码

    输入访问第三方镜像仓库的密码。

    Quay名称空间信息

    私有仓库类型选择quay时需要配置该参数。

    镜像仓库组织文本框输入镜像仓库组织的名称,在Auth_token文本框输入镜像仓库组织对应的Auth_token。

    您可以单击添加输入多条镜像仓库组织信息。

    gitlab群组信息

    私有仓库类型选择gitlab时需要配置该参数。

    群组信息文本框输入镜像仓库群组的名称,在Access_token文本框输入镜像仓库群组对应的Access_token。

    您可以单击添加输入多条镜像仓库的群组信息。

    接入第三方镜像仓库后,您可以在防护配置 > 容器防护 > 镜像安全扫描页面,单击右上角的扫描设置,在扫描设置面板中查看已接入的镜像仓库信息。

镜像接入错误码

code

message

解决方案

FailedToVerifyUsernameOrPwd

用户名或密码验证失败

检查用户名、密码是否正确。

RegistryVersionError

镜像仓库版本错误

检查镜像仓的版本是否选择正确。

UserDoesNotHaveAdminRole

用户没有admin权限

前往harbor私服给用户添加管理员权限。

NetworkConnectError

网络超时,请检查网络

检查网络是否连通、80或443端口是否开放。

后续步骤

将镜像仓库接入到云安全中心后,您可以在资产中心查看受到云安全中心防护的镜像信息。具体操作,请参见查看容器安全状态

您还需要执行镜像安全扫描操作,才能通过云安全中心检测您的镜像是否存在风险。具体操作,请参见配置和执行镜像安全扫描