检查点
Check that all three instances are configured properly
/ 25
Check proper firewall rules have been created
/ 25
Check that IAM roles have been set for the service account
/ 25
Confirm VM is accessible via IAP enabled SA (ssh and RDP ability for both VMs.)
/ 25
使用 BeyondCorp Enterprise (BCE) 保护虚拟机
GSP1036
概览
在本实验中,您将学习如何使用 BeyondCorp Enterprise (BCE) 和 Identity-Aware Proxy (IAP) TCP 转发实现对没有外部 IP 地址 或不允许通过互联网直接访问的虚拟机实例的管理员权限。
学习内容
- 在您的 Google Cloud 项目中启用 IAP TCP 转发
- 测试与您的 Linux 和 Windows 实例的连接
- 为 BCE 配置必要的防火墙规则
- 授予使用 IAP TCP 转发的权限
- 演示使用 SSH 和 RDP 连接进行隧道传输
设置
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
- 打开 Google 控制台按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。
提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。
注意:如果您看见选择帐号对话框,请点击使用其他帐号。 -
如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步。
-
请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步。
重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。 -
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Cloud 控制台。
您将需要预安装 RDP 客户端,以便连接和测试 Windows 实例。
任务 1. 在您的 Google Cloud 项目中启用 IAP TCP 转发
-
打开导航菜单并选择 API 和服务 > 库。
-
搜索 IAP 并选择 Cloud Identity-Aware Proxy API。
-
点击启用。
任务 2. 创建 Linux 和 Windows 实例
为本实验创建三个实例: - 两个用于演示(Linux 和 Windows) - 一个用于测试连接(Windows)
Linux 实例
-
在导航菜单中选择 Compute Engine。
-
点击创建实例,然后使用以下配置创建虚拟机。将其余设置保留为默认值。
- 名称:linux-iap
- 可用区:
-
点击高级选项,然后选择网络。在网络接口下方,点击默认网络以进行修改,然后将外部 IPv4 地址更改为无。
-
点击完成。
-
然后点击创建。此虚拟机将称为 linux-iap
Windows 实例
- 要创建用于演示的 Windows 虚拟机,点击创建实例并使用以下配置创建虚拟机。将其余设置保留为默认值。
- 名称:windows-iap
- 可用区:
- 在启动磁盘版块下,点击更改
-
对于操作系统,选择以下几项:
- 公共映像 > 操作系统 > Windows Server
- 版本 > Windows Server 2016 Datacenter
-
点击选择。
-
点击高级选项,然后选择网络。在网络接口下方,点击默认网络以进行修改,然后将外部 IPv4 地址更改为无。点击完成。
-
然后点击创建。此虚拟机将称为 windows-iap
-
要创建用于测试连接的 Windows 虚拟机,点击创建实例并使用以下配置创建虚拟机。将其余设置保留为默认值。
- 名称:windows-connectivity
- 可用区:
- 在启动磁盘版块下,点击更改
-
对于操作系统,在自定义映像标签页中设置以下内容:
- 用于创建映像的源项目:
Qwiklabs 资源
- 映像:
iap-desktop-v001
- 用于创建映像的源项目:
-
点击选择。
-
对于“访问权限范围”,选择授予对所有 Cloud API 的完整访问权限
不要停用此实例的外部 IP
-
然后点击创建。此虚拟机将称为 windows-connectivity
任务 3. 测试与您的 Linux 和 Windows 实例的连接
-
创建实例后,您将测试对 linux-iap 和 windows-iap 的访问,以确保您在没有外部 IP 的情况下无法访问这些虚拟机。
-
对于 linux-iap,点击 SSH 按钮进入虚拟机,并确保收到类似如下内容的消息。
-
对于 windows-iap:点击 RDP 按钮,并确保收到类似如下内容的消息:
任务 4. 为 BCE 配置必要的防火墙规则
-
打开导航菜单并选择 VPC 网络 > 防火墙,然后点击创建防火墙规则
-
进行以下设置:
字段 | 设置 |
---|---|
名称 | allow-ingress-from-iap |
流量方向 | 入站流量 |
目标 | 网络中的所有实例 |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 | 35.235.240.0/20 |
协议和端口 | 选择 TCP,然后输入“22, 3389”以分别允许 SSH 和 RDP |
- 点击创建以创建防火墙规则。
任务 5. 授予使用 IAP TCP 转发的权限
按照以下步骤,通过虚拟机配置 iap.tunnelResourceAccessor 角色。
- 打开导航菜单并选择安全 > Identity-Aware Proxy,切换到 SSH 和 TCP 资源标签页(放心忽略 HTTPS 部分的 OAuth 权限请求页面错误)。
- 选择 linux-iap 和 windows-iap 虚拟机实例。
- 点击添加主账号,然后输入与您用于测试连接的 Windows 虚拟机关联的服务账号,其格式应为
-compute@developer.gserviceaccount.com。 - 对于角色,选择 Cloud IAP > IAP-Secured Tunnel User。
- 点击保存。
- 点击页面右上角的“S”图标以打开您的个人资料,然后复制学生账号的电子邮件地址。
- 再次点击添加主账号以添加您的学生账号。
- 输入学生账号。您可以从“实验详细信息”窗格复制该值。
- 对于角色,选择 Cloud IAP > IAP-Secured Tunnel User。
- 点击保存。
任务 5. 使用 IAP 桌面连接到 Windows 和 Linux 实例
使用 IAP 桌面,可以从安装有 Windows 桌面的实例通过图形界面连接到多个实例。您可以在托管该工具下载的 GitHub 代码库中阅读有关 IAP 桌面的更多信息。
要使用 IAP 桌面连接到本实验中的实例:
-
下载 RDP 文件,通过 RDP 连接到
windows-connectivity
实例。前往 Compute Engine > 虚拟机实例页面。选择 Compute Engine 着陆页上 windows-connectivity 实例旁边的下拉箭头并下载文件。 -
打开 RDP 文件,然后通过远程桌面协议 (RDP) 连接到实例。出现提示后,您将使用以下凭据连接到实例:
- 用户名:student
- 密码:Learn123!
-
连接到 windows-connectivity 实例后,在该实例的桌面上找到并打开 IAP 桌面应用。
-
打开应用后,点击“使用 Google 账号登录”按钮进行登录。使用实验控制台中提供的用户名和密码向 IAP 桌面进行身份验证。确保选择“查看、修改、配置和删除 Google Cloud 数据”选项。
- 您需要添加项目,以便在身份验证后连接到 IAP 桌面中的 Compute Engine 实例。选择与您的实验实例相关的实验项目:
双击 IAP 桌面应用中的 windows-iap 实例以登录该实例。
- 第一次尝试通过 IAP 桌面连接实例时,系统可能会提示您提供该实例的凭据。第一次登录实例时选择“生成新凭据”。
- 创建凭据后,您将进入
windows-iap
实例的桌面并可以看到最终用户体验。
任务 6. 演示使用 SSH 和 RDP 连接进行隧道传输
-
您将使用 RDP 客户端测试与 RDP 实例的连接,因为您需要在本地通过 IAP 隧道连接到实例。
-
前往 Compute Engine > 虚拟机实例页面。
-
对于 windows-connectivity 实例,点击下拉箭头并选择设置 Windows 密码。复制密码并保存。
然后点击连接旁边的下拉箭头,并点击下载 RDP 文件。使用您的客户端打开 RDP 文件并输入您的密码。
- 连接到 windows-connectivity 实例后,打开 Google Cloud Shell SDK:
现在从命令行输入以下命令,查看是否可以连接到 linux-iap 实例:
当系统提示继续并选择可用区时,点击 Y。
出现提示后,确保为实例选择正确的可用区。
然后接受 PuTTY 安全提醒。
更新 PuTTY 设置以允许本地隧道连接。点击 PuTTY 窗口左上角 > 更改设置。
勾选“Local ports accept connections from other hosts”(本地端口接受来自其他主机的连接)复选框,以允许本地端口接受来自其他主机的连接。
- 关闭 PuTTY 会话,然后点击应用。使用以下命令创建到虚拟机实例的 RDP 端口的加密隧道:
看到有关“Listening on port [XXX]”(监听端口 [XXX])的消息后,复制隧道端口号。
- 返回 Google Cloud 控制台,然后前往 Compute Engine > 虚拟机实例页面。
设置并复制 windows-iap 实例的密码。
现在返回 RDP 会话。
保持 gcloud 运行并打开 Microsoft Windows 远程桌面连接应用。
输入隧道端点,即前面步骤中的隧道端口号,如下所示:
-
localhost:endpoint
点击连接。
然后输入您之前复制的凭据, 便能成功通过 RDP 进入您的实例了!
如果出现提示,请点击是。
恭喜
您已学会使用 BeyondCorp Enterprise (BCE) 和
Identity-Aware Proxy (IAP) TCP 转发的方法:通过部署 2 个没有 IP 地址的虚拟机(windows-iap
和 linux-iap
),然后配置 IAP 隧道,让您能够使用第三个虚拟机(windows-connectivity
)访问这两个实例。
后续步骤/了解详情
- 请前往以下云文档网站,阅读有关 BeyondCorp Enterprise (BCE) 和零信任安全模型的更多信息。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 4 月 16 日
上次测试实验的时间:2023 年 12 月 5 日
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。