arrow_back

在 Google Cloud 上实施云安全基础措施:实验室挑战赛

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

在 Google Cloud 上实施云安全基础措施:实验室挑战赛

实验 1 小时 30 分钟 universal_currency_alt 5 个积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP342

Google Cloud 自定进度实验

概览

在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。

在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。

要想获得满分,您必须在该时间段内成功完成所有任务!

我们建议已报名参加在 Google Cloud 上实施云安全基础措施技能徽章课程的学员参加此实验室挑战赛。准备好接受挑战了吗?

测试的主题

  • 创建自定义安全角色。
  • 创建服务账号。
  • 将 IAM 安全角色绑定到服务账号。
  • 在自定义子网中创建 Kubernetes Engine 专用集群。
  • 向 Kubernetes Engine 专用集群部署应用

设置和要求

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

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

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

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

挑战场景

您是 Jooli, Inc. 公司新上任的初级安全团队成员,隶属于 Orca 开发团队,负责确保公司应用所依赖的云基础设施和服务的安全性。

您应该掌握了完成这些任务所需的技能和知识,所以我们不会提供分步指南。

您的挑战

您需要部署、配置和测试一个新的 Kubernetes Engine 集群,Orca 开发团队将使用该集群进行应用开发和流水线测试。

您必须确保新的 Kubernetes Engine 集群按照公司的最新安全标准构建,因此必须符合以下要求:

  • 该集群必须用配置有最小必需权限的专用服务账号来部署。
  • 该集群必须部署为 Kubernetes Engine 专用集群,停用公共端点,且主授权网络必须设置为仅包含 Orca 团队管理跳板机的 IP 地址。
  • 该 Kubernetes Engine 专用集群必须部署到 Orca Build VPC 中的 orca-build-subnet

从以前的项目中,您知道以下三个内置角色已涵盖为 Kubernetes Engine 集群指定的服务账号所需的最低权限:

  • roles/monitoring.viewer
  • roles/monitoring.metricWriter
  • roles/logging.logWriter

在 Google Kubernetes Engine (GKE) 的“强化集群的安全性”指南中,使用最小权限的 Google 服务账号部分对这些角色进行了说明。

您必须将上述角色绑定到集群所使用的服务账号以及一个您创建的自定义角色。该自定义角色用于提供访问开发团队指定的任何其他服务的权限。最初您已被告知,开发团队要求集群所使用的服务账号应拥有在 Google Cloud Storage 存储桶中添加和更新对象所需的权限。为此,您必须创建一个新的自定义 IAM 角色,该角色将提供以下权限:

  • storage.buckets.get
  • storage.objects.get
  • storage.objects.list
  • storage.objects.update
  • storage.objects.create

创建新的专用集群后,您必须从管理子网 orca-mgmt-subnet 中的跳板机 orca-jumphost 与该集群连接,来测试其是否已正确配置。由于该计算实例与专用集群不在同一子网中,因此您必须确保集群的主授权网络包含该实例的内部 IP 地址,并且在使用 gcloud container clusters get-credentials 命令检索集群凭据时,您必须指定 --internal-ip 标志。

您创建的所有新云对象和服务都应包含“orca-”前缀。

最后一项任务是验证集群是否正常运行,具体做法是向集群部署一个简单的应用,测试能否使用 kubectl 工具从 orca-jumphost 计算实例以管理权限访问集群。

对于本实验中的所有任务,请使用 区域和 可用区。

任务 1. 创建自定义安全角色

第一项任务是新建一个名为 的自定义 IAM 安全角色,用于提供创建和更新存储对象所需的 Google Cloud Storage 存储桶和对象权限。

检查是否已创建自定义安全角色。

任务 2. 创建服务账号

第二项任务是为新的专用集群创建专用服务账号。您必须将此账号命名为

检查是否已创建新的服务账号。

任务 3. 将自定义安全角色绑定到服务账号

