实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

使用 Security Command Center 分析发现结果

实验 25 分钟 universal_currency_alt 1 个点数 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP1164

Google Cloud 自学实验的徽标

概览

Security Command Center (SCC) 是一个安全监控平台,可帮助用户实现以下目的:

  • 发现 Google Cloud 资源的安全相关错误配置。
  • 报告 Google Cloud 环境中的活跃威胁。
  • 修复各类 Google Cloud 资产中的漏洞。

在本实验中,您将探索 Security Command Center 的资产分析和导出功能,从而了解这一服务。

目标

在本实验中,您将学习如何执行以下任务:

  • 创建向 Pub/Sub 进行持续导出的流水线。
  • 将 SCC 发现结果导出到 BigQuery 表中并进行分析。

前提条件

建议您在开始本实验之前熟悉以下内容:

  • 云计算概念。
  • Google Cloud 控制台。
  • 发现结果的严重级别分类(建议了解,但不强制要求)。
  • Pub/Sub 和 BigQuery(建议了解,但不强制要求)。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

场景

5ce916afc496a60c.jpeg


Cymbal Bank 是一家美国零售银行,拥有 2,000 多个分支机构,遍布美国的 50 个州。它基于一个稳健的支付平台,提供综合性借记和信用服务。Cymbal Bank 是一家正在经历数字化转型的传统金融服务机构。

Cymbal Bank 成立于 1920 年,原名为 Troxler。在 Troxler 大力投资了 Cymbal Group 专有的 ATM 后,Cymbal Group 于 1975 年收购了该公司。随着该银行逐渐发展成为美国的领先银行,他们将战略重心放在了实现客户体验现代化上,范围涵盖线下分支机构的面对面体验,以及该银行 2014 年发布的应用所提供的数字体验。Cymbal Bank 在全美拥有 42,000 名员工,2019 年报告营业收入 240 亿美元。

Cymbal Bank 有意集成一个集中式安全监控平台,帮助在其企业银行应用中,监控各类 Google Cloud 资源面临的威胁并修复漏洞。作为一名云安全工程师,您需要了解 Security Command Center 的导出和分析功能,以便向首席技术官演示该服务的优势。

任务 1. 创建向 Pub/Sub 进行持续导出的流水线

Security Command Center 可以使用多种方法将安全方面的发现结果导出到外部资源,包括:

  • 持续导出到 BigQuery 数据集。
  • 持续导出到 Pub/Sub。
  • 一次性导出到 CSV 文件。
  • 以 JSON 文件形式一次性导出到 Cloud Storage 存储桶。

在此任务中,您将了解如何进行配置,以便将发现结果持续导出到 Pub/Sub。

注意:持续导出仅对新创建的发现结果有效。

持续导出到 Pub/Sub 通常用于将发现结果转发到外部安全管理系统,例如 Splunk 或 QRadar。

在本实验中,您会将发现结果导出到一个 Pub/Sub 主题,然后通过 Pub/Sub 订阅来提取消息,从而模拟一种应用的行为。

注意:您可以查看文档页面,详细了解什么是 Pub/Sub?

创建 Pub/Sub 主题和订阅

您需要先创建一个 Pub/Sub 主题和订阅,然后才能开始配置 SCC 导出。

  1. 在 Google Cloud 控制台标题栏的搜索字段中,输入 Pub/Sub,然后按 Enter 键。接下来,点击最上面的搜索结果 Pub/Sub
  2. 点击主题页面上的创建主题按钮。
  3. 在“主题 ID”中输入 export-findings-pubsub-topic
  4. 所有其他设置均保留默认值,然后点击创建

这会自动启动 Pub/Sub 主题及关联订阅的创建过程。

  1. 点击左侧菜单中的订阅

  2. 点击 export-findings-pubsub-topic-sub。如果看不到有订阅显示,请刷新浏览器页面。

这会提供一个信息中心,其中包含与此订阅中发布的消息相关的统计信息和指标。

创建发现结果的持续导出

  1. 在 Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次点击安全 > 风险概览 > 漏洞,然后点击页面顶部的设置

  2. 点击持续导出标签页。

  3. 点击创建 Pub/Sub 导出按钮。

  4. 对于持续导出名称,请输入 export-findings-pubsub

  5. 对于持续导出说明,请输入 Continuous exports of Findings to Pub/Sub and BigQuery

  6. 对于项目名称,请选择 ,即您当前处理的项目的项目 ID。(请勿选择“Qwiklabs 资源”)。

  7. 选择 Cloud Pub/Sub 主题字段中,选择 projects//topics/export-findings-pubsub-topic

  8. 将发现结果查询设置如下:

state="ACTIVE" AND NOT mute="MUTED"

此查询可确保所有状态为 ACTIVE(活跃)且 NOT MUTED(未忽略)的新发现结果,都会转发到新创建的 Pub/Sub 主题。

