什么是专用终结点?
专用终结点是使用虚拟网络中的专用 IP 地址的网络接口。 此网络接口以私密且安全的方式将你连接到由 Azure 专用链接提供支持的服务。 启用专用终结点可将服务引入虚拟网络中。
该服务可以是 Azure 服务,比如:
- Azure 存储
- Azure Cosmos DB
- Azure SQL 数据库
- 使用专用链接服务的专属服务。
专用终结点属性
专用终结点指定以下属性:
属性 | 说明 |
---|---|
名称 | 资源组中的唯一名称。 |
子网 | 要部署的子网,其中分配了专用 IP 地址。 有关子网要求,请参阅本文稍后的限制部分。 |
专用链接资源 | 要使用资源 ID 或别名连接的专用链接资源,其类型为可用类型列表中的类型。 将为发送到此资源的所有流量生成一个唯一的网络标识符。 |
目标子资源 | 要连接的子资源。 每个专用链接资源类型都提供多种选项,可根据偏好进行选择。 |
连接批准方法 | 自动或手动。 根据基于 Azure 角色的访问控制权限,可能会自动批准专用终结点。 如果要在没有基于 Azure 角色的权限的情况下连接到专用链接资源,可使用手动方法允许资源所有者批准连接。 |
请求消息 | 可为请求手动批准的连接指定消息。 此消息可用于标识特定的请求。 |
连接状态 | 一个只读属性,指定专用终结点是否处于活动状态。 只能使用处于已批准状态的专用终结点发送流量。 更多可用状态: |
创建专用终结点时,请考虑以下事项:
专用终结点在下述相同环境中的客户之间实现连接:
- 虚拟网络
- 区域对等互连的虚拟网络
- 全球对等互连的虚拟网络
- 使用 VPN 或 Express 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 API 管理 | Microsoft.ApiManagement/service | 网关 |
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 Database for PostgreSQL - 灵活服务器 | Microsoft.DBforPostgreSQL/flexibleServers | 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 Key Vault HSM(硬件安全模块) | Microsoft.Keyvault/managedHSMs | HSM |
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
手动请求:当你没有所需的权限并希望请求访问权限时,请使用此方法。 将启动审批工作流。 将会创建处于挂起状态的专用终结点和后续专用终结点连接。 专用链接资源所有者负责审批该连接。 获得批准后,专用终结点即可正常发送流量,如以下审批工作流图所示:
对于专用终结点连接,专用链接资源所有者可以:
- 查看所有专用终结点连接的详细信息。
- 批准专用终结点连接。 将允许相应的专用终结点向专用链接资源发送流量。
- 拒绝专用终结点连接。 相应的专用终结点将会更新以反映该状态。
- 删除任何状态的专用终结点连接。 相应的专用终结点将更新为断开连接状态,以反映该操作。 此时,专用终结点所有者只能删除该资源。
备注
只有处于“已批准”状态的专用终结点才能将流量发送到指定的专用链接资源。
使用别名进行连接
别名是当服务所有者在标准负载均衡器后面创建专用链接服务时,生成的唯一名字对象。 服务所有者可以脱机与服务的使用者共享此别名。
使用者可以使用资源 URI 或别名请求连接到专用链接服务。 若要使用别名进行连接,请使用手动连接审批方法创建专用终结点。 若要使用手动连接审批方法,请在专用终结点创建流期间将手动请求参数设置为 True。 有关详细信息,请参阅 New-AzPrivateEndpoint 和 az 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 安全筛选器时,以下服务可能需要打开所有目标端口:
- Azure Cosmos DB - 有关详细信息,请参阅服务端口范围。
UDR
限制 | 说明 |
---|---|
建议始终使用 SNAT。 | 由于专用终结点数据平面的可变性,建议对发往专用终结点的流量执行 SNAT,以确保采用返回流量。 |
后续步骤
有关专用终结点和专用链接的详细信息,请参阅什么是 Azure 专用链接?。
若要开始为 Web 应用创建专用终结点,请参阅快速入门:使用 Azure 门户创建专用终结点。