步骤 4:配置对 VM 控制台的访问权限

概述

现在,我们已经完成了创建 Windows 虚拟机实例的过程。下一步是确定一种远程访问这些虚拟机的控制台以进行配置的方法。Google Cloud 依靠虚拟机实例的网络连接以及虚拟机内部运行的远程控制台服务来处理远程控制台访问。对于 Windows 虚拟机,这意味着使用 RDP 客户端连接到在实例中运行的 RDP 侦听器。SSH 处理非 Windows 计算机的连接。

根据工作站的操作系统和网络位置,用于访问 VM 控制台的工具和技术可能会有所不同。根据您的组织处理安全性的方式,它们也可能有所不同。本部分的目标是 确保您可以建立与 Google Cloud 项目中虚拟机的远程控制台连接。

建立远程控制台访问权限的一些常用技术包括:

  1. 使用 RDP 客户端在管理工作站和同一网络上的虚拟机之间建立直接连接

  2. 在一个或多个虚拟机上使用公有 IP 地址,并通过 Internet 从管理工作站建立到公有地址的 RDP 连接

  3. 建立与跳转箱或堡垒主机的连接,然后使用首选 RDP 客户端访问 Google Cloud 项目中的虚拟机。管理员通常通过外部 IP 地址连接到跳转箱。

  4. 使用谷歌云身份感知代理 (IAP) TCP 转发功能,再加上 IAP Desktop 之类的工具

如果您的管理工作站已经与 Google Cloud 项目中的虚拟机位于同一个网络中,则可以通过 IP 地址连接到这些虚拟机,前提是您已通过防火墙规则允许 RDP 访问。如果您的管理工作站不在同一个网络上,则可以考虑使用分配了外部 IP 地址的跳转框。但是,如果这样做,请确保将对 RDP 侦听器 (TCP 3389) 的访问限制为仅允许从管理工作站的公有 IP 地址进行访问。

提供远程控制台访问的最安全的方法是使用 Google Cloud 身份识别代理 TCP 转发功能以及 IAP 桌面。借助 Google Cloud 身份感知代理 (IAP) TCP 转发功能,您可以控制谁可以通过公共互联网访问项目中虚拟机的管理界面(例如 SSH 和 RDP)。IAP 可防止这些服务直接暴露在互联网上。IAP 还允许您根据 Google Cloud IAM 角色控制哪些人可以访问这些服务,因为 IAP 在允许访问之前会进行身份验证和授权。IAP Desktop 是一款仅限于 Windows 的开源工具,它在 IAP 和 RDP 客户端之上放置了用户友好的用户界面。

本部署指南使用 IAP 服务和 IAP Desktop 应用程序安全地访问虚拟机进行配置。您仍然可以使用谷歌云 SDK 和 gcloud 命令将 IAP 服务与非 Windows 终端节点配合使用,但这不在本指南的讨论范围之内。

配置身份识别代理分为三个步骤:第一步是配置防火墙以允许入口 TCP 流量;第二步是配置身份识别代理;第三步是使用 IAP Desktop 进行远程控制台访问。

1 配置谷歌云防火墙以允许入口 TCP 流量

  1. 点击位于 Google 控制台左上角的汉堡包图标

  2. 导航到 VPC 网络

  3. 点击 防火墙

    vpc-networks-firewall

  4. 单击 “ 创建防火墙规则

    vpc-networks-firewall-rule

  5. 输入防火墙规则的唯一名称: allow-iap-access

  6. 输入防火墙规则的描述: 允许 IAP 访问

  7. 选择在 虚拟私有云 部分创建的 VPC 网络:citrixcloudnetwork

  8. 选择 入口 流量

    vm-ingress-create-firewall-rule

  9. 在目标字段中,选择 网络中的所有实例

  10. 将源 IP 范围设置为 35.235.240.0/20

  11. 选择 指定的协议和端口

  12. 选中 tcp 复选框

  13. 单击创建

    vm-ingress-ip-ranges

  14. 验证防火墙规则是否已创建

    vm-ingress-firewall-validation

2 启用和配置身份感知代理

  1. 点击位于 Google 控制台左上角的汉堡包图标

  2. 导航到 IAM 和管理员

  3. 单击 “ 身份识别代理

    identity-aware-proxy

  4. 如果出现提示,请单击 “ 启用 API

    identity-aware-proxy-enable-api

  5. 单击 “ 转到身份识别代理

    identity-aware-proxy-go-to

    单击后将显示以下屏幕:

  6. 单击 SSH 和 TCP 资源选项卡

  7. 要更新资源的成员权限,请选择之前创建的所有虚拟机实例。

  8. 点击 添加委托人

    identity-aware-proxy-add-principal

  9. 要授予用户、组或服务帐号对资源的访问权限,请在 “新委托人” 字段中指定他们的电子邮件地址。如果您是唯一测试此功能的用户,则可以输入您的电子邮件地址。

  10. 要授予成员通过 Cloud IAP TCP 转发功能访问资源的权限,请在角色 下拉列表中选择 Cloud IAP

  11. 选择受 IAP 保护的隧道用户

    iap-secured-tunnel-user

  12. 单击保存

    iap-add-principals

3 安装、配置和使用 IAP Desktop 进行远程控制台访问

启用身份感知代理后,下一步就是使用 IAP Desktop(在 GitHub上可用)连接到已部署的虚拟机实例。下载并安装 IAP 桌面后,启动它并按照步骤进行配置。

  1. 点击 “ 使用谷歌登录

    iap-desktop

  2. 选择与 Google Cloud 关联的帐户。根据您的帐户配置,您必须提供用户名、密码和令牌。

    iap-choose-account

  3. 成功进行身份验证后,系统会提示您显示以下权限窗口。选择 查看、编辑、配置和删除您的 Google 云端平台数据

  4. 单击 “ 继续

    iap-desktop-access

  5. 选择 谷歌云项目

  6. 单击 “ 添加项目

    iap-add-project

  7. 列举了之前在部 署 Google 计算实例 部分下创建的所有计算机:

    iap-project-explorer

  8. 要登录到虚拟机实例,请右键单击目标虚拟机

  9. 选择 以用户身份连接…

    iap-connect-as-user

  10. 点击 使用其他帐户

  11. 输入用户名 admin

  12. 输入之前自动为您连接的计算机生成的唯一密码

  13. 单击 OK(确定)

    iap-enter-your-credentials

  14. 成功进行身份验证后,您可以登录到虚拟机

    iap-remote-desktop-ssh

一旦您完成了这个目标(使用 IAP、跳转框或其他技术),您就有了连接到虚拟机远程控制台的实用方法。在下一部分中,您将使用此方法将虚拟机配置到功能正常的 Citrix Cloud 资源位置。

步骤 4:配置对 VM 控制台的访问权限