基本扫描 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

基本扫描

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) 启用基本扫描

扫描配置在每个区域的私有注册表级别定义。

  1. https://console.aws.amazon.com/ecr/repositories 打开 Amazon ECR 控制台。

  2. 从导航栏中,选择要为其设置扫描配置的区域。

  3. 在导航窗格中,选择 Private registry(私有注册表)、Scanning(扫描)。

  4. Scanning configuration(扫描配置)页面中,为 Scan type(扫描类型)选择 Basic scanning(基本扫描)。

  5. 默认情况下,您的所有存储库都设置为手动扫描。您可以选择通过指定 Scan on push filters(推送时扫描筛选条件)来启用推送时扫描。您可以为所有存储库或单个存储库设置推送时扫描。有关更多信息,请参阅 使用筛选条件

手动扫描镜像

当您要扫描存储库中未配置为推送时扫描的镜像时,可以手动开始镜像扫描。每天只能扫描一次镜像。此限制包括初始推送时扫描 (如果已启用) 以及任何手动扫描。

有关扫描镜像时的常见问题的排查详细信息,请参阅 排查镜像扫描问题

通过 Amazon Web Services Management Console 使用以下步骤开始手动镜像扫描。

  1. https://console.aws.amazon.com/ecr/repositories 打开 Amazon ECR 控制台。

  2. 从导航栏中,选择您创建存储库的区域。

  3. 在导航窗格中,选择存储库

  4. 存储库页面上,选择包含要扫描的镜像的存储库。

  5. 镜像页面上,选择要扫描的镜像,然后选择扫描

使用以下 Amazon CLI 命令启动镜像的手动扫描。您可以使用 imageTagimageDigest 指定镜像,这两者都可以使用 list-images CLI 命令获取。

  • start-image-scan (Amazon CLI)

    以下示例使用镜像标签。

    aws ecr start-image-scan --repository-name name --image-id imageTag=tag_name --region us-east-2

    以下示例使用镜像摘要。

    aws ecr start-image-scan --repository-name name --image-id imageDigest=sha256_hash --region us-east-2

使用以下 Amazon Tools for Windows PowerShell 命令启动镜像的手动扫描。您可以使用 ImageId_ImageTagImageId_ImageDigest 指定镜像,这两者都可以使用 Get-ECRImage CLI 命令获取。

  • Get-ECRImageScanFinding (Amazon Tools for Windows PowerShell)

    以下示例使用镜像标签。

    Start-ECRImageScan -RepositoryName name -ImageId_ImageTag tag_name -Region us-east-2 -Force

    以下示例使用镜像摘要。

    Start-ECRImageScan -RepositoryName name -ImageId_ImageDigest sha256_hash -Region us-east-2 -Force

检索镜像扫描查找结果

您可以检索上次完成的镜像扫描的扫描结果。扫描结果根据常见漏洞和披露 (CVE) 数据库按严重性列出发现的软件漏洞。

有关扫描镜像时的常见问题的排查详细信息,请参阅 排查镜像扫描问题

通过 Amazon Web Services Management Console使用以下步骤检索镜像扫描结果。

  1. https://console.aws.amazon.com/ecr/repositories 打开 Amazon ECR 控制台。

  2. 从导航栏中,选择您创建存储库的区域。

  3. 在导航窗格中,选择存储库

  4. 存储库页面上,选择包含要扫描检索结果的镜像的存储库。

  5. 镜像页面的漏洞列下,选择要检索其扫描结果的镜像的详细信息

通过 Amazon CLI 使用以下 Amazon CLI 命令检索镜像扫描结果。您可以使用 imageTagimageDigest 指定镜像,这两者都可以使用 list-images CLI 命令获取。

  • describe-image-scan-findings (Amazon CLI)

    以下示例使用镜像标签。

    aws ecr describe-image-scan-findings --repository-name name --image-id imageTag=tag_name --region us-east-2

    以下示例使用镜像摘要。

    aws ecr describe-image-scan-findings --repository-name name --image-id imageDigest=sha256_hash --region us-east-2

使用以下 Amazon Tools for Windows PowerShell 命令检索镜像扫描结果。您可以使用 ImageId_ImageTagImageId_ImageDigest 指定镜像,这两者都可以使用 Get-ECRImage CLI 命令获取。

  • Get-ECRImageScanFinding (Amazon Tools for Windows PowerShell)

    以下示例使用镜像标签。

    Get-ECRImageScanFinding -RepositoryName name -ImageId_ImageTag tag_name -Region us-east-2

    以下示例使用镜像摘要。

    Get-ECRImageScanFinding -RepositoryName name -ImageId_ImageDigest sha256_hash -Region us-east-2