arrow_back

使用 BeyondCorp Enterprise (BCE) 保护虚拟机

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

使用 BeyondCorp Enterprise (BCE) 保护虚拟机

Lab 1 小时 30 分钟 universal_currency_alt 5 个积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1036

Google Cloud 自定进度实验

概览

在本实验中,您将学习如何使用 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 Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择帐号对话框,请点击使用其他帐号
  3. 如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步

  4. 请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步

    重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。
  5. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Cloud 控制台。

注意:您可以点击左上角的导航菜单来查看列有 Google Cloud 产品和服务的菜单。 “导航菜单”图标

您将需要预安装 RDP 客户端,以便连接和测试 Windows 实例。

任务 1. 在您的 Google Cloud 项目中启用 IAP TCP 转发

  1. 打开导航菜单并选择 API 和服务 > 库

  2. 搜索 IAP 并选择 Cloud Identity-Aware Proxy API

  3. 点击启用

Cloud Identity-Aware Proxy API

任务 2. 创建 Linux 和 Windows 实例

为本实验创建三个实例: - 两个用于演示(Linux 和 Windows) - 一个用于测试连接(Windows)

Linux 实例

  1. 导航菜单中选择 Compute Engine

  2. 点击创建实例,然后使用以下配置创建虚拟机。将其余设置保留为默认值。

  • 名称:linux-iap
  • 可用区:
  1. 点击高级选项,然后选择网络。在网络接口下方,点击默认网络以进行修改,然后将外部 IPv4 地址更改为

  2. 点击完成

    网络接口配置

  3. 然后点击创建。此虚拟机将称为 linux-iap

Windows 实例

  1. 要创建用于演示的 Windows 虚拟机,点击创建实例并使用以下配置创建虚拟机。将其余设置保留为默认值。
  • 名称:windows-iap
  • 可用区:
  • 启动磁盘版块下,点击更改
  1. 对于操作系统,选择以下几项:

    • 公共映像 > 操作系统 > Windows Server
    • 版本 > Windows Server 2016 Datacenter

    Windows 版本选择

  2. 点击选择

  3. 点击高级选项,然后选择网络。在网络接口下方,点击默认网络以进行修改,然后将外部 IPv4 地址更改为。点击完成

  4. 然后点击创建。此虚拟机将称为 windows-iap

  5. 要创建用于测试连接的 Windows 虚拟机,点击创建实例并使用以下配置创建虚拟机。将其余设置保留为默认值。

  • 名称:windows-connectivity
  • 可用区:
  • 启动磁盘版块下,点击更改
  1. 对于操作系统,在自定义映像标签页中设置以下内容:

    • 用于创建映像的源项目:Qwiklabs 资源
    • 映像:iap-desktop-v001
  2. 点击选择

  3. 对于“访问权限范围”,选择授予对所有 Cloud API 的完整访问权限

    不要停用此实例的外部 IP

  4. 然后点击创建。此虚拟机将称为 windows-connectivity

检查 3 个实例是否都已创建完成

任务 3. 测试与您的 Linux 和 Windows 实例的连接

  1. 创建实例后,您将测试对 linux-iapwindows-iap 的访问,以确保您在没有外部 IP 的情况下无法访问这些虚拟机。

  2. 对于 linux-iap,点击 SSH 按钮进入虚拟机,并确保收到类似如下内容的消息。

    linux 连接失败

  3. 对于 windows-iap:点击 RDP 按钮,并确保收到类似如下内容的消息:

    windows 连接失败

按照以下步骤配置和使用 IAP,您便可以连接没有外部 IP 的实例。

任务 4. 为 BCE 配置必要的防火墙规则

  1. 打开导航菜单并选择 VPC 网络 > 防火墙,然后点击创建防火墙规则

  2. 进行以下设置:

字段 设置
名称 allow-ingress-from-iap
流量方向 入站流量
目标 网络中的所有实例
来源过滤条件 IPv4 范围
来源 IPv4 范围 35.235.240.0/20
协议和端口 选择 TCP,然后输入“22, 3389”以分别允许 SSH 和 RDP
  1. 点击创建以创建防火墙规则。
检查已创建正确的防火墙规则。

任务 5. 授予使用 IAP TCP 转发的权限

按照以下步骤,通过虚拟机配置 iap.tunnelResourceAccessor 角色。

  1. 打开导航菜单并选择安全 > Identity-Aware Proxy,切换到 SSH 和 TCP 资源标签页(放心忽略 HTTPS 部分的 OAuth 权限请求页面错误)。
  2. 选择 linux-iapwindows-iap 虚拟机实例。
  3. 点击添加主账号,然后输入与您用于测试连接的 Windows 虚拟机关联的服务账号,其格式应为 -compute@developer.gserviceaccount.com。
  4. 对于角色,选择 Cloud IAP > IAP-Secured Tunnel User
  5. 点击保存
  6. 点击页面右上角的“S”图标以打开您的个人资料,然后复制学生账号的电子邮件地址。
  7. 再次点击添加主账号以添加您的学生账号。
  8. 输入学生账号。您可以从“实验详细信息”窗格复制该值。
  9. 对于角色,选择 Cloud IAP > IAP-Secured Tunnel User
  10. 点击保存
