基本扫描
Amazon ECR 提供基本扫描类型,该类型使用开源 Clair 项目中的常见漏洞和披露 (CVE) 数据库。在私有注册表上启用基本扫描后,您可以配置存储库筛选条件以指定将哪些存储库设置为推送时扫描,或者也可以执行手动扫描。Amazon ECR 提供了扫描结果的列表。对于每个容器镜像,可以每 24 小时扫描一次。Amazon ECR 使用开源 Clair 项目中的常见漏洞和披露 (CVE) 数据库,并提供扫描发现结果的列表。您可以查看扫描结果以获取有关正在部署的容器镜像的安全性的信息。有关 Clair 的更多信息,请参见 GitHub 上的 Clair
Amazon ECR 使用上游分配源中的 CVE 的严重性 (如果可用),否则我们使用通用漏洞评分系统 (CVSS) 评分。CVSS 评分可用于获取 NVD 漏洞严重性评级。有关更多信息,请参阅 NVD 漏洞严重性评级
使用基本扫描时,您可以指定按推送筛选条件进行扫描,以指定将哪些存储库设置为在推送新镜像时进行镜像扫描。对于任何不符合推送筛选条件的存储库,都将设置为 manual(手动)扫描频率,这意味着必须手动触发扫描才能执行扫描。可以为每个镜像检索上次完成的镜像扫描结果。Amazon ECR 在镜像扫描完成后向 Amazon EventBridge (以前称为 CloudWatch Events) 发送事件。有关更多信息,请参阅 Amazon ECR 事件和 EventBridge。
有关扫描镜像时的常见问题的排查详细信息,请参阅 排查镜像扫描问题。
使用基本扫描
默认情况下,Amazon ECR 在所有私有注册表上启用基本扫描。因此,除非您更改了私有注册表上的扫描设置,否则不必启用基本扫描。您可以使用以下步骤验证是否启用了基本扫描并在推送筛选条件上定义一个或多个扫描。
为私有注册表开启基本扫描(Amazon Web Services Management Console)
扫描配置在每个区域的私有注册表级别定义。
从 https://console.aws.amazon.com/ecr/repositories
打开 Amazon ECR 控制台。 -
从导航栏中,选择要为其设置扫描配置的区域。
-
在导航窗格中,选择 Private registry(私有注册表)、Scanning(扫描)。
-
在 Scanning configuration(扫描配置)页面中,为 Scan type(扫描类型)选择 Basic scanning(基本扫描)。
-
默认情况下,您的所有存储库都设置为手动扫描。您可以选择通过指定推送时扫描筛选条件来开启推送时扫描。您可以为所有存储库或单个存储库设置推送时扫描。有关更多信息,请参阅使用筛选条件。
手动扫描镜像
当您要扫描存储库中未配置为推送时扫描的镜像时,可以手动开始镜像扫描。每天只能扫描一次镜像。此限额包括初始推送时扫描(如已配置)以及任何手动扫描。
有关扫描镜像时的常见问题的排查详细信息,请参阅 排查镜像扫描问题。
通过 Amazon Web Services Management Console 使用以下步骤开始手动镜像扫描。
从 https://console.aws.amazon.com/ecr/repositories
打开 Amazon ECR 控制台。 -
从导航栏中,选择您创建存储库的区域。
-
在导航窗格中,选择存储库。
-
在存储库页面上,选择包含要扫描的镜像的存储库。
-
在镜像页面上,选择要扫描的镜像,然后选择扫描。
使用以下 Amazon CLI 命令启动镜像的手动扫描。您可以使用 imageTag
或 imageDigest
指定镜像,这两者都可以使用 list-images CLI 命令获取。
-
start-image-scan (Amazon CLI)
以下示例使用镜像标签。
aws ecr start-image-scan --repository-name
name
--image-id imageTag=tag_name
--regionus-east-2
以下示例使用镜像摘要。
aws ecr start-image-scan --repository-name
name
--image-id imageDigest=sha256_hash
--regionus-east-2
使用以下 Amazon Tools for Windows PowerShell 命令启动镜像的手动扫描。您可以使用 ImageId_ImageTag
或 ImageId_ImageDigest
指定镜像,这两者都可以使用 Get-ECRImage CLI 命令获取。
-
Get-ECRImageScanFinding (Amazon Tools for Windows PowerShell)
以下示例使用镜像标签。
Start-ECRImageScan -RepositoryName
name
-ImageId_ImageTagtag_name
-Regionus-east-2
-Force以下示例使用镜像摘要。
Start-ECRImageScan -RepositoryName
name
-ImageId_ImageDigestsha256_hash
-Regionus-east-2
-Force
检索镜像扫描查找结果
您可以检索上次完成的镜像扫描的扫描结果。扫描结果根据常见漏洞和披露 (CVE) 数据库按严重性列出发现的软件漏洞。
有关扫描镜像时的常见问题的排查详细信息,请参阅 排查镜像扫描问题。
通过 Amazon Web Services Management Console使用以下步骤检索镜像扫描结果。
从 https://console.aws.amazon.com/ecr/repositories
打开 Amazon ECR 控制台。 -
从导航栏中,选择您创建存储库的区域。
-
在导航窗格中,选择存储库。
-
在存储库页面上,选择包含要扫描检索结果的镜像的存储库。
-
在镜像页面的漏洞列下,选择要检索其扫描结果的镜像的详细信息。
通过 Amazon CLI 使用以下 Amazon CLI 命令检索镜像扫描结果。您可以使用 imageTag
或 imageDigest
指定镜像,这两者都可以使用 list-images CLI 命令获取。
-
describe-image-scan-findings (Amazon CLI)
以下示例使用镜像标签。
aws ecr describe-image-scan-findings --repository-name
name
--image-id imageTag=tag_name
--regionus-east-2
以下示例使用镜像摘要。
aws ecr describe-image-scan-findings --repository-name
name
--image-id imageDigest=sha256_hash
--regionus-east-2
使用以下 Amazon Tools for Windows PowerShell 命令检索镜像扫描结果。您可以使用 ImageId_ImageTag
或 ImageId_ImageDigest
指定镜像,这两者都可以使用 Get-ECRImage CLI 命令获取。
-
Get-ECRImageScanFinding (Amazon Tools for Windows PowerShell)
以下示例使用镜像标签。
Get-ECRImageScanFinding -RepositoryName
name
-ImageId_ImageTagtag_name
-Regionus-east-2
以下示例使用镜像摘要。
Get-ECRImageScanFinding -RepositoryName
name
-ImageId_ImageDigestsha256_hash
-Regionus-east-2