你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Bastion 进行虚拟机远程访问

选择的远程访问解决方案取决于规模、拓扑和安全要求等因素。 本文介绍如何提供对部署在 Azure 登陆区域体系结构中的虚拟机(VM)的远程访问。 本指南重点介绍用于远程访问的 Azure Bastion。

Azure 提供协同工作以促进对虚拟机进行高度安全的远程访问的技术:

  • Azure Bastion 是一种平台即服务(PaaS)解决方案,可用于通过浏览器或 Windows 工作站上的本机 SSH 或 RDP 客户端访问 VM。

  • 通过 Microsoft Defender for Cloud 提供按需访问(JIT)权限。

  • 混合连接选项,例如 Azure ExpressRoute 和 VPN。

  • 直接附加到 VM 的公共 IP 或通过 Azure 公共负载均衡器使用 NAT 规则附加的公共 IP。

设计注意事项

  • 如果可用,可以使用 ExpressRoute 或 S2S 和 P2S VPN 连接的现有混合连接来提供从本地到 Windows 和 Linux Azure VM 的远程访问。

  • 网络安全组(NSG)可用于保护与 Azure VM 的 SSH 和 RDP 连接。

  • JIT 允许通过 Internet 进行远程 SSH 和 RDP 访问,而无需为受支持的 VM 部署任何其他基础结构。 JIT 支持:

    • 通过 Azure 资源管理器部署的 VM。
    • 使用经典部署模型部署的 VM。
    • 受 Azure 防火墙保护的 VM 与其他 VM 位于同一虚拟网络中。
    • 受 Azure 防火墙管理器控制和保护的 VM。
  • Azure Bastion 提供额外的控制层。 它支持通过安全 TLS 通道直接从 Azure 门户或 本机客户端 与 VM 建立高度安全无缝的 RDP 和 SSH 连接。 Azure Bastion 还否定了混合连接的需求。

  • 根据要求使用相应的 Azure Bastion SKU。 有关详细信息,请参阅 Azure Bastion 配置设置

  • 查看 Azure Bastion 常见问题解答 ,获取有关服务的常见问题的解答。

  • 使用 Kerberos 身份验证的 Azure Bastion 要求域控制器和 Azure Bastion 都位于同一虚拟网络中。 有关详细信息,请参阅 Azure Bastion Kerberos 身份验证

  • Azure Bastion 可用于 Azure 虚拟 WAN 拓扑。 但是,存在一些限制:

    • Azure Bastion 不能部署在虚拟 WAN 虚拟中心内。

    • Azure Bastion 必须使用高级或标准 SKU。 必须在 Azure Bastion 资源上启用 基于 IP 的连接 功能。 有关详细信息,请参阅 基于 Azure Bastion IP 的连接文档

    • Azure Bastion 可以部署在连接到虚拟 WAN 的任何辐射虚拟网段中。 Azure Bastion 通过虚拟 WAN 虚拟网络连接提供对自己的虚拟网络中的 VM 的访问权限。 它还可以通过关联的中心提供对连接到同一虚拟 WAN 的其他虚拟网络中的 VM 的访问权限。 成功的部署需要适当的 路由 配置。 例如,可以使用 虚拟中心扩展模式部署 Azure Bastion。

    • Azure Bastion 标准 SKU 需要专用子网(AzureBastionSubnet),而开发人员 SKU 则不需要。

  • 开发人员 SKU 是 Azure Bastion 服务的免费零配置始终可用版本。 与标准 SKU 不同,开发人员 SKU 不是专用资源,但它作为共享池的一部分运行,不支持虚拟网络对等互连。

小窍门

如果 Azure Bastion 资源与要连接到的计算机之间存在混合连接,则 Azure Bastion 基于 IP 的连接还允许连接到本地计算机。 有关详细信息,请参阅 通过指定的专用 IP 地址连接到 VM

设计建议

  • 对于生产工作负荷,请部署 Azure Bastion Premium 或标准 SKU。 对于沙盒和测试环境,请使用 所选区域中的开发人员 SKU。

  • 使用现有的 ExpressRoute 或 VPN 连接提供对可从本地网络访问的 Azure VM 的远程访问。

  • 在需要通过 Internet 远程访问 VM 的基于虚拟 WAN 的网络拓扑中,可以在每个与相应 VM 关联的分支虚拟网络中部署 Azure Bastion。

    或者,可以在虚拟 WAN 拓扑中的单个辐射中部署集中式 Azure Bastion 实例。 此配置可减少在环境中管理的 Azure Bastion 实例数。 此方案要求通过 Azure Bastion 登录到 Windows 和 Linux VM 的用户 在 Azure Bastion 资源和所选的辐射虚拟网络上具有读取者角色。 某些实现可能有限制或阻止此要求的安全或符合性注意事项。 下图显示了 Azure 虚拟 WAN 拓扑。

    显示 Azure 虚拟 WAN 拓扑的图示。

  • 在中心辐射型网络拓扑中,需要通过 Internet 远程访问 Azure VM:

    • 可以在 hub 虚拟网络中部署单个 Azure Bastion 主机,该主机可以通过虚拟网络对等互通在 spoke 虚拟网络上提供与 Azure VM 的连接。 此配置可减少在环境中管理的 Azure Bastion 实例数。 此方案要求通过 Azure Bastion 登录到 Windows 和 Linux VM 的用户 在 Azure Bastion 资源和中心虚拟网络上具有读取者角色。 某些实现可能有限制或阻止此要求的安全或符合性注意事项。 下图显示了 Azure 中心辐射型拓扑。

    显示 Azure 中心辐射型拓扑的示意图。

    • 你的环境可能不允许在 Azure Bastion 资源和中心虚拟网络上向用户授予基于角色的访问控制(RBAC)角色。 使用 Azure Bastion Basic 或 Standard SKU 为辐射虚拟网络中的 VM 提供连接。 将专用 Azure Bastion 实例部署到需要远程访问的每个辐射虚拟网络中。 下图显示了 Azure 独立虚拟网络拓扑。

    显示 Azure 独立虚拟网络拓扑图。

  • 配置 NSG 规则以保护 Azure Bastion 及其连接到的 VM。 有关详细信息,请参阅 在 Azure Bastion 中使用 VM 和 NSG

  • 将 Azure Bastion 诊断日志配置为发送到中央 Log Analytics 工作区。 有关详细信息,请参阅 “启用和使用 Azure Bastion 资源日志”。

  • 确保为通过 Azure Bastion 连接到 VM 的用户或组创建 所需的 RBAC 角色分配

  • 如果通过 SSH 连接到 Linux VM,请通过 Azure Key Vault 中的私钥建立连接。

  • 为了满足特定需求(如紧急情况下的应急访问),可以部署 Azure Bastion 和 ExpressRoute 或 VPN。

  • 不要通过直接附加到 VM 的公共 IP 启用对 Windows 和 Linux VM 的远程访问。 请勿在没有严格的 NSG 规则和防火墙的情况下部署远程访问。