IAP-Secured Tunnel User 角色将授予 windows-connectivity 实例使用 IAP 连接到资源的权限。添加学生账号将有助于验证该步骤已正确完成。

添加主账号

检查已为服务账号设置 IAM 角色。

任务 5. 使用 IAP 桌面连接到 Windows 和 Linux 实例

使用 IAP 桌面,可以从安装有 Windows 桌面的实例通过图形界面连接到多个实例。您可以在托管该工具下载的 GitHub 代码库中阅读有关 IAP 桌面的更多信息。

要使用 IAP 桌面连接到本实验中的实例:

  1. 下载 RDP 文件,通过 RDP 连接到 windows-connectivity 实例。前往 Compute Engine > 虚拟机实例页面。选择 Compute Engine 着陆页上 windows-connectivity 实例旁边的下拉箭头并下载文件。

  2. 打开 RDP 文件,然后通过远程桌面协议 (RDP) 连接到实例。出现提示后,您将使用以下凭据连接到实例:

  • 用户名:student
  • 密码:Learn123!
  1. 连接到 windows-connectivity 实例后,在该实例的桌面上找到并打开 IAP 桌面应用。

  2. 打开应用后,点击“使用 Google 账号登录”按钮进行登录。使用实验控制台中提供的用户名和密码向 IAP 桌面进行身份验证。确保选择“查看、修改、配置和删除 Google Cloud 数据”选项。

oauth_permissions.png

  1. 您需要添加项目,以便在身份验证后连接到 IAP 桌面中的 Compute Engine 实例。选择与您的实验实例相关的实验项目:

add_project.png

双击 IAP 桌面应用中的 windows-iap 实例以登录该实例。

  1. 第一次尝试通过 IAP 桌面连接实例时,系统可能会提示您提供该实例的凭据。第一次登录实例时选择“生成新凭据”。

credentials.png

  1. 创建凭据后,您将进入 windows-iap 实例的桌面并可以看到最终用户体验。

windows_iap.png

任务 6. 演示使用 SSH 和 RDP 连接进行隧道传输

  1. 您将使用 RDP 客户端测试与 RDP 实例的连接,因为您需要在本地通过 IAP 隧道连接到实例。

  2. 前往 Compute Engine > 虚拟机实例页面。

  3. 对于 windows-connectivity 实例,点击下拉箭头并选择设置 Windows 密码。复制密码并保存。

然后点击连接旁边的下拉箭头,并点击下载 RDP 文件。使用您的客户端打开 RDP 文件并输入您的密码。

  1. 连接到 windows-connectivity 实例后,打开 Google Cloud Shell SDK
Google Cloud SDK Shell 桌面图标

现在从命令行输入以下命令,查看是否可以连接到 linux-iap 实例

gcloud compute ssh linux-iap

当系统提示继续并选择可用区时,点击 Y

出现提示后,确保为实例选择正确的可用区。

然后接受 PuTTY 安全提醒。

您应该会收到一条消息,提示未找到外部 IP 地址并且将使用 IAP 隧道。

显示未找到外部 IP 地址的输出

更新 PuTTY 设置以允许本地隧道连接。点击 PuTTY 窗口左上角 > 更改设置。

PuTTY 设置

勾选“Local ports accept connections from other hosts”(本地端口接受来自其他主机的连接)复选框,以允许本地端口接受来自其他主机的连接。 隧道设置

  1. 关闭 PuTTY 会话,然后点击应用。使用以下命令创建到虚拟机实例的 RDP 端口的加密隧道:
gcloud compute start-iap-tunnel windows-iap 3389 --local-host-port=localhost:0 --zone={{{ project_0.default_zone | Zone }}}

看到有关“Listening on port [XXX]”(监听端口 [XXX])的消息后,复制隧道端口号。

  1. 返回 Google Cloud 控制台,然后前往 Compute Engine > 虚拟机实例页面。

设置并复制 windows-iap 实例的密码。

现在返回 RDP 会话。

保持 gcloud 运行并打开 Microsoft Windows 远程桌面连接应用。

输入隧道端点,即前面步骤中的隧道端口号,如下所示:

  • localhost:endpoint

    6

点击连接

然后输入您之前复制的凭据, 便能成功通过 RDP 进入您的实例了!

如果出现提示,请点击

Windows 10 RDP 实例页面

即使没有外部 IP 地址,您也可以使用 IAP 访问实例 确认可通过启用 IAP 的服务账号访问虚拟机 恭喜!您已能成功使用 IAP 连接到两个实例。

恭喜

您已学会使用 BeyondCorp Enterprise (BCE) 和 Identity-Aware Proxy (IAP) TCP 转发的方法:通过部署 2 个没有 IP 地址的虚拟机(windows-iaplinux-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 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。