注意:您可能会看到一条消息,提示有多个发现结果符合条件。请记住,现有的发现结果不会转发到 Pub/Sub 主题。
  1. 点击保存

您现在已创建从 Security Command Center 到 Pub/Sub 的持续导出。

创建新发现结果以导出到 Pub/Sub

在本部分中,您将创建新的发现结果,并查看如何将其导出到 Pub/Sub。

  1. 打开新的 Cloud Shell 会话 (“激活 Cloud Shell”图标)。

  2. 运行以下命令以创建新的虚拟机:

gcloud compute instances create instance-1 --zone={{{project_0.default_zone|lab zone}}} \ --machine-type e2-micro \ --scopes=https://www.googleapis.com/auth/cloud-platform
  1. 确保您得到与以下内容相似的输出结果。

输出:

NAME: instance-1 ZONE: us-central-a MACHINE_TYPE: e2-micro PREEMPTIBLE: INTERNAL_IP: 10.128.0.2 EXTERNAL_IP: 34.69.82.225 STATUS: RUNNING 注意:如果出现错误消息,提示 ERROR: (gcloud.compute.instances.create) You do not currently have an active account selected(错误:(gcloud.compute.instances.create) 您当前未选择活跃账号),请重新运行该命令。

此命令将创建一个新虚拟机实例,并为该实例附加公共 IP 地址和默认服务账号。

执行此活动会立即生成三条新的漏洞发现结果:

  • 公共 IP 地址
  • 使用了默认服务账号
  • Compute Engine 安全启动已停用
  1. 在 Google Cloud 控制台标题栏的搜索字段中,输入 Pub/Sub,然后按 Enter 键。接下来,点击最上面的搜索结果 Pub/Sub。然后点击左侧菜单中的订阅

  2. 选择 export-findings-pubsub-topic-sub 订阅。

  3. 点击消息标签页。

  4. 选中启用确认消息复选框。

  5. 点击拉取按钮。

您应该会通过此订阅收到一系列消息。这些消息与公共 IP 地址、使用了默认服务账号以及 Compute Engine 安全启动已停用漏洞有关。

注意:您可以点击“消息”列表中的列显示选项按钮,修改要显示消息的哪些详细信息,比如包含 body.finding.category,以便了解更多细节。

通过从 Pub/Sub 订阅中拉取消息,您模拟了一种应用的行为,该应用可以将这些消息转发到其他安全监控系统,例如 Splunk。

点击检查我的进度以验证是否完成了以下目标: 创建向 Pub/Sub 进行持续导出的流水线

任务 2. 使用 BigQuery 导出并分析 SCC 发现结果

SCC 发现结果也可以导出到 BigQuery 数据集。这可能有助于构建分析信息中心,您可以用它来查看自己组织中最常出现哪一类发现结果。

截至目前,只能使用命令(即不能在控制台中)设置持续导出。

  1. 打开一个 Cloud Shell 会话 (“激活 Cloud Shell”图标)。
  2. 在 Cloud Shell 会话中,运行以下命令以创建一个新 BigQuery 数据集:
PROJECT_ID=$(gcloud config get project) bq --location={{{project_0.default_region|lab region}}} --apilog=/dev/null mk --dataset \ $PROJECT_ID:continuous_export_dataset
  1. 您还未在该项目中使用过 SCC 命令行界面,因此需要先启用 SCC 服务。运行以下命令,在当前项目中启用该服务:
gcloud services enable securitycenter.googleapis.com
  1. 现在,输入以下命令来创建新导出:
gcloud scc bqexports create scc-bq-cont-export --dataset=projects/{{{project_0.project_id}}}/datasets/continuous_export_dataset --project={{{project_0.project_id|PROJECT_ID}}}

确保您收到与以下内容相似的输出消息。

输出:

Created. dataset: projects/qwiklabs-gcp-04-571fad72c1e8/datasets/continuous_export_dataset mostRecentEditor: student-03-fbc57ac17933@qwiklabs.net name: projects/102856953036/bigQueryExports/SCC-bq-cont-export principal: service-org-616463121992@gcp-sa-scc-notification.iam.gserviceaccount.com updateTime: '2023-05-31T15:44:22.097585Z'

当新的发现结果导出到 BigQuery 后,SCC 就会创建一个新表。您现在可以触发生成新的 SCC 发现结果。

  1. 运行以下命令,创建三个没有任何 IAM 权限的新服务账号,并为它们创建三个由用户管理的服务账号密钥。
for i in {0..2}; do gcloud iam service-accounts create sccp-test-sa-$i; gcloud iam service-accounts keys create /tmp/sa-key-$i.json \ --iam-account=sccp-test-sa-$i@{{{project_0.project_id|PROJECT_ID}}}.iam.gserviceaccount.com; done