现在,您必须将 Kubernetes Engine 集群服务账号所需的 Cloud Operations 日志记录和监控角色以及您创建的可提供存储权限的自定义 IAM 角色绑定到之前创建的服务账号。

检查是否已将正确的内置和自定义安全角色绑定到新的服务账号。

任务 4. 创建并配置新的 Kubernetes Engine 专用集群

创建新的 Kubernetes Engine 专用集群时,必须使用已配置的服务账号。新集群的配置必须符合以下要求:

  • 该集群必须名为
  • 该集群必须部署到子网 orca-build-subnet
  • 该集群必须配置为使用 服务账号。
  • 必须为该专用集群启用选项 enable-master-authorized-networksenable-ip-aliasenable-private-nodesenable-private-endpoint

配置集群后,您必须将 orca-jumphost 计算实例的内部 IP 地址添加到主授权网络列表。

确认已正确部署 Kubernetes Engine 专用集群。

任务 5. 向 Kubernetes Engine 专用集群部署应用

您的测试应用较为简单,可以部署到任何集群,以便快速测试基本的容器部署功能是否正常,以及是否可以创建和访问基本的服务。您必须配置环境,以便能使用跳板机 orca-jumphost 将这个简单的演示应用部署到新集群。

注意:在运行任何 kubectl 命令前,请务必正确安装 gke-gcloud-auth-plugin。详情请参阅以下提示 1 kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

这将部署一个监听 8080 端口的应用,您可以使用基本的测试用负载均衡器服务来公开该端口。

检查应用是否已部署到 Kubernetes Engine 专用集群。

提示和技巧

  • 提示 1. 请务必使用 gke-gcloud-auth-plugin。需要有该插件才能持续使用 kubectl。您可以运行以下命令来安装该插件。请务必替换您的 GKE 集群名称、可用区和项目 ID。
sudo apt-get install google-cloud-sdk-gke-gcloud-auth-plugin echo "export USE_GKE_GCLOUD_AUTH_PLUGIN=True" >> ~/.bashrc source ~/.bashrc gcloud container clusters get-credentials <your cluster name> --internal-ip --project=<project ID> --zone <cluster zone>
  • 提示 2. 将 orca-jumphost 机器的内部 IP 地址添加到 Kubernetes Engine 专用集群的授权地址列表时,应使用 /32 网络掩码,以确保只有特定的计算实例会获得授权。

  • 提示 3. 如果指定了 enable-private-endpoint 选项,而您所在的 VPC 或其他网络位于部署 Kubernetes Engine 专用集群的 VPC 之外,就无法直接连接到该专用集群。此选项可为专用集群提供最高的安全性,您必须使用集群所在 VPC 内的跳板机或代理,来连接到集群的内部管理 IP 地址。

恭喜!

在本实验中,您配置了一个新的 Kubernetes Engine 专用集群,并为其设置了一个拥有运行集群所需最小权限的专用服务账号。您还创建了一个自定义 IAM 角色,用于提供在 Google Cloud Storage 存储桶中创建和更新存储对象所需的权限,并将该角色绑定到集群所用的服务账号。您还通过执行以下操作验证了集群是否可正常运行:向集群部署一个简单的应用,测试能否使用 kubectl 工具从 orca-jumphost 计算实例以管理权限访问集群。

“在 Google Cloud 上实施云安全基础措施”徽章

赢得您的下一个技能徽章

本自学实验是在 Google Cloud 上实施云安全基础措施技能徽章课程的组成部分。完成此技能徽章课程可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。

此技能徽章课程是 Google Cloud 的云安全工程师学习路线的组成部分。如果您已完成此学习路线中的其他技能徽章课程,可在目录中搜索您可以报名参加的其他技能徽章课程。

Google Cloud 培训和认证

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

上次更新手册的时间:2024 年 3 月 25 日

上次测试实验的时间:2023 年 12 月 4 日

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

此内容目前不可用

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

太好了!

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