使用 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 门户中,转到虚拟中心,然后选择“连接”>“虚拟网络连接”。 然后,可以查看指向连接的指针。 若要查看实际资源,你需要适当的权限。

疑难解答

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

后续步骤