本页面介绍如何使用 Google Cloud 控制台中的安全性数据分析侧边栏查看有关 Cloud Build build 的安全信息。
安全性数据分析侧边栏简要介绍了多个安全指标。您可以使用侧边栏识别和降低构建流程中的风险。
此面板会显示以下信息:
- 软件工件的供应链级别 (SLSA) 级别:用于标识软件构建流程的成熟度级别(根据 SLSA 规范)。例如,此 build 已达到 SLSA 级别 3。
- 漏洞:在工件中发现的所有漏洞的概览,以及 Artifact Analysis 已扫描的映像的名称。您可以点击映像名称来查看漏洞详情。例如,在屏幕截图中,您可以点击 java-guestbook-backend。
- 构建的工件的漏洞可利用性交流(VEX) 状态。
- build 工件的软件物料清单 (SBOM)。
- 构建详情:构建详情,例如构建器和用于查看日志的链接。
启用漏洞扫描
安全性数据分析面板会显示来自 Cloud Build 和 Artifact Analysis 的数据。Artifact Analysis 是一项服务,会在您将 build 工件上传到 Artifact Registry 时,扫描操作系统、Java (Maven) 和 Go 软件包中的漏洞。
您必须启用漏洞扫描才能收到完整的安全数据分析结果。
启用 Container Scanning API 以启用漏洞扫描。
执行构建并将构建工件存储在 Artifact Registry 中。Artifact Analysis 会自动扫描构建工件。
漏洞扫描可能需要几分钟时间,具体取决于 build 的大小。
如需详细了解漏洞扫描,请参阅自动扫描。
扫描会产生费用。如需了解价格信息,请参阅价格页面。
授予查看数据分析的权限
如需在 Google Cloud 控制台中查看安全性数据分析,您必须拥有以下 IAM 角色或具有同等权限的角色。如果 Artifact Registry 和 Artifact Analysis 在不同项目中运行,您必须在运行 Artifact Analysis 的项目中添加 Container Analysis 事件查看者角色或同等权限。
- Cloud Build Viewer (
roles/cloudbuild.builds.viewer
):查看构建作业的数据分析。 - Container Analysis 事件查看器 (
roles/containeranalysis.occurrences.viewer
):查看漏洞和其他依赖项信息。
查看安全性数据分析侧边栏
要查看安全性数据分析面板,请执行以下操作:
在 Google Cloud 控制台中打开构建记录页面:
选择您的项目,然后点击打开。
在区域下拉菜单中,选择您在其中运行构建的区域。
在包含 build 的表中,找到要查看安全性数据分析的 build 所在的行。
在安全性数据分析列下,点击查看。
系统随即会打开安全性数据分析侧边栏。
[可选] 如果您的 build 生成了多个工件,请从工件下拉框中选择要查看其安全性数据分析的工件。
系统会显示所选工件的安全性数据分析面板。
SLSA 级别
SLSA 级别根据一系列指南对 build 当前的安全级别进行评分。
漏洞
漏洞卡片会显示相应 build 工件的漏洞发生实例、可用修复程序和 VEX 状态。
Artifact Analysis 支持扫描推送到 Artifact Registry 的容器映像。这些扫描可检测操作系统软件包以及在 Java (Maven) 或 Go 中创建的应用软件包中的漏洞。
扫描结果按严重级别进行整理。严重级别是根据漏洞被利用的可能性、范围、影响和成熟度进行的定性评估。
点击映像名称可查看已进行漏洞扫描的工件。
对于推送到 Artifact Registry 的每个容器映像,Artifact Analysis 可以存储关联的 VEX 语句。VEX 是一种安全建议,用于指明产品是否受到已知漏洞的影响。
每个 VEX 语句都提供:
- VEX 对账单的发布方
- 编写语句所针对的工件
- 针对任何已知漏洞的漏洞评估(VEX 状态)
依赖项
依赖项卡片会显示 SBOM 列表及依赖项列表。
当您使用 Cloud Build 构建容器映像并将其推送到 Artifact Registry 时,Artifact Analysis 可以为推送的映像生成 SBOM 记录。
SBOM 是应用的完整目录,可标识您的软件依赖的软件包。这些内容可能包括来自供应商的第三方软件、内部工件和开源库。
构建
“build”卡片包含以下信息:
- 日志 - 指向构建日志信息的链接
- Builder - 构建器名称
- Completed - 自构建完成以来经过的时间
- 出处 - 关于 build 的可验证元数据
出处元数据包括构建映像的摘要、输入来源位置、构建工具链、构建步骤和构建时长等详细信息。您还可以随时验证构建来源。
如需确保未来的构建包含出处信息,请将 Cloud Build 配置为要求您的映像具有出处元数据。
将 Cloud Build 与 Software Delivery Shield 结合使用
Cloud Build 中的安全性数据分析侧边栏是 Software Delivery Shield 解决方案的一个组件。Software Delivery Shield 是一种全代管式端到端软件供应链安全解决方案,可帮助您改善开发者工作流和工具、软件依赖项、用于构建和部署软件的 CI/CD 系统以及运行时环境(如 Google Kubernetes Engine 和 Cloud Run)的安全状况。
如需了解如何将 Cloud Build 与 Software Delivery Shield 的其他组件结合使用,以改善软件供应链的安全状况,请参阅 Software Delivery Shield 概览。
后续步骤
- 了解如何使用 Software Delivery Shield。
- 了解软件供应链安全最佳实践。
- 了解如何存储和查看构建日志。
- 了解如何排查构建错误。