使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。
快速入门:构建应用并查看安全性数据分析

构建应用并查看安全性数据分析

此快速入门介绍了如何在 Google Cloud Console 的 Software Delivery Shield 安全数据分析面板中为构建构建应用并查看安全数据分析。

您将学习以下内容:

  • 使用 Cloud Build 构建 Java 应用并将其容器化,然后将容器映像推送到 Artifact Registry Docker 代码库。
  • 查看该 build 的以下安全性数据分析:

    • 软件工件 (SLSA) 级别供应链级别 - 根据 SLSA 规范确定软件构建流程的成熟度级别。
    • 构建工件中的漏洞
    • build 来源,这是关于 build 的可验证元数据集合。它包括构建映像的摘要、输入源位置、构建工具链、构建步骤和构建时长等详细信息。

准备工作

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 安装初始化 Google Cloud CLI。
  3. 创建或选择 Google Cloud 项目。

    • 创建 Cloud 项目:

      gcloud projects create PROJECT_ID
    • 选择您创建的 Cloud 项目:

      gcloud config set project PROJECT_ID
  4. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能

  5. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com artifactregistry.googleapis.com containerscanning.googleapis.com
  6. 安装初始化 Google Cloud CLI。
  7. 创建或选择 Google Cloud 项目。

    • 创建 Cloud 项目:

      gcloud projects create PROJECT_ID
    • 选择您创建的 Cloud 项目:

      gcloud config set project PROJECT_ID
  8. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能

  9. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com artifactregistry.googleapis.com containerscanning.googleapis.com

在 Artifact Registry 中创建 Docker 代码库

  1. 在位置 us-central1 中新建一个名为 containers 且说明文字为“Docker repository”(Docker 代码库)的 Docker 代码库:

    gcloud artifacts repositories create containers \
        --repository-format=docker \
        --location=us-central1 --description="Docker repository"
    
  2. 验证您的代码库已创建:

    gcloud artifacts repositories list
    

    您应该会在显示的代码库列表中看到 containers

准备示例应用

您需要一些示例源代码来构建和容器化。在本部分中,您将克隆包含 Java 代码示例的现有源代码库。

  1. 克隆包含 Java 代码示例的代码库:

    git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git
    cd software-delivery-shield-demo-java/backend
    

构建应用

  1. 使用 Cloud Build 构建 Java 应用并将其容器化。以下命令构建并容器化 Java 应用,并将构建的容器存储在 Artifact Registry Docker 代码库中:

    gcloud builds submit --config=cloudbuild.yaml --region=us-central1
    

    构建完成后,您将看到如下所示的成功状态消息:

    DONE
    -----------------------------------------------------------------------------
    ID: 3e08565f-7f57-4449-bc68-51c46cf33d03
    CREATE_TIME: 2022-09-19T15:41:07+00:00
    DURATION: 54S
    SOURCE: gs://sds-docs-project_cloudbuild/source/1663602066.777581-6ebe4b2d6fd741ffa18936d7f78055e9.tgz
    IMAGES: us-central1-docker.pkg.dev/sds-docs-project/containers/java-guestbook-backend:quickstart
    STATUS: SUCCESS
    

查看安全性数据分析

Google Cloud 控制台中的 Cloud Build 界面包含 Software Delivery Shield 安全数据分析面板,其中会显示与 build 相关的安全信息,例如 SLSA 级别、依赖项中的任何漏洞和 build 出处。

要查看 Software Delivery Shield 安全数据分析面板,请执行以下操作:

  1. 打开 Google Cloud 控制台中的构建记录页面。

    打开“构建记录”页面

  2. 选择您的项目,然后点击打开

  3. 区域下拉菜单中,选择 us-central1

  4. 点击最新的 build。

    您会看到构建详情页面。

  5. 点击构建工件标签页。

    “Build Artifact”标签页的屏幕截图

  6. 找到您刚刚构建的容器映像所在的行,然后在安全数据分析列中点击查看

    “查看”按钮的屏幕截图

您会看到相应版本的安全性数据分析面板。

Software Delivery Shield 面板的屏幕截图

此面板会显示以下信息:

  • SLSA 级别:该版本达到了 SLSA 3 级。点击了解详情链接,了解此安全等级的含义。

  • 漏洞:在工件中发现的任何漏洞。点击映像名称 (java-guest-backend) 可查看已扫描漏洞的工件。

  • 构建详情:构建详情,例如构建器和用于查看日志的链接。

  • build 来源:build 的来源。

清理

为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请删除包含这些资源的 Cloud 项目。

  1. 停用 Container Scanning API:

    gcloud services disable containerscanning.googleapis.com --force
    
  2. 删除 Artifact Registry 代码库:

    gcloud artifacts repositories delete containers \
        --location=us-central1 --async
    

    您现在已经删除了在此快速入门中创建的代码库。

后续步骤