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

使用专用链接(预览版)

本文介绍如何使用专用链接来限制对管理订阅中资源的访问。 使用专用链接,可以通过虚拟网络中的专用终结点访问 Azure 服务。 这可以防止向公共 Internet 公开服务。

本文介绍使用 Azure 门户设置专用链接的过程。

重要

可以在层上启用此功能,但这会产生额外的费用。

注意

将专用链接与 Azure 通知中心配合使用的功能目前处于预览状态。 如有兴趣使用此功能,请联系 Microsoft 的客户成功经理,或创建 Azure 支持票证。

在门户中创建专用终结点以及新的通知中心

以下过程使用 Azure 门户创建专用终结点以及新的通知中心:

  1. 创建新的通知中心,然后选择“网络”选项卡。

  2. 选择“专用访问”,然后选择“创建”。

    Screenshot of notification hub creation page on portal showing private link option.

  3. 填写新专用终结点的订阅、资源组、位置和名称。 选择虚拟网络和子网。 在“与专用 DNS 区域”集成中选择“”,并在“专用 DNS 区域”框中键入“privatelink.notificationhubs.windows.net”。

    Screenshot of notification hub private endpoint creation page.

  4. 选择“确定”,查看使用专用终结点创建命名空间和中心的确认信息。

  5. 选择“创建”,以使用专用终结点连接创建通知中心。

    Screenshot of notification hub private endpoint confirmation page.

在门户中为现有通知中心创建专用终结点

  1. 在门户左侧的“安全 + 网络”部分下,选择“通知中心”,然后选择“网络”。

  2. 选择“专用访问”选项卡。

    Screenshot of private access tab.

  3. 填写新专用终结点的订阅、资源组、位置和名称。 选择虚拟网络和子网。 选择创建

    Screenshot of private link creation properties.

使用 CLI 创建专用终结点

  1. 登录到 Azure CLI 并设置订阅:

    az login
    az account set --subscription <azure_subscription_id>
    
  2. 创建新的资源组:

    az group create -n <resource_group_name> -l <azure_region>
    
  3. Microsoft.NotificationHubs 注册为提供程序:

    az provider register -n Microsoft.NotificationHubs
    
  4. 创建新的通知中心命名空间和中心:

    az notification-hub namespace create 
         --name <namespace_name>
         --resource-group <resource_group_name>
         --location <azure_region>
         --sku "Standard"
    
     az notification-hub create 
         --name <notification_hub_name>
         --namespace-name <namespace_name>
         --resource-group <resource_group_name>
         --location <azure_region>
    
  5. 创建带子网的虚拟网络:

    az network vnet create
         --resource-group <resource_group_name>
         --name <vNet name>
         --location <azure_region>
    
    az network vnet subnet create
         --resource-group <resource_group_name>
         --vnet-name <vNet_name>
         --name <subnet_name>
         --address-prefixes <address_prefix>
    
  6. 禁用虚拟网络策略:

    az network vnet subnet update
         --name <subnet_name>
         --resource-group <resource_group_name>
         --vnet-name <vNet_name>
         --disable-private-endpoint-network-policies true
    
  7. 添加专用 DNS 区域并将其链接到虚拟网络:

    az network private-dns zone create
         --resource-group <resource_group_name>
         --name privatelink.servicebus.windows.net
    
    az network private-dns zone create
         --resource-group <resource_group_name>
         --name privatelink.notoficationhub.windows.net
    
    az network private-dns link vnet create
         --resource-group <resource_group_name>
         --virtual-network <vNet_name>
         --zone-name privatelink.servicebus.windows.net 
         --name <dns_zone_link_name>
         --registration-enabled true
    
    az network private-dns link vnet create
         --resource-group <resource_group_name>
         --virtual-network <vNet_name>
         --zone-name privatelink.notificationhub.windows.net 
         --name <dns_zone_link_name>
         --registration-enabled true
    
  8. 创建专用终结点(自动批准):

    az network private-endpoint create
         --resource-group <resource_group_name>
         --vnet-name <vNet_name>
         --subnet <subnet_name>
         --name <private_endpoint_name>  
         --private-connection-resource-id "/subscriptions/<azure_subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.NotificationHubs/namespaces/<namespace_name>" 
         --group-ids namespace 
         --connection-name <private_link_connection_name>
         --location <azure-region>
    
  9. 创建专用终结点(手动请求批准):

    az network private-endpoint create
         --resource-group <resource_group_name>
         --vnet-name <vnet_name>
         --subnet <subnet_name>
         --name <private_endpoint_name>
         --private-connection-resource-id "/subscriptions/<azure_subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.NotificationHubs/namespaces/<namespace_name>" 
         --group-ids namespace
         --connection-name <private_link_connection_name>
         --location <azure-region>
         --manual-request
    
  10. 显示连接状态:

    az network private-endpoint show --resource-group <resource_group_name> --name <private_endpoint_name>
    

