管理专用终结点的网络策略

默认情况下,虚拟网络中的子网禁用网络策略。 若要使用网络策略(如用户定义的路由和网络安全组支持),必须为子网启用网络策略支持。 此设置仅适用于子网中的专用终结点,并影响子网中的所有专用终结点。 对于子网中的其他资源,将根据网络安全组的安全规则控制访问。

可以仅为网络安全组启用网络策略,也可以仅为用户定义的路由启用网络策略或同时为两者启用网络策略。

如果为用户定义的路由启用网络安全策略,则可以使用等于或大于虚拟网络地址空间前缀长度的自定义地址前缀长度(子网掩码),以使专用终结点传播的 /32 默认路由失效。 如果希望确保专用终结点连接请求通过防火墙或虚拟设备,则此功能非常有用。 否则,/32 默认路由根据最长前缀匹配算法将流量直接发送到专用终结点。

重要

要使专用终结点路由失效,用户定义的路由的前缀大小必须等于或小于预置专用终结点的虚拟网络地址空间。 例如,用户定义的路由默认路由 (0.0.0.0/0) 不会使专用终结点路由失效,因为它涵盖的范围比专用终结点的地址空间更广。 最长前缀匹配规则将为更具体的地址前缀提供更高的优先级。 此外,请确保在托管专用终结点的子网中启用网络策略。

使用以下步骤可以启用或禁用专用终结点的网络策略:

  • Azure PowerShell
  • Azure CLI
  • Azure 资源管理器模板(ARM 模板)

以下示例介绍如何为名为 myVNet 的虚拟网络启用和禁用 PrivateEndpointNetworkPolicies,且 10.1.0.0/24default 子网托管在名为 myResourceGroup 的资源组中。

启用网络策略

使用 Get-AzVirtualNetworkSet-AzVirtualNetworkSubnetConfigSet-AzVirtualNetwork 启用策略。

$net = @{
    Name = 'myVNet'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

$sub = @{
    Name = 'default'
    VirtualNetwork = $vnet
    AddressPrefix = '10.1.0.0/24'
    PrivateEndpointNetworkPoliciesFlag = 'Enabled'  # Can be either 'Disabled', 'NetworkSecurityGroupEnabled', 'RouteTableEnabled', or 'Enabled'
}
Set-AzVirtualNetworkSubnetConfig @sub

$vnet | Set-AzVirtualNetwork

禁用网络策略

使用 Get-AzVirtualNetworkSet-AzVirtualNetworkSet-AzVirtualNetworkSubnetConfig 禁用策略。

$net = @{
    Name = 'myVNet'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

$sub = @{
    Name = 'default'
    VirtualNetwork = $vnet
    AddressPrefix = '10.1.0.0/24'
    PrivateEndpointNetworkPoliciesFlag = 'Disabled'
}
Set-AzVirtualNetworkSubnetConfig @sub

$vnet | Set-AzVirtualNetwork

重要

在网络策略功能、网络安全组和用户定义的路由方面,专用终结点存在限制。 有关详细信息,请参阅限制

后续步骤