当 SCC 中创建新的发现结果后,它们就会导出到 BigQuery。为了存储这些发现结果,导出流水线会创建一个名为 findings 的新表。

  1. 运行以下命令,从 BigQuery 中提取与新创建的发现结果相关的信息:
bq query --apilog=/dev/null --use_legacy_sql=false \ "SELECT finding_id,event_time,finding.category FROM continuous_export_dataset.findings"

随后,您应该会看到与以下内容相似的输出结果。

输出:

+----------------------------------+---------------------+------------------------------------------+ | finding_id | event_time | category | +----------------------------------+---------------------+------------------------------------------+ | c5235ebb04b140198874ce52080422b8 | 2024-11-27 08:08:08 | Persistence: Service Account Key Created | | 94d933ee9803d0f1c807551fd22a0269 | 2024-11-27 08:08:04 | USER_MANAGED_SERVICE_ACCOUNT_KEY | +----------------------------------+---------------------+------------------------------------------+ 注意:生成这些发现结果可能需要用时 10 分钟以上。如果未得到类似的输出结果,请重新运行上述命令。

点击检查我的进度以验证是否完成了以下目标: 将发现结果导出到 BigQuery 数据集

将发现结果导出到 Cloud Storage 存储桶并创建 BigQuery 表

在已有的成熟 Google Cloud 基础设施中,通常会启用 Security Command Center。一旦启用 SCC,它就会开始扫描现有漏洞,最终可能会报告在现有基础设施中发现的数千个结果。

SCC 界面可能无法很好地对这些发现结果进行排序和过滤,因此,将这些发现结果导出到 BigQuery 数据库进行分析就成为了一种常见做法。

目前尚不支持将发现结果直接导出到 BigQuery。您可以改为使用 Google Cloud Storage 存储桶,将其作为临时存储解决方案。

创建 Cloud Storage 存储桶

如需将现有发现结果导出到 BigQuery 界面,需要先将其导出到 Cloud Storage 存储桶。 在本部分中,您将创建存储桶。

  1. 在 Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次点击 Cloud Storage > 存储桶

  2. 点击创建按钮。

  3. Google Cloud 中的每个存储桶必须具有唯一的名称。请将该存储桶名称设置为 scc-export-bucket-

  4. 点击继续

  5. 位置类型设置为区域

  6. 选择 作为位置。

  7. 请勿更改任何其他设置。向下滚动页面,然后点击创建

  8. 当系统询问是否“强制禁止公开访问”此存储桶时,请点击确认按钮。

将现有发现结果导出为 JSONL 数据

在本部分中,您将导出发现结果,以便在 BigQuery 数据库中使用。

  1. 在 Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次点击安全 > 发现结果

  2. 点击导出按钮。

  3. 从下拉列表中选择 Cloud Storage

  4. 对于项目名称,请选择项目 ID 请勿选择“Qwiklabs 资源”)。

  5. 然后点击浏览按钮,选择导出路径。

  6. 点击 scc-export-bucket- 按钮旁边的箭头。

  7. 将文件名设置为 findings.jsonl,然后点击选择

  8. 在“格式”下拉列表中,选择 JSONL

  9. 将“时间范围”更改为所有时间

    请勿修改默认发现结果查询。

    最终的“导出到”表单应与以下内容相似。

“导出到”配置的示例
  1. 点击导出按钮。

在 BigQuery 中创建表

在本部分中,您将使用导出的发现结果数据,在 BigQuery 中创建一个表。

  1. 在 Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次点击 BigQuery > Studio

  2. 在左侧的探索菜单中,点击 + 添加数据按钮。

  3. 在新打开的添加数据窗口中,点击最热门的数据源中的 Google Cloud Storage

  4. 点击外部表或 BigLake 表,基于 GCS 数据手动创建 BigLake 表/外部表,并设置以下参数:

设置
基于以下数据源创建表 Google Cloud Storage
从 GCS 存储桶中选择文件 scc-export-bucket-/findings.jsonl
文件格式 JSONL
数据集 continuous_export_dataset
old_findings
表类型 原生
架构 启用“以文本形式修改”切换开关
  1. 现在,粘贴以下架构:
[ { "mode": "NULLABLE", "name": "resource", "type": "JSON" }, { "mode": "NULLABLE", "name": "finding", "type": "JSON" } ]
  1. 点击创建表按钮。

  2. 新表创建完成后,点击通知中标有转到表字样的链接。

  3. 点击预览标签页,确认您可以查看现有发现结果。

BigQuery 表值

点击检查我的进度以验证是否完成了以下目标: 将发现结果导出到 Cloud Storage 存储桶并创建 BigQuery 表

恭喜!

在本实验中,您了解了 Security Command Center,分析了资产,并将发现结果导出到了 BigQuery。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2025 年 9 月 11 日

上次测试实验的时间:2025 年 9 月 11 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。