arrow_back

借助 Gemini 制定安全决策

登录 加入
访问 700 多个实验和课程

借助 Gemini 制定安全决策

实验 45 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

概览

Gemini for Google Cloud 是一款始终在线的 AI 协作工具,可为各种技能水平的用户提供帮助。在本实验中,您将学习如何使用 Security Command Center 的 Gemini 功能找出并修复 Google Cloud 环境中的安全配置错误。

注意:Duet AI 已更名为 Gemini,这是我们的新一代模型。此实验已更新,以反映此变化。在按照实验说明操作时,界面或文档中任何提到 Duet AI 的地方都应视为指的是 Gemini。 注意:作为一项尚处于早期发展阶段的技术,Gemini 可能会生成看似合理但实际上不正确的输出。我们建议您先验证 Gemini 的所有输出,然后再使用。如需了解详情,请参阅适用于 Google Cloud 的 Gemini 和 Responsible AI

目标

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

  • 在 Google Cloud 项目中启用 Gemini
  • 将示例工作负载部署到 Google Cloud 环境中
  • 使用 Gemini 找出安全配置错误
  • 使用 Gemini 修复安全配置错误

场景

为了改善安全状况,在您监控基础设施的过程中,Gemini 能帮您确定实施哪些基础设施或配置变更可防止将来出现问题。

在这个例子中,假设您是一家电子商务公司的安全工程师,该公司会定期部署托管式 Kubernetes 集群。您需要找到一种方式来查看是否存在任何配置错误,还需要获得一些简短的说明来帮助解决云环境中的这些问题。

设置和要求

对于每个实验,您都会免费获得一个新的 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 产品和服务的菜单,请点击左上角的导航菜单导航菜单图标

任务 1. 启用 Gemini

首先要在 Google Cloud 项目中启用 Gemini,并为 Google Cloud Qwiklabs 用户账号配置必要的权限。

  1. 点击 Google Cloud 控制台工具栏右上角的 Cloud Shell 图标 (Cloud Shell 图标)。

  2. 如需设置项目 ID 和区域环境变量,请运行以下命令:

PROJECT_ID=$(gcloud config get-value project) REGION={{{project_0.default_region|lab region}}} echo "PROJECT_ID=${PROJECT_ID}" echo "REGION=${REGION}"
  1. 如需将已登录的 Google 用户账号存储到环境变量中,请运行以下命令:
USER=$(gcloud config get-value account 2> /dev/null) echo "USER=${USER}"
  1. 在系统提示时点击授权

  2. 为 Gemini 启用 Cloud AI Companion API:

gcloud services enable cloudaicompanion.googleapis.com --project ${PROJECT_ID}
  1. 如需使用 Gemini,请为您的 Google Cloud Qwiklabs 用户账号授予必要的 IAM 角色:
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/cloudaicompanion.user gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/serviceusage.serviceUsageViewer

添加这些角色后,用户即可开始使用 Gemini 助手。

点击检查我的进度以验证您已完成的任务。 启用 Gemini

任务 2:创建 GKE 集群并部署 Web 应用

现在,您将创建一个运行少量微服务的 Google Kubernetes Engine (GKE) 集群。

  1. 运行以下命令,创建一个名为 test 的 GKE 集群:
gcloud container clusters create test --region={{{project_0.default_region|lab region}}} --num-nodes=1

这应该需要几分钟才能完成。完成后,您应该会看到与以下内容类似的结果:

