Docker Scout 中的数据收集和存储

Docker Scout 的镜像分析通过从容器收集元数据来实现 您分析的镜像。此元数据存储在 Docker Scout 平台上。

数据传输

本节介绍了 Docker Scout 收集并发送到 平台。

镜像元数据

Docker Scout 收集以下镜像元数据:

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

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

摘要与您自己的私有镜像和 Docker 的数据库进行匹配 的公共镜像,以识别共享相同层的镜像。该 shares most of the layers 被视为与镜像匹配的基础镜像 目前正在分析。

SBOM 元数据

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

Docker Scout 收集以下 SBOM 元数据:

  • 程序包 URL (PURL)
  • 包作者和描述
  • 许可证 ID
  • 包名称和命名空间
  • 封装方案和尺寸
  • 包类型和版本
  • 镜像中的 Filepath
  • 直接依赖关系的类型
  • 包裹总数

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

环境元数据

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

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

本地分析

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

种源

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

  • 材料
  • 基本镜像
  • VCS 信息
  • Dockerfile 文件

数据存储

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

  • 位于美国东部的服务器上的 Amazon Web Services (AWS)
  • 位于美国东部的服务器上的 Google Cloud Platform (GCP)

根据 docker.com/legal 中描述的过程使用数据来提供密钥 Docker Scout 的功能。