检查点
Create a custom security role
/ 20
Create a service account
/ 20
Bind a custom security role to an account
/ 20
Create a Private GKE cluster
/ 20
Deploy an application to a private Kubernetes Engine cluster
/ 20
在 Google Cloud 上实施云安全基础措施:实验室挑战赛
GSP342
概览
在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。
在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。
要想获得满分,您必须在该时间段内成功完成所有任务!
我们建议已报名参加在 Google Cloud 上实施云安全基础措施技能徽章课程的学员参加此实验室挑战赛。准备好接受挑战了吗?
测试的主题
- 创建自定义安全角色。
- 创建服务账号。
- 将 IAM 安全角色绑定到服务账号。
- 在自定义子网中创建 Kubernetes Engine 专用集群。
- 向 Kubernetes Engine 专用集群部署应用
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
挑战场景
您是 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. 创建自定义安全角色
第一项任务是新建一个名为
任务 2. 创建服务账号
第二项任务是为新的专用集群创建专用服务账号。您必须将此账号命名为
任务 3. 将自定义安全角色绑定到服务账号
现在,您必须将 Kubernetes Engine 集群服务账号所需的 Cloud Operations 日志记录和监控角色以及您创建的可提供存储权限的自定义 IAM 角色绑定到之前创建的服务账号。
任务 4. 创建并配置新的 Kubernetes Engine 专用集群
创建新的 Kubernetes Engine 专用集群时,必须使用已配置的服务账号。新集群的配置必须符合以下要求:
- 该集群必须名为
- 该集群必须部署到子网
orca-build-subnet
- 该集群必须配置为使用
服务账号。 - 必须为该专用集群启用选项
enable-master-authorized-networks
、enable-ip-alias
、enable-private-nodes
和enable-private-endpoint
。
配置集群后,您必须将 orca-jumphost
计算实例的内部 IP 地址添加到主授权网络列表。
任务 5. 向 Kubernetes Engine 专用集群部署应用
您的测试应用较为简单,可以部署到任何集群,以便快速测试基本的容器部署功能是否正常,以及是否可以创建和访问基本的服务。您必须配置环境,以便能使用跳板机 orca-jumphost
将这个简单的演示应用部署到新集群。
kubectl
命令前,请务必正确安装 gke-gcloud-auth-plugin
。详情请参阅以下提示 1。
这将部署一个监听 8080 端口的应用,您可以使用基本的测试用负载均衡器服务来公开该端口。
提示和技巧
-
提示 1. 请务必使用
gke-gcloud-auth-plugin
。需要有该插件才能持续使用kubectl
。您可以运行以下命令来安装该插件。请务必替换您的 GKE 集群名称、可用区和项目 ID。
-
提示 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 上实施云安全基础措施技能徽章课程的组成部分。完成此技能徽章课程可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。
此技能徽章课程是 Google Cloud 的云安全工程师学习路线的组成部分。如果您已完成此学习路线中的其他技能徽章课程,可在目录中搜索您可以报名参加的其他技能徽章课程。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 3 月 25 日
上次测试实验的时间:2023 年 12 月 4 日
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。