检查点
Enable Gemini
/ 35
Create a GKE cluster and deploy a web app
/ 35
Remediate a security misconfiguration
/ 30
借助 Gemini 制定安全决策
概览
Gemini for Google Cloud 是一款始终在线的 AI 协作工具,可为各种技能水平的用户提供帮助。在本实验中,您将学习如何使用 Security Command Center 的 Gemini 功能找出并修复 Google Cloud 环境中的安全配置错误。
目标
在本实验中,您将学习如何执行以下任务:
- 在 Google Cloud 项目中启用 Gemini
- 将示例工作负载部署到 Google Cloud 环境中
- 使用 Gemini 找出安全配置错误
- 使用 Gemini 修复安全配置错误
场景
为了改善安全状况,在您监控基础设施的过程中,Gemini 能帮您确定实施哪些基础设施或配置变更可防止将来出现问题。
在这个例子中,假设您是一家电子商务公司的安全工程师,该公司会定期部署托管式 Kubernetes 集群。您需要找到一种方式来查看是否存在任何配置错误,还需要获得一些简短的说明来帮助解决云环境中的这些问题。
设置和要求
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
-
请使用无痕式窗口登录 Qwiklabs。
-
留意实验的访问时限(例如
1:15:00
)并确保能在相应时间段内完成实验。
系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。 -
准备就绪时,点击开始实验。
-
请记好您的实验凭据(用户名和密码)。您需要使用这组凭据来登录 Google Cloud 控制台。
-
点击打开 Google 控制台。
-
点击使用其他帐号,然后将此实验的凭据复制并粘贴到相应提示框中。
如果您使用其他凭据,将会收到错误消息或产生费用。 -
接受条款并跳过恢复资源页面。
任务 1. 启用 Gemini
首先要在 Google Cloud 项目中启用 Gemini,并为 Google Cloud Qwiklabs 用户账号配置必要的权限。
-
点击 Google Cloud 控制台工具栏右上角的 Cloud Shell 图标 ()。
-
如需设置项目 ID 和区域环境变量,请运行以下命令:
- 如需将已登录的 Google 用户账号存储到环境变量中,请运行以下命令:
-
在系统提示时点击授权。
-
为 Gemini 启用 Cloud AI Companion API:
- 如需使用 Gemini,请为您的 Google Cloud Qwiklabs 用户账号授予必要的 IAM 角色:
添加这些角色后,用户即可开始使用 Gemini 助手。
点击检查我的进度以验证您已完成的任务。
任务 2:创建 GKE 集群并部署 Web 应用
现在,您将创建一个运行少量微服务的 Google Kubernetes Engine (GKE) 集群。
- 运行以下命令,创建一个名为
test
的 GKE 集群:
这应该需要几分钟才能完成。完成后,您应该会看到与以下内容类似的结果:
- 现在,克隆一个包含 Web 应用代码的仓库:
- 使用 kubectl 将一组微服务部署到 GKE 集群:
- 几分钟后,运行以下命令来获取公共 IP 地址,以便在浏览器中访问相应的 Web 应用:
- 从上述命令的输出中复制 IP 地址,并将其粘贴到新的浏览器标签页中。
您应该会看到一个与下面类似的 Web 应用:
点击检查我的进度以验证您已完成的任务。
任务 3. 使用 Gemini 找出安全配置错误
现在,您已经有了一个运行电子商务应用的 GKE 集群,您将确定在哪些方面可以利用 Gemini 来改善安全状况。
-
返回 Google Cloud 控制台中的标签页。
-
刷新 Google Cloud 控制台页面。
-
最小化 Cloud Shell 窗格。
-
点击 Google Cloud 控制台工具栏右上角的 Gemini 图标 ()。
-
点击开始聊天。
-
输入以下提示:
Gemini 的回复应该与下面的示例类似:
- Security Command Center 可帮助您识别整个 Google Cloud 环境(包括 GKE 集群)中的安全风险并确定其优先级。
- Cloud Asset Inventory 可以帮助您跟踪和管理 Google Cloud 资源,包括 GKE 集群。
- Cloud Logging 可帮助您收集和分析 GKE 集群的日志。
- Cloud Monitoring 可帮助您监控 GKE 集群的性能和健康状况。
在这种情况下,您决定从 Security Command Center 入手。
- 打开导航菜单并选择安全 > 风险概览.
面对多张讨论漏洞的可视化图表,您希望 Gemini 帮助您快速了解 Security Command Center 内的漏洞分类。
- 输入以下提示:
Gemini 的回复应该类似于以下内容:
资料来源:https://cloud.google.com/security-command-center/docs/finding-classes
-
点击文档链接可查看详细的发现结果类别。
-
读完相关信息后,关闭标签页并返回 Google Cloud 控制台。
-
点击 Google Cloud 控制台边栏中的发现结果。
-
如需查看 GKE 集群的发现结果,请找到“快速过滤条件”部分,选中“资源类型”下的 Google 容器集群。
您应该会看到一些严重级别为“中”的发现结果。
- 点击集群 Secret 加密已停用发现结果。
在这个发现结果面板的顶部,您会看到一个标题为“AI 生成的摘要”的部分,其中有一条 Gemini 生成的摘要,内容与下面类似:
test
的 google.container.Cluster
内发现了类型为 CLUSTER_SECRETS_ENCRYPTION_DISABLED
,严重级别为 MEDIUM
的发现结果…
这一发现结果表明集群没有启用应用层 Secret 加密。这意味着敏感数据,例如用户定义的 Secret 和集群操作所需的 Secret(如服务账号密钥),都以明文形式存储在 etcd 中。这存在安全风险,因为获得 etcd 访问权限的攻击者可以读取这些 Secret。
为修复这一发现结果,您需要为集群启用应用层 Secret 加密。为此,您可以进入 Google Kubernetes Engine (GKE) 控制台,点击安全标签页。在“应用层 Secret 加密”下,点击修改应用层 Secret 加密。选中“启用应用层 Secret 加密”复选框,然后选择一个数据库加密密钥。点击保存更改…。
Gemini 的这份摘要对发现结果的简短描述进行了扩充,更详细地说明了以明文存储 Secret 所存在的问题,并介绍了您可以采取的相应补救措施。
-
退出此信息面板。
-
接下来,点击权限过高的账号发现结果,查看 Gemini 提供的摘要,内容与下面类似:
test
的 google.container.Cluster
内发现了类型为 OVER_PRIVILEGED_ACCOUNT
,严重级别为 MEDIUM
的发现结果…
造成这一发现结果的原因是,GKE 节点使用了 Compute Engine 默认服务账号,该账号在默认情况下具有广泛的访问权限,这对运行 Kubernetes Engine 集群来说可能权限过高。
这一发现结果表明存在风险,因为 Compute Engine 默认服务账号可以访问项目中的所有资源,包括 GKE 集群。一旦攻击者获得了该服务账号的访问权限,就可以访问相应项目中的所有资源…
此摘要提供了来自 Google 的具体文档,介绍了如何通过为 GKE 集群创建最小权限服务账号来修复该发现结果。
-
退出此信息面板。
-
最后,点击主节点授权网络已停用发现结果。Gemini 应在面板中提供类似以下内容的回复:
test
的 google.container.Cluster
内发现了类型为 MASTER_AUTHORIZED_NETWORKS_DISABLED
,严重级别为 MEDIUM
的发现结果…
控制平面授权网络通过阻止指定的 IP 地址访问集群的控制平面,来提高容器集群的安全性。
为修复这一发现结果,请前往 Kubernetes 集群并点击修改。如果最近更改了集群配置,修改按钮可能会被停用。如果您无法修改集群设置,请等待几分钟,然后重试。在“控制平面授权网络”下拉列表中,选择已启用。点击添加授权网络。指定您要使用的授权网络。点击保存…
- 退出此信息面板。
至此,您已经了解了您环境中的一些安全配置错误。接下来,您将利用 Gemini 的建议来修复错误。
任务 4. 修复安全配置错误
现在,您有机会分析多个领域,开始改进 GKE 集群的安全性。接下来,您将使用 Security Command Center 中 Gemini 提供的说明,修复“主节点授权网络已停用”这一发现结果。
-
打开导航菜单,依次选择 Kubernetes Engine > 集群。
-
点击之前创建的集群名称(“test”)。
-
向下滚动到网络部分。
-
点击控制平面授权网络旁边的铅笔图标。
-
选中启用控制平面授权的网络旁边的复选框。
-
选中允许通过 Google Cloud 公共 IP 地址访问下方的复选框。
-
点击保存更改。
-
点击边栏中的集群。
您会看到集群正在更新,“状态”部分有一个旋转轮图标。
-
在控制平面的网络政策更新期间,从 Google Cloud 控制台工具栏打开 Gemini。
-
输入以下提示:
Gemini 的回复应该类似于以下内容:
如需添加授权网络,请访问 Google Cloud 控制台中的 Google Kubernetes Engine 页面。点击要修改的集群的名称。在“网络”下的“控制平面授权网络”字段中,点击“修改控制平面授权网络”…
更新后的控制平面政策可能需要几分钟才能生效。
- 一旦在集群旁边的状态列中看到绿色对勾标记,即表示已成功更新集群配置。
点击检查我的进度以验证您已完成的任务。
结束实验
完成实验后,请点击结束实验。Qwiklabs 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的评分星级,输入评论,然后点击提交。
星级的含义如下:
- 1 颗星 = 非常不满意
- 2 颗星 = 不满意
- 3 颗星 = 一般
- 4 颗星 = 满意
- 5 颗星 = 非常满意
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名称和产品名称可能是其各自相关公司的商标。