Creating cluster test in {{{project_0.default_region|lab region}}}... Cluster is being health-checked (master is healthy)...done. Created [https://container.googleapis.com/v1/projects/agmsb-gke-lab/zones/us-central1/clusters/test]. To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-central1/test?project=agmsb-gke-lab kubeconfig entry generated for test. NAME: test LOCATION: {{{project_0.default_region|lab region}}} MASTER_VERSION: 1.27.3-gke.100 MASTER_IP: 34.66.224.143 MACHINE_TYPE: e2-medium NODE_VERSION: 1.27.3-gke.100 NUM_NODES: 3 STATUS: RUNNING
  1. 现在,克隆一个包含 Web 应用代码的仓库:
git clone https://github.com/GoogleCloudPlatform/microservices-demo && cd microservices-demo
  1. 使用 kubectl 将一组微服务部署到 GKE 集群:
kubectl apply -f ./release/kubernetes-manifests.yaml
  1. 几分钟后,运行以下命令来获取公共 IP 地址,以便在浏览器中访问相应的 Web 应用:
kubectl get service frontend-external | awk '{print $4}'
  1. 从上述命令的输出中复制 IP 地址,并将其粘贴到新的浏览器标签页中。

您应该会看到一个与下面类似的 Web 应用:

Web 应用

点击检查我的进度以验证您已完成的任务。 创建 GKE 集群并部署 Web 应用

任务 3. 使用 Gemini 找出安全配置错误

现在,您已经有了一个运行电子商务应用的 GKE 集群,您将确定在哪些方面可以利用 Gemini 来改善安全状况。

  1. 返回 Google Cloud 控制台中的标签页。

  2. 刷新 Google Cloud 控制台页面。

  3. 最小化 Cloud Shell 窗格。

  4. 点击 Google Cloud 控制台工具栏右上角的 Gemini 图标 (Gemini 图标)。

  5. 点击开始聊天

  6. 输入以下提示:

对于 GKE 集群中运行的一组微服务,Google Cloud 中的哪些服务可以帮我确定需要改进的安全领域?

Gemini 的回复应该与下面的示例类似:

对于 GKE 集群中运行的一组微服务,Google Cloud 中有多项服务可以帮您确定需要改进的安全领域。其中包括:

  • Security Command Center 可帮助您识别整个 Google Cloud 环境(包括 GKE 集群)中的安全风险并确定其优先级。
  • Cloud Asset Inventory 可以帮助您跟踪和管理 Google Cloud 资源,包括 GKE 集群。
  • Cloud Logging 可帮助您收集和分析 GKE 集群的日志。
  • Cloud Monitoring 可帮助您监控 GKE 集群的性能和健康状况。
Google Cloud 中有很多服务都能帮助您提高微服务的安全性,这些只是其中一小部分。使用这些服务可以帮助您保护数据,防止遭到未经授权的访问,还可以逐步改善安全状况。

在这种情况下,您决定从 Security Command Center 入手。

  1. 打开导航菜单并选择安全 > 风险概览.

面对多张讨论漏洞的可视化图表,您希望 Gemini 帮助您快速了解 Security Command Center 内的各个漏洞是如何分类的。

  1. 输入以下提示:
Security Command Center 是如何定义漏洞的?

Gemini 的回复应该类似于以下内容:

Security Command Center 将漏洞定义为软件程序中的缺陷或弱点,攻击者可利用漏洞来访问或破坏您的 Google Cloud 环境。

资料来源:https://cloud.google.com/security-command-center/docs/finding-classes
  1. 点击文档链接可查看详细的发现结果类别。

  2. 读完相关信息后,关闭标签页并返回 Google Cloud 控制台。

  3. 点击 Google Cloud 控制台边栏中的发现结果

  4. 如需查看 GKE 集群的发现结果,请找到“快速过滤条件”部分,选中“资源类型”下的 Google 容器集群

您应该会看到一些严重级别为“中”的发现结果。

  1. 点击集群 Secret 加密已停用发现结果。

在此发现结果面板的顶部,您应会看到一个标题为“说明”的部分,其中有一条摘要,内容与下面类似:

应用层 Secret 加密为敏感数据提供了一层额外的安全防护,例如用户定义的 Secret 和集群操作所需的 Secret(如服务账号密钥),此类 Secret 均存储在 etcd 中...
  1. 退出此信息面板。

  2. 接下来,点击权限过高的账号发现结果,查看说明中的摘要,内容与下面类似:

此 GKE 节点使用 Compute Engine 默认服务节点,在默认情况下具有广泛的访问权限,运行 Kubernetes Engine 集群可能不需要这么高的权限....
  1. 退出此信息面板。

  2. 最后,点击主节点授权网络已停用发现结果。您应该会看到如下所示的说明:

控制平面授权网络通过阻止指定的 IP 地址访问集群的控制平面,来提高容器集群的安全性...
  1. 退出此信息面板。

至此,您已经了解了您环境中的一些安全配置错误。接下来,您将利用 Gemini 的建议来修复错误。

任务 4. 修复安全配置错误

现在,您有机会分析多个领域,开始改进 GKE 集群的安全性。接下来,您将使用 Security Command Center 中 Gemini 提供的说明,修复“主节点授权网络已停用”这一发现结果。

  1. 打开导航菜单,依次选择 Kubernetes Engine > 集群

  2. 点击之前创建的集群名称(“test”)。

  3. 向下滚动到控制平面网络部分。

  4. 点击铅笔图标,以修改控制平面网络

  5. 选中启用授权网络旁边的复选框。

  6. 选中向授权网络添加 Google Cloud 外部 IP 地址下方的复选框。

  7. 点击保存更改

  8. 点击边栏中的集群

您会看到集群正在更新,“状态”部分有一个旋转轮或绿色半圆图标。

  1. 在控制平面的网络政策更新期间,从 Google Cloud 控制台工具栏打开 Gemini。

  2. 输入以下提示:

控制平面授权网络如何在 GKE 中运行?

Gemini 的回复应该类似于以下内容:

控制平面授权网络允许您限制对 GKE 集群控制平面的访问权限。默认情况下,控制平面可从任何地址访问。不过,您可以添加一个或多个授权网络,以仅允许访问这些网络。

如需添加授权网络,请访问 Google Cloud 控制台中的 Google Kubernetes Engine 页面。点击要修改的集群的名称。在“网络”下的“控制平面授权网络”字段中,点击“修改控制平面授权网络”…

更新后的控制平面政策可能需要几分钟才能生效。

  1. 一旦在集群旁边的状态列中看到绿色对勾标记,即表示已成功更新集群配置。

点击检查我的进度以验证您已完成的任务。 修复安全配置错误

结束实验

完成实验后,请点击结束实验。Qwiklabs 会移除您使用过的资源并为您清理帐号。

系统会提示您为实验体验评分。请选择相应的评分星级,输入评论,然后点击提交

星级的含义如下:

  • 1 颗星 = 非常不满意
  • 2 颗星 = 不满意
  • 3 颗星 = 一般
  • 4 颗星 = 满意
  • 5 颗星 = 非常满意

如果您不想提供反馈,可以关闭该对话框。

如果要留言反馈、提出建议或做出更正,请使用支持标签页。

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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