调整本地数据网关的通信设置

本文介绍与本地数据网关关联的几种通信设置。 需要调整这些设置才能支持数据源连接和输出目标访问。

启用出站 Azure 连接

网关依赖 Azure 中继进行云连接。 网关相应地建立与其关联的 Azure 区域的出站连接。

如果你注册了 Power BI 租户或 Office 365 租户,Azure 区域将默认为该服务的区域。 否则,你的 Azure 区域可能是离你最近的区域。

如果防火墙阻止出站连接,请配置防火墙,使其允许从网关到其关联 Azure 区域的出站连接。 需要更新网关服务器和/或客户代理服务器上的防火墙规则,以允许从网关服务器到以下终结点的出站流量。 如果防火墙不支持通配符,请使用 Azure IP 范围和服务标记中的 IP 地址。 请注意,它们需要每月保持同步。

端口

网关在以下出站端口上进行通信:TCP 443、5671、5672,以及 9350 到 9354。 网关不需要入站端口。

我们建议你允许“.servicebus.windows.net”域名系统 (DNS)。 有关如何使用完全限定域名 (FQDN) 而不是使用可能更改的 IP 地址来设置本地防火墙和/或代理的指导,请按照 Azure WCF 中继 DNS 支持中的步骤操作。

或者,你可以在防火墙中允许数据区域的 IP 地址。 使用下面列出的 JSON 文件,这些文件每周更新一次。

或者,你可以通过在网关应用中定期执行网络端口测试来获取所需端口的列表。

网关使用 FQDN 与 Azure 中继通信。 如果你强制网关通过 HTTPS 进行通信,它将完全只使用 FQDN,而不会使用 IP 地址进行通信。

注意

Azure 数据中心 IP 列表以无类别域际路由 (CIDR) 表示法显示 IP 地址。 这种表示法的一个示例是 10.0.0.0/24,它不表示从 10.0.0.0 到 10.0.0.24。 了解有关 CIDR 表示法的详细信息。

以下列表介绍了网关使用的 FQDN。 为使网关正常运行,需要这些终结点。

公有云域名 出站端口 说明
*.download.microsoft.com 80 用于下载安装程序。 网关应用也使用此域来检查版本和网关区域。
*.powerbi.com 443 用于标识相关的 Power BI 群集。
*.analysis.windows.net 443 用于标识相关的 Power BI 群集。
*.login.windows.net、login.live.com、aadcdn.msauth.net、login.microsoftonline.com、*.microsoftonline-p.com 443 用于对 Microsoft Entra ID 和 OAuth2 的网关应用进行身份验证。 请注意,在 Microsoft Entra ID 登录过程中可能需要其他 URL,这些 URL 对于租户是唯一的。
*.servicebus.windows.net 5671-5672 用于高级消息队列协议 (AMQP)。
*.servicebus.windows.net 443 和 9350-9354 通过 TCP 侦听 Azure 中继。 需要端口 443 来获取 Azure 访问控制令牌。
*.msftncsi.com 80 用于在 Power BI 服务无法到达网关时测试 Internet 连接。
*.dc.services.visualstudio.com 443 由 AppInsights 用来收集遥测数据。
*.frontend.clouddatahub.net 443 构造管道执行必需。

对于 GCCC、GCC High 和 DoD,网关使用以下 FQDN。

端口 GCC GCC High DoD
80 *.download.microsoft.com *.download.microsoft.com *.download.microsoft.com
443 *.powerbigov.us、*.powerbi.com *.high.powerbigov.us *.mil.powerbigov.us
443 *.analysis.usgovcloudapi.net *.high.analysis.usgovcloudapi.net *.mil.analysis.usgovcloudapi.net
443 *.login.windows.net、*.login.live.com、*.aadcdn.msauth.net 转到文档 转到文档
5671-5672 *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net
443 和 9350-9354 *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net *.servicebus.usgovcloudapi.net
443 *.core.usgovcloudapi.net *.core.usgovcloudapi.net *.core.usgovcloudapi.net
443 *.login.microsoftonline.com *.login.microsoftonline.us *.login.microsoftonline.us
443 *.msftncsi.com *.msftncsi.com *.msftncsi.com
443 *.microsoftonline-p.com *.microsoftonline-p.com *.microsoftonline-p.com
443 *.dc.applicationinsights.us *.dc.applicationinsights.us *.dc.applicationinsights.us

对于中国云 (Mooncake),网关使用以下 FQDN。

端口 中国云 (Mooncake)
80 *.download.microsoft.com
443 *.powerbi.cn
443 *.asazure.chinacloudapi.cn
443 *.login.chinacloudapi.cn
5671-5672 *.servicebus.chinacloudapi.cn
443 和 9350-9354 *.servicebus.chinacloudapi.cn
443 *.chinacloudapi.cn
443 login.partner.microsoftonline.cn
443 无 Mooncake 等效服务(不需要运行网关)仅用于在故障情况下检查网络
443 无 Mooncake 等效服务在 Microsoft Entra ID 登录期间使用。 有关 Microsoft Entra ID 终结点的详细信息,请转到检查 Azure 中的终结点
443 applicationinsights.azure.cn
433 clientconfig.passport.net
433 aadcdn.msftauth.cn
433 aadcdn.msauth.cn

注意

