什么是专用终结点?

专用终结点是使用虚拟网络中的专用 IP 地址的网络接口。 此网络接口以私密且安全的方式将你连接到由 Azure 专用链接提供支持的服务。 启用专用终结点可将服务引入虚拟网络中。

该服务可以是 Azure 服务,比如:

  • Azure 存储
  • Azure Cosmos DB
  • Azure SQL 数据库
  • 使用专用链接服务的专属服务。

专用终结点属性

专用终结点指定以下属性:

属性 说明
名称 资源组中的唯一名称。
子网 要部署的子网,其中分配了专用 IP 地址。 有关子网要求,请参阅本文稍后的限制部分。
专用链接资源 要使用资源 ID 或别名连接的专用链接资源,其类型为可用类型列表中的类型。 将为发送到此资源的所有流量生成一个唯一的网络标识符。
目标子资源 要连接的子资源。 每个专用链接资源类型都提供多种选项,可根据偏好进行选择。
连接批准方法 自动或手动。 根据基于 Azure 角色的访问控制权限,可能会自动批准专用终结点。 如果要在没有基于 Azure 角色的权限的情况下连接到专用链接资源,可使用手动方法允许资源所有者批准连接。
请求消息 可为请求手动批准的连接指定消息。 此消息可用于标识特定的请求。
连接状态 一个只读属性,指定专用终结点是否处于活动状态。 只能使用处于已批准状态的专用终结点发送流量。 更多可用状态:
  • 已批准:连接已经过自动或手动批准,可供使用。
  • 待审批:连接是手动创建的,正在等待专用链接资源所有者批准。
  • 已拒绝:连接已被专用链接资源所有者拒绝。
  • 已断开连接:连接已被专用链接资源所有者删除。 专用终结点已变为参考性终结点,应将其删除以清理资源。
  • 创建专用终结点时,请考虑以下事项:

    • 专用终结点在下述相同环境中的客户之间实现连接:

      • 虚拟网络
      • 区域对等互连的虚拟网络
      • 全球对等互连的虚拟网络
      • 使用 VPNExpress Route 的本地环境
      • 由专用链接提供支持的服务
    • 网络连接只能由要连接到专用终结点的客户端启动。 服务提供商未提供路由配置,因此无法创建与服务客户的连接。 只能建立单向连接。

    • 一个只读网络接口将会为专用终结点的生命周期自动创建。 系统会为该接口分配子网中映射到专用链接资源的动态专用 IP 地址。 专用 IP 地址的值在专用终结点的整个生命周期中保持不变。

    • 专用终结点必须与虚拟网络部署在同一区域和订阅中。

    • 专用链接资源可部署在与虚拟网络和专用终结点所在区域不同的区域中。

    • 可以使用相同的专用链接资源创建多个专用终结点。 对于使用常见 DNS 服务器配置的单个网络,建议的做法是对指定的专用链接资源使用单个专用终结点。 使用这种做法可以避免出现重复条目或 DNS 解析冲突。

    • 可以在同一虚拟网络中的相同或不同子网上创建多个专用终结点。 在一个订阅中可以创建的专用终结点数量有限制。 有关详细信息,请参阅 Azure 限制

    • 包含专用链接资源的订阅也必须注册到 Micosoft.Network 资源提供程序。 包含专用终结点的订阅也必须注册到 Micosoft.Network 资源提供程序。 有关详细信息,请参阅 Azure 资源提供程序

    专用链接资源是指定的专用终结点的目标。 下表列出了支持专用终结点的可用资源:

    专用链接资源名称 资源类型 子资源
    应用程序网关 Microsoft.Network/applicationgateways 前端 IP 配置名称
    Azure AI 服务 Microsoft.CognitiveServices/accounts 客户
    Azure API for FHIR(快速医疗保健互操作性资源) Microsoft.HealthcareApis/services fhir
    Azure 应用配置 Microsoft.Appconfiguration/configurationStores configurationStores
    Azure 应用服务 Microsoft.Web/hostingEnvironments 宿主环境
    Azure 应用服务 Microsoft.Web/sites sites
    Azure 自动化 Microsoft.Automation/automationAccounts Webhook, DSCAndHybridWorker
    Azure 备份 Microsoft.RecoveryServices/vaults AzureBackup、AzureSiteRecovery
    Azure Batch Microsoft.Batch/batchAccounts batchAccount, nodeManagement
    用于 Redis 的 Azure 缓存 Microsoft.Cache/Redis redisCache
    Azure Cache for Redis Enterprise Microsoft.Cache/redisEnterprise redisEnterprise
    Azure AI 搜索 Microsoft.Search/searchServices searchService
    Azure 容器注册表 Microsoft.ContainerRegistry/registries 注册表
    Azure Cosmos DB Microsoft.AzureCosmosDB/databaseAccounts SQL、MongoDB、Cassandra、Gremlin、表
    Azure Cosmos DB for PostgreSQL Microsoft.DBforPostgreSQL/serverGroupsv2 协调器
    Azure 数据资源管理器 Microsoft.Kusto/clusters cluster
    Azure 数据工厂 Microsoft.DataFactory/factories dataFactory
    Azure Database for MariaDB Microsoft.DBforMariaDB/servers mariadbServer
    Azure Database for MySQL - 单一服务器 Microsoft.DBforMySQL/servers mysqlServer
    Azure Database for MySQL - 灵活服务器 Microsoft.DBforMySQL/flexibleServers mysqlServer
    Azure Database for PostgreSQL - 单一服务器 Microsoft.DBforPostgreSQL/servers postgresqlServer
    Azure Databricks Microsoft.Databricks/workspaces databricks_ui_api、browser_authentication
    Azure 设备预配服务 Microsoft.Devices/provisioningServices iotDps
    Azure 事件网格 Microsoft.EventGrid/domains
    Azure 事件网格 Microsoft.EventGrid/topics 主题
    Azure 事件中心 Microsoft.EventHub/namespaces 命名空间
    Azure 文件同步 Microsoft.StorageSync/storageSyncServices 文件同步服务
    Azure HDInsight Microsoft.HDInsight/clusters cluster
    Azure IoT 中心 Microsoft.Devices/IotHubs iotHub
    Azure Key Vault Microsoft.KeyVault/vaults 保管库
    Azure Kubernetes 服务 - Kubernetes API Microsoft.ContainerService/managedClusters 管理
    Azure 机器学习 Microsoft.MachineLearningServices/registries amlregistry
    Azure 机器学习 Microsoft.MachineLearningServices/workspaces amlworkspace
    Azure 托管磁盘 Microsoft.Compute/diskAccesses 托管磁盘
    Azure 媒体服务 Microsoft.Media/mediaservices keydelivery、liveevent、streamingendpoint
    Azure Migrate Microsoft.Migrate/assessmentProjects project
    Azure Monitor 专用链接范围 Microsoft.Insights/privatelinkscopes azuremonitor
    Azure 中继 Microsoft.Relay/namespaces 命名空间
    Azure 服务总线 Microsoft.ServiceBus/namespaces 命名空间
    Azure SignalR 服务 Microsoft.SignalRService/SignalR signalr
    Azure SignalR 服务 Microsoft.SignalRService/webPubSub webpubsub
    Azure SQL 数据库 Microsoft.Sql/servers SQL Server (sqlServer)
    Azure SQL 托管实例 Microsoft.Sql/managedInstances managedInstance
    Azure 存储 Microsoft.Storage/storageAccounts Blob(blob、blob_secondary)
    表(table、table_secondary)
    队列(queue、queue_secondary)
    文件(file、file_secondary)
    Web(web、web_secondary)
    Dfs(dfs、dfs_secondary)
    Azure Synapse Microsoft.Synapse/privateLinkHubs Web
    Azure Synapse Analytics Microsoft.Synapse/workspaces Sql、SqlOnDemand、Dev
    Azure 虚拟桌面 - 主机池 Microsoft.DesktopVirtualization/hostpools 连接
    Azure 虚拟桌面 - 工作区 Microsoft.DesktopVirtualization/workspaces feed
    global
    Microsoft Purview Microsoft.Purview/accounts account
    Microsoft Purview Microsoft.Purview/accounts 门户
    Power BI Microsoft.PowerBI/privateLinkServicesForPowerBI Power BI
    专用链接服务(你自己的服务) Microsoft.Network/privateLinkServices empty
    资源管理专用链接 Microsoft.Authorization/resourceManagementPrivateLinks ResourceManagement

    注意

    只能在常规用途 v2 (GPv2) 存储帐户上创建专用终结点。

    专用终结点的网络安全性

    使用专用终结点时,流量将受到保护,只能发送到专用链接资源。 平台会验证网络连接,仅允许那些抵达指定的专用链接资源的网络连接。 要访问同一 Azure 服务中的其他子资源,需要更多具有相应目标的专用终结点。 例如,对于 Azure 存储,需要单独的专用终结点来访问文件blob 子资源。

    专用终结点为 Azure 服务提供了可访问的专用 IP 地址,但不一定会限制公共网络对它的访问。 但是,所有其他 Azure 服务都需要额外的访问控制。 这些控制为资源提供了一个额外的网络安全层,提供保护以帮助防止访问与专用链接资源关联的 Azure 服务。

    专用终结点支持网络策略。 网络策略启用对网络安全组 (NSG)、用户定义的路由 (UDR) 和应用程序安全组 (ASG) 的支持。 有关为专用终结点启用网络策略的详细信息,请参阅管理专用终结点的网络策略

    可以使用以下连接审批方法连接到专用链接资源:

    • 自动批准:当你有特定专用链接资源的权限时,请使用此方法。 所需的权限基于采用以下格式的专用链接资源类型:

      Microsoft.<Provider>/<resource_type>/privateEndpointConnectionsApproval/action

    • 手动请求:当你没有所需的权限并希望请求访问权限时,请使用此方法。 将启动审批工作流。 将会创建处于挂起状态的专用终结点和后续专用终结点连接。 专用链接资源所有者负责审批该连接。 获得批准后,专用终结点即可正常发送流量,如以下审批工作流图所示:

      Diagram of the workflow approval process.

    对于专用终结点连接,专用链接资源所有者可以:

    • 查看所有专用终结点连接的详细信息。
    • 批准专用终结点连接。 将允许相应的专用终结点向专用链接资源发送流量。
    • 拒绝专用终结点连接。 相应的专用终结点将会更新以反映该状态。
    • 删除任何状态的专用终结点连接。 相应的专用终结点将更新为断开连接状态,以反映该操作。 此时,专用终结点所有者只能删除该资源。

    备注

    只有处于“已批准”状态的专用终结点才能将流量发送到指定的专用链接资源。

    使用别名进行连接

    别名是当服务所有者在标准负载均衡器后面创建专用链接服务时,生成的唯一名字对象。 服务所有者可以脱机与服务的使用者共享此别名。

    使用者可以使用资源 URI 或别名请求连接到专用链接服务。 若要使用别名进行连接,请使用手动连接审批方法创建专用终结点。 若要使用手动连接审批方法,请在专用终结点创建流期间将手动请求参数设置为 True。 有关详细信息,请参阅 New-AzPrivateEndpointaz network private-endpoint create

    备注

    如果在提供商端将使用者订阅加入允许列表,则系统可以自动批准此手动请求。 若要了解详细信息,请转到控制服务访问

    DNS 配置

    用于连接到专用链接资源的 DNS 设置非常重要。 现有 Azure 服务可能已具有在通过公共终结点进行连接时可使用的 DNS 配置。 为了通过专用终结点连接到同一服务,需要单独进行 DNS 设置,通常通过专用 DNS 区域进行配置。 使用完全限定的域名 (FQDN) 进行连接时,请确保 DNS 设置正确。 设置必须解析为专用终结点的专用 IP 地址。

    与专用终结点关联的网络接口包含配置 DNS 所需的信息。 信息包括专用链接资源的 FQDN 和专用 IP 地址。

    有关为专用终结点配置 DNS 的建议的完整详细信息,请参阅专用终结点 DNS 配置

    限制

    以下信息列出了使用专用终结点的已知限制:

    静态 IP 地址

    限制 说明
    目前不支持静态 IP 地址配置。 Azure Kubernetes 服务 (AKS)
    Azure 应用程序网关
    HD Insight
    恢复服务保管库
    第三方专用链接服务

    网络安全组

    限制 说明
    有效路由和安全规则不适用于专用终结点网络接口。 不会为 Azure 门户中的专用终结点 NIC 显示有效路由和安全规则。
    不支持 NSG 流日志。 NSG 流日志不适用于发往专用终结点的入站流量。
    应用程序安全组中的成员不能超过 50 个。 50 是可以绑定到每个相应 ASG 的 IP 配置数,而 ASG 则与专用终结点子网上的 NSG 耦合。 超过 50 个成员可能会发生连接失败。
    支持的目标端口范围最多为 250K 的因数。 支持的目标端口范围为 SourceAddressPrefixes、DestinationAddressPrefiques 和 DestinationPortRanges 的乘法。

    示例入站规则:
    1 source * 1 destination * 4K portRanges = 4K,有效
    10 sources * 10 destinations * 10 portRanges = 1 K,有效
    50 sources * 50 destinations * 50 portRanges = 125 K,有效
    50 sources * 50 destinations * 100 portRanges = 250 K,有效
    100 sources * 100 destinations * 100 portRanges = 1M,无效,NSG 的源/目标/端口过多。
    源端口筛选被解释为 * 对于发往专用终结点的流量,源端口筛选不会主动用作有效的流量筛选方案。
    在选定区域中不可用的功能。 当前在以下区域中不可用:
    所有中国区域

    NSG 更多注意事项

    • 拒绝专用终结点的出站流量不是有效的方案,因为服务提供商无法发起流量。

    • 在使用专用终结点和添加 NSG 安全筛选器时,以下服务可能需要打开所有目标端口:

    UDR

    限制 说明
    建议始终使用 SNAT。 由于专用终结点数据平面的可变性,建议对发往专用终结点的流量执行 SNAT,以确保采用返回流量。

    后续步骤