对容器镜像进行安全扫描之前,您需要将镜像仓库接入到云安全中心。本文介绍如何将镜像仓库接入云安全中心。
版本限制
镜像限制
云安全中心支持接入的容器镜像仓库包括:
阿里云容器镜像服务ACR:企业版和个人版。
目前云安全中心支持同步ACR企业版和个人版的镜像数据,仅支持对ACR企业版镜像进行镜像安全扫描。
第三方镜像仓库(私有镜像仓库):Harbor镜像仓库、Quay镜像仓库、GitLab镜像仓库。
前提条件
接入阿里云容器服务镜像仓库
ACR个人版实例无限制,创建后即可接入云安全中心。将ACR企业版镜像仓库接入到云安全中心,只需为ACR企业版实例添加专有网络,相关操作,请参见配置专有网络的访问控制。
云安全中心支持通过以下方式同步ACR企业版和个人版的镜像数据:
自动同步:云安全中心默认每日凌晨同步容器镜像服务ACR中的镜像数据。
手动同步最新资产:具体操作,请参见同步最新资产。
接入第三方镜像仓库(私有镜像仓库)
如果您的容器镜像仓库设置了访问控制策略,请确保已将镜像仓库对应的地域的地址池IP加入到访问控制白名单中。
如果您的第三方镜像服务是通过线下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:
开启端口转发。
echo "1" > /proc/sys/net/ipv4/ip_forward
设置端口转发。
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
登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国或全球(不含中国)。
在左侧导航栏,选择 。
在容器资产页面的镜像页签下,定位到三方镜像仓接入区域,单击接入。
在接入镜像仓面板,配置接入私有仓库的参数,最后单击确定。
配置项
说明
私有仓库类型
根据您容器镜像存储的镜像仓库选择私有仓库类型。目前支持选择harbor、quay、gitlab类型的仓库。
版本
选择第三方镜像仓库的版本。可选项:
V1:镜像仓库版本为1.X.X时,选择该版本。
V2:镜像仓库版本为2.X.X及以上时,选择该版本。
私有仓库类型选择gitlab时,默认已选择V1版本,不可修改。
通信类型
选择云安全中心与第三方镜像仓库的通信协议。可选项:http、https。
网络类型
选择第三方镜像仓库的网络类型。可选项:公网、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端口是否开放。 |
后续步骤
将镜像仓库接入到云安全中心后,您可以在资产中心查看受到云安全中心防护的镜像信息。具体操作,请参见查看容器安全状态。
您还需要执行镜像安全扫描操作,才能通过云安全中心检测您的镜像是否存在风险。具体操作,请参见配置和执行镜像安全扫描。