你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
虚拟网络服务终结点通过 Azure 主干网络通过优化路由提供与 Azure 服务的安全直接连接。 使用终结点可以保护关键的 Azure 服务资源,只允许在客户自己的虚拟网络中对其进行访问。 服务终结点允许虚拟网络中的专用 IP 地址访问 Azure 服务的终结点,而无需虚拟网络上的公共 IP 地址。
注意
Microsoft 建议使用 Azure 专用链接和专用终结点,以安全私密地访问 Azure 平台上托管的服务。 Azure 专用链接将网络接口部署到为 Azure 存储或 Azure SQL 等 Azure 服务选择的虚拟网络中。 有关详细信息,请参阅 Azure 专用链接和什么是专用终结点?。
服务终结点适用于以下 Azure 服务和区域。 括号中是 Microsoft.* 资源。 在为服务配置服务终结点时,请从子网端启用此资源:
通常可用
Azure 存储 (Microsoft.Storage):通常可用于所有 Azure 区域。
Azure 存储跨区域服务终结点 (Microsoft.Storage.Global):已在所有 Azure 区域中正式发布。
Azure SQL 数据库 (Microsoft.Sql):通常可用于所有 Azure 区域。
Azure Synapse Analytics ( Microsoft.Sql):通常适用于所有 Azure 区域中的专用 SQL 池(以前称为 SQL DW)。
Azure Database for MariaDB (Microsoft.Sql):在可以使用数据库服务的 Azure 区域中通常可用。
Azure Cosmos DB (Microsoft.AzureCosmosDB):已于所有 Azure 区域全面上市。
Azure Key Vault (Microsoft.KeyVault):在所有 Azure 区域正式发布。
Azure 服务总线 (Microsoft.ServiceBus):在所有 Azure 区域普遍可用。
Azure 事件中心 (Microsoft.EventHub):通常适用于所有 Azure 区域。
Azure 应用服务 (Microsoft.Web):通常可在应用服务可用的所有 Azure 区域中使用。
Azure 认知服务 (Microsoft.CognitiveServices):通常适用于提供 Azure AI 服务的所有 Azure 区域。
公共预览版
- Azure 容器注册表 (Microsoft.ContainerRegistry):在可使用 Azure 容器注册表的有限 Azure 区域中提供了预览版。
有关最新通知,请查看 Azure 虚拟网络更新页。
主要优点
服务终结点提供以下优势:
改进了 Azure 服务资源的安全性:虚拟网络专用地址空间可能会重叠。 不能使用重叠空格来唯一标识源自虚拟网络的流量。 服务终结点通过将虚拟网络标识扩展到服务来保护虚拟网络中的 Azure 服务资源。 在虚拟网络中启用服务终结点后,可以添加虚拟网络规则,以在虚拟网络中保护 Azure 服务资源。 添加规则可以完全消除通过公共 Internet 对资源进行访问的可能性,并仅允许来自自己虚拟网络的流量,从而提高了安全性。
来自虚拟网络的 Azure 服务流量的最佳路由:目前,虚拟网络中强制 Internet 流量发往本地和/或虚拟设备的任何路由也会强制 Azure 服务流量采用与 Internet 流量相同的路由。 服务终结点为 Azure 流量提供最佳路由。
终结点始终会从您的虚拟网络直接承载服务流量,并将其传输到 Microsoft Azure 主干网络上的服务。 将流量保留在 Azure 主干网络上可以通过强制隧道持续审核和监视来自虚拟网络的出站 Internet 流量,而不会影响服务流量。 有关用户定义的路由和强制隧道的详细信息,请参阅 Azure 虚拟网络流量路由。
设置简单,管理开销更少:不再需要使用虚拟网络中的保留公共 IP 地址通过 IP 防火墙保护 Azure 资源。 没有设置服务终结点所需的网络地址转换(NAT)或网关设备。 您可以通过在子网上进行一次选择来配置服务终结点。 不会产生维护终结点的额外开销。
限制
该功能仅适用于使用 Azure 资源管理器部署模型部署的虚拟网络。
终结点在 Azure 虚拟网络中配置的子网上启用。 终结点不可用于从本地服务发往 Azure 服务的流量。 有关详细信息,请参阅保护从本地进行的 Azure 服务访问
对于 Azure SQL,服务终结点仅适用于虚拟网络区域中的 Azure 服务流量。
对于 Azure Data Lake Storage(ADLS) Gen 1,虚拟网络集成功能仅适用于同一区域中的虚拟网络。 ADLS Gen1 的虚拟网络集成使用虚拟网络与 Microsoft Entra ID 之间的虚拟网络服务终结点安全性在访问令牌中生成额外的安全声明。 然后,系统会使用这些声明对 Data Lake Storage Gen1 帐户进行虚拟网络身份验证,然后允许访问。 支持服务终结点的服务下列出的“Microsoft.AzureActiveDirectory”标记仅用于支持 ADLS Gen1 的服务终结点。 Microsoft Entra ID 不原生地支持服务终结点。 有关 Azure Data Lake Store Gen 1 虚拟网络集成的详细信息,请参阅 Azure Data Lake Storage Gen1 中的网络安全。
每个受支持的服务最多可将虚拟网络与 200 个不同的订阅和区域相关联,并配置了活动虚拟网络规则。
在虚拟网络中保护 Azure 服务
虚拟网络服务终结点为 Azure 服务提供虚拟网络的标识。 在虚拟网络中启用服务终结点后,可以添加虚拟网络规则,以在虚拟网络中保护 Azure 服务资源。
当前,来自虚拟网络的 Azure 服务流量使用公共 IP 地址作为源 IP 地址。 使用服务终结点时,服务流量会在通过虚拟网络访问 Azure 服务时改用虚拟网络专用地址作为源 IP 地址。 通过这种切换,无需 IP 防火墙中使用的保留公共 IP 地址即可访问服务。
注意
当使用服务终结点时,子网中虚拟机用于服务流量的源 IP 地址将从公共 IPv4 地址切换为专用 IPv4 地址。 使用 Azure 公共 IP 地址的现有 Azure 服务防火墙规则停止使用此交换机。 在设置服务终结点之前,请确保 Azure 服务防火墙规则允许这样的切换。 在配置服务终结点时,可能会遇到来自此子网的服务流量出现暂时性中断的情况。
保护从本地进行的 Azure 服务访问
默认情况下,无法从本地网络访问在虚拟网络中保护的 Azure 服务资源。 要允许来自本地的流量,还必须允许来自本地或 ExpressRoute 的公共(通常为 NAT)IP 地址。 可通过 Azure 服务资源的 IP 防火墙配置添加这些 IP 地址。
ExpressRoute:如果要从本地使用 ExpressRoute 进行 Microsoft 对等互连,请标识正在使用的 NAT IP 地址。 NAT IP 地址由客户或服务提供商提供。 若要允许访问服务资源,必须在资源 IP 防火墙设置中允许这些公共 IP 地址。 要详细了解适用于 ExpressRoute Microsoft 对等互连的 NAT,请参阅 ExpressRoute NAT 要求。
配置
在虚拟网络中的子网上配置服务终结点。 终结点可以处理该子网中运行的任何类型的计算实例。
可以针对子网中的所有受支持 Azure 服务(例如 Azure 存储或 Azure SQL 数据库)配置多个服务终结点。
对于 Azure SQL 数据库,虚拟网络必须与 Azure 服务资源位于同一区域。 对于所有其他服务,可在任何区域的虚拟网络中保护 Azure 服务资源。
配置终结点的虚拟网络可以与 Azure 服务资源位于相同订阅中,也可以位于不同订阅中。 有关设置终结点和保护 Azure 服务时所需的权限的详细信息,请参阅预配。
对于受支持的服务,可以使用服务终结点在虚拟网络中保护新的或现有的资源。
注意事项
服务终结点部署后,源 IP 地址从使用公共 IPv4 地址切换到从该子网与服务通信时使用其专用 IPv4 地址。 在进行这种切换的过程中,与服务建立的所有现有打开的 TCP 连接将会关闭。 针对子网的服务启用或禁用服务终结点时,请确保未运行任何关键任务。 此外,请确保在完成 IP 地址切换后,应用程序可以自动连接到 Azure 服务。
IP 地址切换只会影响你的虚拟网络的服务流量。 对进出分配给虚拟机的公共 IPv4 地址的任何其他流量没有任何影响。 对于 Azure 服务,如果现有的防火墙规则使用 Azure 公共 IP 地址,那么在切换到虚拟网络专用地址后,这些规则将会失效。
使用服务终结点时,Azure 服务的 DNS 条目会保持当前原样状态,并继续解析为分配给 Azure 服务的公共 IP 地址。
使用服务终结点的网络安全组 (NSG):
默认情况下,NSG 允许出站的 Internet 流量,也允许从虚拟网络到 Azure 服务的流量。 此流量继续按原有方式使用服务终结点。
如果你想要拒绝所有出站 Internet 流量并只允许发往特定 Azure 服务的流量,可以在 NSG 中使用服务标记来实现此目的。 可以在 NSG 规则中将受支持的 Azure 服务指定为目标,Azure 还会对每个标记下面的 IP 地址提供维护。 有关详细信息,请参阅 NSG 的 Azure 服务标记。
应用场景
对等互连或连接的虚拟网络或多个虚拟网络:要将 Azure 服务保护到虚拟网络中的多个子网或跨多个虚拟网络保护它,请在每个子网上独立启用服务终结点。 此过程将 Azure 服务资源保护到所有子网。
筛选从虚拟网络发往 Azure 服务的出站流量:若要检查或筛选从虚拟网络发送到 Azure 服务的流量,可在该虚拟网络中部署网络虚拟设备。 然后,可将服务终结点应用到部署了网络虚拟设备的子网,只在该子网中保护 Azure 服务资源。 如果你想要使用网络虚拟设备来进行筛选,将虚拟网络对 Azure 服务的访问限制到仅限于特定的 Azure 资源,此方案可能很有帮助。 有关详细信息,请阅读网络虚拟设备出口一文。
在直接部署到虚拟网络的服务中保护 Azure 资源:可将各种 Azure 服务直接部署到虚拟网络中的特定子网。 可以通过在托管服务子网上设置服务终结点,在托管服务子网中保护 Azure 服务资源。
来自 Azure 虚拟机的磁盘流量:Azure 存储的服务终结点路由更改不会影响托管和非托管磁盘的虚拟机磁盘流量。 此流量包括磁盘 IO,以及装载和卸载操作。 可以使用服务终结点和 Azure 存储网络规则 来将对页 Blob 的 REST 访问限制到特定网络。
日志记录和故障排除
为特定的服务配置服务终结点后,请通过以下方式验证服务终结点路由是否生效:
验证服务诊断中任何服务请求的源 IP 地址。 使用服务终结点的所有新请求会将请求的源 IP 地址显示为分配给从虚拟网络发出请求的客户端的虚拟网络专用地址。 如果不使用终结点,此地址是 Azure 公共 IP 地址。
查看子网中任何网络接口上的有效路由。 服务的路由:
显示更具体的默认路由用于寻址每个服务的前缀范围
nextHopType 为 VirtualNetworkServiceEndpoint
指示与任何强制隧道路由相比,一条与服务之间的更直接的连接已生效
注意
服务终结点路由会替代任何 BGP 或用户定义的路由 (UDR),以实现 Azure 服务的地址前缀匹配。 有关详细信息,请参阅使用有效路由进行故障排除。
预配
对虚拟网络具有写入访问权限的用户可以在虚拟网络上独立配置服务终结点。 若要保护虚拟网络的 Azure 服务资源,用户必须具有已添加子网的 Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action 权限。 默认情况下,内置服务管理员角色包括此权限,但可以通过创建自定义角色对其进行修改。
有关内置角色的详细信息,请参阅 Azure 内置角色。 有关将特定权限分配给自定义角色的详细信息,请参阅 Azure 自定义角色。
虚拟网络和 Azure 服务资源可以位于相同或不同的订阅中。 某些 Azure 服务(并非所有)(如 Azure 存储和 Azure Key Vault)也支持跨不同 Microsoft Entra ID 租户的服务终结点。 虚拟网络和 Azure 服务资源可以位于不同的Microsoft Entra ID 租户中。 请查看各个服务文档,了解更多详细信息。
定价和限制
使用服务终结点不会产生额外费用。 目前,Azure 服务(Azure 存储、Azure SQL 数据库等)的当前定价模型按原样应用。
虚拟网络中的服务终结点总数没有限制。
某些 Azure 服务(如 Azure 存储帐户)可能会对用于保护资源的子网数量实施限制。 有关详细信息,请参阅后续步骤部分中列出的各种服务的文档。
虚拟网络服务终结点策略
虚拟网络服务终结点策略允许筛选发到 Azure 服务的虚拟网络流量。 此筛选器仅允许在服务终结点上使用特定的 Azure 服务资源。 服务终结点策略针对发往 Azure 服务的虚拟网络流量提供精细的访问控制。 有关详细信息,请参阅虚拟网络服务终结点策略。
常见问题
有关常见问题的解答,请参阅虚拟网络服务终结点常见问题解答。