使用 Azure CLI 将跨租户虚拟网络连接到虚拟 WAN 中心

本文介绍如何使用 Azure 虚拟 WAN 将虚拟网络连接到其他租户中的虚拟中心。 如果客户端工作负载必须连接到同一网络,但位于不同的租户上,则此体系结构非常有用。 例如,如下图所示,可以将非 Contoso 虚拟网络(远程租户)连接到 Contoso 虚拟中心(父租户)。

显示具有父租户和远程租户的路由配置的示意图。

在这篇文章中,你将学会如何:

  • 在 Azure 订阅上添加另一个租户作为参与者。
  • 将跨租户虚拟网络连接到虚拟中心。

此配置的步骤使用 Azure 门户和 Azure CLI 的组合。 但是,此功能本身仅在 PowerShell 和 Azure CLI 中可用。

注释

只能通过 PowerShell 或 Azure CLI 管理跨租户虚拟网络连接。 无法在 Azure 门户中管理跨租户虚拟网络连接。

在您开始之前

先决条件

若要使用本文中的步骤,必须在环境中设置以下配置:

  • 父订阅中的虚拟 WAN 和虚拟中心
  • 在不同(远程)租户的订阅中配置的虚拟网络
  • 虚拟 WAN CLI 扩展版本 0.3.0 或更高版本。 有关扩展的更多详细信息,请转到 可用的 Azure CLI 扩展

确保远程租户中的虚拟网络地址空间不会与已连接到父虚拟中心的任何其他虚拟网络中的其他任何地址空间重叠。

分配权限

  1. 在远程租户中虚拟网络的订阅中,向管理员(管理虚拟中心的用户)添加参与者角色分配。 参与者权限将使管理员能够修改和访问远程租户中的虚拟网络。

    可以使用 Azure CLI 或 Azure 门户分配此角色。 有关步骤,请参阅以下文章:

  2. 运行以下命令,将远程租户订阅和父租户订阅添加到控制台的当前会话。 如果已登录到主帐户,则只需为远程租户运行该命令。

    az cloud set -n AzureChinaCloud
    az login --tenant "[tenant ID]"
    # az cloud set -n AzureCloud   //means return to Public Azure.
    
  3. 验证角色分配是否成功。 使用父凭据登录到 Azure CLI(如果尚未登录),并运行以下命令:

    az account list -o table
    

    如果权限已成功传播到父对象并被成功添加到当前会话中,则父对象和远程租户拥有的订阅将显示在命令的输出结果中。

将虚拟网络连接到中心

在以下步骤中,你将使用 Azure CLI 命令将虚拟中心链接到来自不同租户的订阅中的虚拟网络。 替换示例值以反映自己的环境。

  1. 请确保位于虚拟中心帐户的上下文中:

    az account set --subscriptionId "[virtual hub subscription]"
    
  2. 将虚拟网络连接到中心:

    az network vhub connection create --resource-group "[resource_group_name]" --name "[connection_name]" --vhub-name "[virtual_hub_name]" --remote-vnet "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/vnetName"
    

可以在 Azure CLI 或 Azure 门户中查看新连接:

  • 在控制台中,如果连接成功建立,将显示新建立连接的元数据。
  • 在 Azure 门户中,转到虚拟中心并选择 “连接>虚拟网络连接”。 然后,可以查看指向连接的指针。 若要查看实际资源,需要适当的权限。

Troubleshoot

  • 使用 az --version 验证虚拟 WAN 扩展版本是否为 0.3.0 或更高版本。
  • 验证远程订阅访问是否可从 cli az account list -o table获取。
  • 请确保在资源组的名称或任何其他特定于环境的变量(例如, "VirtualHub1""VirtualNetwork1")周围包含引号。

后续步骤