
# 镜像扫描
#### 操作场景
容器镜像安全扫描旨在保障镜像在开发、部署及运行的整个生命周期中的安全性，通过扫描系统漏洞、应用漏洞、恶意文件、软件信息、文件信息、基线配置、弱口令、敏感信息、软件合规和基础镜像信息等，帮助用户识别潜在的风险问题。确保所有部署到生产环境的镜像都已通过严格的安全检查，从而保障系统和应用安全稳定的运行。
容器镜像服务企业版支持对托管的容器镜像进行安全扫描，生成扫描报告，并对镜像中的漏洞给出修复建议，帮助您得到一个安全的镜像。支持两种镜像扫描形式。
- 手动扫描：支持用户对某个制品进行手动触发扫描。
- 自动扫描：对命名空间配置开启自动扫描，开启之后上传到该命名空间的镜像自动触发镜像扫描。同步到该命名空间的镜像也会自动触发镜像扫描。
同时当镜像有漏洞时，可以在命名空间上配置镜像下载阻断的能力，不允许下载镜像，可有效降低生产环境漏洞风险。存在某些特定漏洞的镜像如果依然需要下载可以通过配置漏洞白名单，镜像所有的漏洞均在白名单中时，也可以正常下载镜像。
![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/caution_3.0-zh-cn.png)
- 镜像下载阻断的功能在扫描成功且扫描出来的漏洞全部都已配置在了漏洞白名单中时才不会阻断下载，其他情况都会阻断。
- 镜像扫描依托于HSS服务，即开即用、按次收费，了解收费详情请参见[HSS计费项](https://support.huaweicloud.com/price-hss2.0/hss_02_0006.html)。HSS服务支持扫描特定操作系统和媒体类型，详情请参阅[各扫描项支持的操作系统和媒体类型](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0298.html#section2)。
 
#### 约束与限制
- 单个注册表实例支持同时进行制品扫描任务的并发数为10个。
- 当前只支持单一架构容器镜像的扫描，不支持多架构镜像和chart包的扫描。
- 支持扫描的镜像总大小不能超过50G，镜像层数不能超过127层，单个镜像层不能超过10G。
 
#### 前提条件
- 在SWR企业版侧触发镜像扫描，首先需要在HSS服务界面[开通镜像扫描](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0716.html)功能。开通成功之后还需授予HSS服务从注册表定时同步镜像所需的权限，请按照HSS服务界面提示单击授权即可。
- 已完成制品扫描授权。如果未完成请根据页面引导进行授权。操作步骤请参见[表1]中的**授权制品扫描**一行。
 
#### 特性开关
 表1配置镜像扫描特性开关 
| 特性开关     | 开启/关闭方法                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 备注                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| 授权制品扫描   | 1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，单击注册表名称进入注册表详情页面。  2. 在左侧导航栏选择"仓库"，单击，在进入的新页面单击镜像列表中要扫描镜像操作列的"镜像扫描"会自动弹出授权界面。依据页面引导操作即可。 ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002485425214.png)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 该授权仅在当前区域生效，如果切换区域需要重新授权。 注意： - 单租户在单Region仅需执行一次。  - 首次授权后，请等待2-5分钟待权限生效后再进行镜像扫描的操作。                                   |
| 自动扫描镜像   | 1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，单击注册表名称进入注册表详情页面。  2. 在左侧导航栏选择"命名空间"，单击要修改的命名空间菜单左上角的编辑按钮![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002504372985.png)。  3. 在新打开的页面开启/关闭自动镜像扫描。 ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002485262216.png)                                                                                                                                                                                                                                                                                                                            | 创建命名空间时，该参数默认关闭，且不支持配置。仅支持通过编辑命名空间来配置。                                                                                                                                                                                                                                                                 |
| 阻止潜在漏洞镜像 | 1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，单击注册表名称进入注册表详情页面。  2. 在左侧导航栏选择"命名空间"，单击要修改的命名空间菜单左上角的编辑按钮![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002504294027.png)。  3. 在新打开的页面开启/关闭阻止潜在漏洞镜像下载。配置参数解释： - **漏洞阻断等级**：您可以选择一个等级，当镜像的漏洞等级等于或高于此阻断等级时，将不允许拉取该镜像。  - **CVE 白名单** ：填写CVE ID，多个CVE ID之间请用英文逗号隔开或者换行。 只要待拉取镜像的全部漏洞CVE ID都在白名单中，那么无论漏洞等级高低，均可以正常拉取。 说明： 最多支持填写100个 CVE ID。   - **白名单有效期至**：设置白名单的生效截止时间。可以设置具体的日期，也可以勾选"永不过期"。     | 创建命名空间时，该参数默认关闭，且不支持配置。仅支持通过编辑命名空间来配置。 说明： - 开启了镜像下载阻断功能后，镜像未扫描完成之前，会被阻断下载。  - 开启了含有潜在漏洞镜像下载阻断且满足阻断的条件的镜像不支持镜像签名。   |
   
#### 手动镜像扫描
1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，单击注册表名称进入注册表详情页面。
2. 在左侧导航栏选择"仓库"，单击仓库名称，在进入的新页面单击镜像列表中要扫描镜像操作列的"镜像扫描"。 
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002504481701.png)
   
   ![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/caution_3.0-zh-cn.png)
   镜像版本为空的镜像制品不支持镜像扫描。
   
   
3. 扫描完成后请查看扫描报告，该报告在扫描完成后自动展示。 
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002485292842.png)
   
   ![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/note_3.0-zh-cn.png)
   镜像扫描由HSS（主机安全服务）提供支持。扫描发现的漏洞详情及对应修复方案，请登录HSS控制台，选择"风险预防 \> 容器镜像安全"，进入"容器镜像安全"界面，选择"镜像视图"，进入镜像视图界面，选择相应的镜像查看结果。具体操作请参考：[查看并处理仓库镜像扫描结果](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0723.html)。
   
   
 
#### 镜像扫描失败常见问题
表2镜像扫描失败原因及解决方案 
| 失败原因                        | 解决办法                                                                                                   |
|:---|:---|
| 访问SWR服务出错                   | 请您[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，通过工单向技术人员寻求帮助。 |
| 缺少SWR授权                     | 完成授权，授权方法请参见[SWR授权方法](https://support.huaweicloud.com/usermanual-swr/swr_01_0015.html#section1)。       |
| 获取镜像详细信息失败，镜像仓中可能已经不存在此镜像   | 请在主机/容器安全 HSS控制台的"风险预防-容器镜像安全-仓库镜像"页面，单击"同步镜像列表"，更新镜像列表信息，确认该镜像是否已经不存在。                                |
| 镜像下载失败                      | 请您[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，通过工单向技术人员寻求帮助。 |
| 镜像大小超限，不支持扫描                | 镜像总大小不能超过50G，建议精简镜像。                                                                                   |
| 镜像层数超限，不支持扫描                | 镜像层数不能超过127层，单个镜像层不能超过10G。建议精简镜像。                                                                      |
| Schema v1镜像不支持扫描            | 建议将Schema镜像升级到V2版本。                                                                                    |
| 扫描镜像的时间超过3小时的超时时间，系统自动中止扫描。 | 建议精简镜像。                                                                                                |
   