使用门户管理专用终结点

创建专用终结点时,必须批准连接。 如果要为其创建专用终结点的资源位于你的目录中,那么在你拥有足够权限的前提下,你可以批准连接请求。 如果要连接到另一个目录中的 Azure 资源,必须等待该资源的所有者批准你的连接请求。

有四种预配状态:

服务操作 服务使用者专用终结点状态 说明
挂起的 连接是手动创建的,正等待专用链接资源所有者批准。
审批 已批准 连接已自动或手动批准,随时可供使用。
拒绝 已拒绝 连接已被专用链接资源所有者拒绝。
删除 已断开连接 连接被专用链接资源所有者删除。 专用终结点已变为参考性终结点,应将其删除以清理资源。

批准、拒绝或删除专用终结点连接

  1. 登录 Azure 门户。
  2. 在搜索栏中,键入“通知中心”。
  3. 选择要管理的命名空间。
  4. 选择“网络”选项卡。
  5. 根据要执行的操作(批准、拒绝或删除)转到相应部分。

批准专用终结点连接

  1. 如果有任何挂起的连接,则会显示预配状态为“挂起”的连接。

  2. 选择要批准的专用终结点。

  3. 选择“批准”。

    Screenshot showing Networking tab ready for approval.

  4. 在“批准连接”页上输入可选注释,然后选择“”。 如果选择“否”,则不会执行任何操作。

    Screenshot showing approve connection page.

  5. 应会看到,列表中连接的状态已更改为“已批准”。

拒绝专用终结点连接

  1. 如果要拒绝任何专用终结点连接(不管是挂起的请求还是此前已批准的现有连接),请选择该终结点连接并选择“拒绝”。

    Screenshot showing reject connection option.

  2. 在“拒绝连接”页上输入可选注释,然后选择“”。 如果选择“否”,则不会执行任何操作。

  3. 应会看到,列表中连接的状态已更改为“已拒绝”。

删除专用终结点连接

  1. 若要删除某个专用终结点连接,请在列表中选择它,然后在工具栏上选择“删除”:

    Screenshot showing remove connection page.

  2. 在“删除连接”页上,选择“是”以确认删除该专用终结点。 如果选择“否”,则不会执行任何操作。

  3. 应会看到,列表中连接的状态已更改为“已断开连接”。 然后,该终结点就会从列表中消失。

应验证专用终结点的虚拟网络中的资源是否可以通过专用 IP 地址连接到通知中心命名空间,以及它们是否具有正确的专用 DNS 区域集成。

首先,遵循在 Azure 门户中创建 Windows 虚拟机中的步骤创建一个虚拟机。

在“网络”选项卡中:

  1. 指定“虚拟网络”和“子网”。 必须选择已将专用终结点部署到的虚拟网络。
  2. 指定一个公共 IP 资源。
  3. 对于“NIC 网络安全组”,请选择“无” 。
  4. 对于“负载均衡”,请选择“否” 。

连接到 VM,打开命令行并运行以下命令:

Resolve-DnsName <namespace_name>.privatelink.servicebus.windows.net

从 VM 执行命令时,它将返回专用终结点连接的 IP 地址。 从外部网络执行时,它将返回一个通知中心群集的公共 IP 地址。

限制和设计注意事项

限制:此功能可在所有 Azure 公共区域中使用。 每个通知中心命名空间的最大专用终结点数:200

有关详细信息,请参阅 Azure 专用链接服务:限制

后续步骤