Docker Scout中的数据收集和存储

Docker Scout的镜像分析通过收集您分析的容器镜像的元数据来工作。这些元数据存储在Docker Scout平台上。

数据传输

本节描述Docker Scout收集并发送到平台的数据。

镜像元数据

Docker Scout收集以下镜像元数据

  • 镜像创建时间戳
  • 镜像摘要
  • 镜像公开的端口
  • 环境变量名称和值
  • 镜像标签的名称和值
  • 镜像层的顺序
  • 硬件架构
  • 操作系统类型和版本
  • 注册表URL和类型

当镜像构建并推送到注册表时,会为镜像的每一层创建镜像摘要。它们是层内容的SHA256摘要。Docker Scout不会创建摘要;它们是从镜像清单中读取的。

这些摘要与您自己的私有镜像和Docker的公共镜像数据库进行匹配,以识别共享相同层的镜像。共享大部分层的镜像被认为是当前正在分析的镜像的基础镜像匹配。

SBOM元数据

软件物料清单 (SBOM) 元数据用于将包类型和版本与漏洞数据匹配,以推断镜像是否受影响。当Docker Scout平台从安全咨询中接收到有关新CVE或其他风险因素(例如泄露的密钥)的信息时,它会将此信息与SBOM交叉引用。如果匹配,Docker Scout会将结果显示在显示Docker Scout数据的用户界面中,例如Docker Scout仪表盘和Docker Desktop。

Docker Scout收集以下SBOM元数据

  • 包URL(PURL)
  • 包作者和描述
  • 许可证ID
  • 包名称和命名空间
  • 包方案和大小
  • 包类型和版本
  • 镜像内的文件路径
  • 直接依赖的类型
  • 包总数

Docker Scout中的PURL遵循purl-spec规范。包信息来源于镜像内容,包括操作系统级程序和包,以及应用程序级包,例如maven、npm等等。

环境元数据

如果您通过Sysdig集成将Docker Scout与您的运行时环境集成,Docker Scout将收集有关您的部署的以下数据点

  • Kubernetes命名空间
  • 工作负载名称
  • 工作负载类型(例如,DaemonSet)

本地分析

对于在开发人员机器上本地分析的镜像,Docker Scout仅传输PURL和层摘要。这些数据不会持久存储在Docker Scout平台上;它们仅用于运行分析。

来源

对于具有来源证明的镜像,Docker Scout除了SBOM之外还存储以下数据

  • 物料
  • 基础镜像
  • VCS信息
  • Dockerfile

数据存储

为了提供 Docker Scout 服务,数据存储使用:

  • 美国东部地区的 Amazon Web Services (AWS) 服务器
  • 美国东部地区的 Google Cloud Platform (GCP) 服务器

数据的使用方式按照 docker.com/legal中描述的流程来提供 Docker Scout 的关键功能。