使用专用终结点进行访问控制

可针对 Azure Web PubSub 资源使用专用终结点,以允许虚拟网络 (VNet) 中的客户端通过专用链接安全地访问数据。 专用终结点针对 Web PubSub 资源使用 VNet 地址空间中的 IP 地址。 VNet 上的客户端与 Web PubSub 资源之间的网络流量通过 Azure 网络上的专用链接进行传输,避免暴露给公共 Internet。

对 Web PubSub 资源使用专用终结点可帮助你:

  • 使用网络访问控制阻止 Web PubSub 公共终结点上的所有连接来保护 Web PubSub 资源。
  • 通过阻止数据从 VNet 渗出,来提高 VNet 的安全性。
  • 使用 VPN 或具有专用对等互连的 Azure ExpressRoute,从连接到 VNet 的本地网络安全地连接到 Web PubSub。

在虚拟网络中使用专用终结点

显示 Azure Web PubSub 专用终结点概览的示意图。

专用终结点是用于 VNet 中的 Azure 服务的特殊网络接口。 为 Web PubSub 资源创建专用终结点时,它将在 VNet 上的客户端和服务之间提供安全连接。 从 VNet 的 IP 地址范围为专用终结点分配 IP 地址。 专用终结点与 Web PubSub 之间的连接使用安全的专用链接。

VNet 中的应用程序可以使用专用终结点无缝连接到 Web PubSub 资源。 应用程序使用与在其他情况中相同的连接字符串和授权机制

专用终结点可用于 Web PubSub 资源支持的所有协议,包括 REST API。

在 VNet 中为 Web PubSub 资源创建专用终结点时,系统会向 Web PubSub 资源所有者发送同意请求以供审批。 如果请求专用终结点的用户也是 Web PubSub 资源的所有者,则此同意请求会自动获得批准。

可以在 Azure 门户的“专用终结点”选项卡上管理 Web PubSub 资源的同意请求和专用终结点。

提示

如果只想限制通过专用终结点对 Web PubSub 资源的访问,请设置网络访问控制以拒绝或控制通过公共终结点的访问。

连接到专用终结点

使用专用终结点的 VNet 上的客户端应对通过公共终结点连接的客户端使用的 Web PubSub 资源使用相同的连接字符串。 我们依赖于域名系统 (DNS) 解析,通过专用链接自动将连接从 VNet 路由到 Web PubSub。

重要

通过专用终结点连接到 Web PubSub 时,使用的连接字符串与通过公共终结点进行连接时使用的连接字符串相同。 不要使用其 privatelink 子域 URL 连接到 Web PubSub。

默认情况下,我们会创建一个附加到 VNet 的专用 DNS 区域,并带有专用终结点的必要更新。 如果使用自己的 DNS 服务器,则可能需要对 DNS 配置进行其他更改。 下一部分介绍专用终结点所需的更新。

专用终结点的 DNS 更改

创建专用终结点时,Web PubSub 资源的 DNS CNAME 资源记录将更新为具有前缀 privatelink 的子域中的别名。 默认情况下,我们还会创建一个与 privatelink 子域对应的专用 DNS 区域,其中包含专用终结点的 DNS A 资源记录。

使用专用终结点从 VNet 外部解析 Web PubSub 资源域名时,它会解析为 Web PubSub 资源的公共终结点。 从托管专用终结点的 VNet 进行解析时,域名解析为专用终结点的 IP 地址。

对于前面的演示示例,从托管专用终结点的 VNet 外部解析 Web PubSub 资源的 DNS 资源 sample 记录为:

名称 类型
sample.webpubsub.azure.com CNAME sample.privatelink.webpubsub.azure.com
sample.privatelink.webpubsub.azure.com A <Web PubSub 公共 IP 地址>

可以使用网络访问控制,通过公共终结点拒绝或控制 VNet 外部客户端的访问。

通过托管专用终结点的 VNet 中的客户端解析 Web PubSub 资源 sample DNS 的资源记录类似于以下示例:

名称 类型
sample.webpubsub.azure.com CNAME sample.privatelink.webpubsub.azure.com
sample.privatelink.webpubsub.azure.com A 10.1.1.5

此方法使用相同的连接字符串,为托管专用终结点的 VNet 上的客户端和 VNet 外部的客户端提供访问 Web PubSub 的权限。

如果在网络上使用自定义 DNS 服务器,客户端必须能够将 Web PubSub 服务资源终结点的完全限定的域名 (FQDN) 解析为专用终结点 IP 地址。 应配置 DNS 服务器以将专用链接子域委托到 VNet 的专用 DNS 区域,或者使用专用终结点 IP 地址为 sample.privatelink.webpubsub.azure.com 配置 A 记录。

提示

如果使用自定义或本地 DNS 服务器,应将 DNS 服务器配置为将 privatelink 子域中的 Web PubSub 资源名称解析为专用终结点 IP 地址。 为此,可以将 privatelink 子域委托给 VNet 的专用 DNS 区域,或在 DNS 服务器上配置 DNS 区域,然后添加 DNS A 记录。

建议将 privatelink.webpubsub.azure.com 用作 Web PubSub 资源中专用终结点的 DNS 区域名称。

有关配置自己的 DNS 服务器以支持专用终结点的详细信息,请参阅以下文章:

创建专用终结点

以下部分介绍如何创建专用终结点和 Web PubSub 的新实例,以及如何为现有 Web PubSub 实例创建专用终结点。

在 Web PubSub 的新实例中创建专用终结点

  1. 在 Azure 门户中,创建 Azure Web PubSub 的新实例。 在“网络”选项卡上,对于“连接方法”,选择“专用终结点”

    显示创建 Web PubSub 资源时“网络”选项卡的屏幕截图。

  2. 选择 添加 。 选择或输入订阅、资源组名称、Azure 区域,以及新专用终结点的名称。 选择要使用的虚拟网络和子网。

  3. 选择“查看 + 创建”。

为现有 Web PubSub 资源创建专用终结点

  1. 在 Azure 门户中,转到 Web PubSub 资源。

  2. 在“设置”下的左侧菜单中,选择“专用终结点连接”

  3. 选择专用终结点

  4. 选择或输入新专用终结点的订阅、资源组、资源名称和区域的值。

  5. 选择目标 Web PubSub 资源。

  6. 选择目标虚拟网络。

  7. 选择“查看 + 创建”。

定价

有关定价详细信息,请参阅 Azure 专用链接定价

已知问题

请记住以下有关在 Web PubSub 中使用专用终结点的已知问题。

免费层约束

使用免费层创建的 Azure Web PubSub 实例无法与专用终结点集成。

针对专用终结点所在 VNet 中的客户端的访问约束

VNet 中具有现有专用终结点的客户端在访问具有专用终结点的其他 Web PubSub 实例时会受到约束。 例如,VNet N1 具有 Web PubSub 实例 W1 的专用终结点。 如果 Web PubSub 实例 W2 在 VNet N2 中具有专用终结点,则 VNet N1 中的客户端还必须使用专用终结点访问 Web PubSub 实例 W2。

如果 Web PubSub 实例 W2 没有任何专用终结点,则 VNet N1 中的客户端无需使用专用终结点即可访问该帐户中的 Web PubSub 资源。 此约束因 Web PubSub 实例 W2 创建专用终结点时 DNS 发生了更改而导致。