网关安装并注册后,Azure 中继只需要必需的端口和 IP 地址,如上表中的 servicebus.windows.net 相关内容所述。 你可以通过在网关应用中定期执行网络端口测试来获取所需端口的列表。 你还可以强制网关使用 HTTPS 进行通信

使用网关打开 Fabric 数据流 Gen1 和 Gen2 的端口

当任何基于混合的工作负荷(例如语义模型、Fabric 数据流等)包含连接到本地数据源(使用本地数据网关)和云数据源的查询时,整个查询将在本地数据网关的混合引擎上执行。 因此,必须打开终结点,以允许所有基于混合的工作负荷中的本地数据网关能够同时访问数据源和输出目标的云数据源。

特别适用于 Fabric 数据流 Gen1 和 Gen2,还必须打开以下终结点,以允许本地数据网关访问 Azure Data Lake 和 Fabric 暂存 Lakehouse 云数据源。

公有云域名 出站端口 说明
*.core.windows.net 443 由 Dataflow Gen1 用于将数据写入 Azure Data Lake。
*.dfs.fabric.microsoft.com 1433 数据流 Gen1 和 Gen2 用来连接到 OneLake 的终结点。 了解详细信息
*.datawarehouse.pbidedicated.windows.net 1433 数据流 Gen2 用于连接到过渡湖屋的旧终结点。 了解详细信息
*.datawarehouse.fabric.microsoft.com 1433 数据流 Gen2 用于连接到过渡湖屋的新终结点。 了解详细信息

注意

正在将 *.datawarehouse.pbidedicated.windows.net 替换为 *.datawarehouse.fabric.microsoft.com。 在此转换过程中,请确保两个终结点都已打开,从而保证 Dataflow Gen2 刷新。

网络端口测试

检查网关是否具有访问所有必需端口的权限:

  1. 在运行网关的计算机上,在 Windows 搜索中输入“网关”,然后选择本地数据网关应用

  2. 选择“诊断”。 在“网络端口测试”下,选择“启动新测试”

    如何启动新的网络端口测试。

网关运行网络端口测试时,它会从 Azure 中继检索端口和服务器的列表,然后尝试连接到所有端口和服务器。 如果再次出现“开始新测试”链接,则表示网络端口测试已完成

测试的摘要结果为“已完成(成功)”或“已完成(失败,请参见最后的测试结果)”。 如果测试成功,网关已连接到所需的所有端口。 如果测试失败,网络环境可能已阻止所需的端口和服务器。

注意

防火墙通常会间歇性地允许被阻止站点上的流量。 即使测试成功,你可能仍需要在防火墙上将该服务器列入允许列表。

若要查看最近完成的测试结果,请选择“打开最近完成的测试结果”链接。 测试结果在你的默认文本编辑器中打开。

测试结果将列出网关所需的所有服务器、端口和 IP 地址。 如果测试结果中有任何端口显示为“已关闭”(如以下屏幕截图所示),请确保网络环境未阻止这些连接。 可能需要与网络管理员联系,以打开所需端口。

记事本中显示的测试结果。

强制通过 HTTPS 与 Azure 中继通信

可使用 HTTPS 替代直接 TCP,强制网关与 Azure 中继通信。

注意

从 2019 年 6 月网关版本开始,根据中继的建议,新的安装项将默认为 HTTPS 而不是 TCP。 此默认行为不适用于更新安装。

你可以使用网关应用强制网关采用此行为。 在网关应用中,选择“网络”,然后打开 HTTPS 模式

设置 HTTPS 模式。

进行更改并选择“应用”后,网关 Windows 服务将自动重启,以使更改生效。 “应用”按钮仅在你进行更改时显示

若要从网关应用重启网关 Windows 服务,请转到重启网关

注意

如果网关无法使用 TCP 进行通信,它将自动使用 HTTPS。 网关应用中的选择始终反映当前协议值。

用于网关流量的 TLS 1.3

默认情况下,网关使用传输层安全 (TLS) 1.3 与 Power BI 服务进行通信。 若要确保所有网关流量使用 TLS 1.3,你可能需要在运行网关服务的计算机上添加或修改以下注册表项。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001

注意

添加或修改这些注册表项会将更改应用于所有 .NET 应用程序。 若要了解影响其他应用程序的 TLS 的注册表更改,请转到传输层安全性 (TLS) 注册表设置

服务标记

服务标记代表给定 Azure 服务中的一组 IP 地址前缀。 Microsoft 会管理服务标记包含的地址前缀,并在地址更改时自动更新服务标记,从而尽量减少频繁更新网络安全规则所需的复杂操作。 数据网关依赖于以下服务标记:

  • PowerBI
  • ServiceBus
  • AzureActiveDirectory
  • AzureCloud

此本地数据网关使用 Azure 中继进行一些通信。 但是,Azure 中继服务没有服务标记。 虽然对于 Azure 中继而言,ServiceBus 服务标记不是必需的,但对于服务队列和主题功能,这些服务标记仍然是必需的。

AzureCloud 服务标记代表所有全球 Azure 数据中心 IP 地址。 由于 Azure 中继服务构建在 Azure 计算基础之上,因此 Azure 中继公共 IP 是 AzureCloud IP 的子集。 详细信息:Azure 服务标记概述

后续步骤