本文介绍与本地数据网关关联的几种通信设置。 另外还介绍了如何调整这些设置。
启用出站 Azure 连接
网关依赖 Azure 服务总线进行云连接。 网关相应地建立与其关联的 Azure 区域的出站连接。
如果你注册了 Power BI 租户或 Office 365 租户,Azure 区域将默认为该服务的区域。 否则,你的 Azure 区域可能是离你最近的区域。
如果防火墙阻止出站连接,请配置防火墙,使其允许从网关到其关联 Azure 区域的出站连接。
网关在以下出站端口上进行通信:TCP 443、5671、5672,以及 9350 到 9354。 网关不需要入站端口。
我们建议你允许“.servicebus.windows.net”域名系统 (DNS)。 有关如何使用完全限定域名 (FQDN) 而不是使用可能更改的 IP 地址来设置本地防火墙和/或代理的指导,请按照
Azure WCF 中继 DNS 支持
中的步骤操作。
或者,你可以在防火墙中允许数据区域的 IP 地址。 使用下面列出的 JSON 文件,这些文件每周更新一次。
US Gov
或者,你可以通过在网关应用中定期执行
网络端口测试
来获取所需端口的列表。
网关使用 FQDN 与服务总线通信。 如果你强制网关通过 HTTPS 进行通信,它将完全只使用 FQDN,而不会使用 IP 地址进行通信。
Azure 数据中心 IP 列表以无类别域际路由 (CIDR) 表示法显示 IP 地址。 这种表示法的一个示例是 10.0.0.0/24,它不表示从 10.0.0.0 到 10.0.0.24。 了解有关
CIDR 表示法
的详细信息。
以下列表介绍了网关使用的 FQDN。
公有云域名
*.login.windows.net、login.live.com 和 aadcdn.msauth.net
用于对 Azure Active Directory (Azure AD) 和 OAuth2 的网关应用进行身份验证。
*.servicebus.windows.net
5671-5672
用于高级消息队列协议 (AMQP)。
*.servicebus.windows.net
443 和 9350-9354
通过 TCP 侦听服务总线中继。 需要端口 443 来获取 Azure 访问控制令牌。
*.frontend.clouddatahub.net
已弃用,不是必需的。 此域也将从公共文档中删除。
*.core.windows.net
由数据流用于将数据写入 Azure Data Lake。
login.microsoftonline.com
用于对 Azure AD 和 OAuth2 的网关应用进行身份验证。
*.msftncsi.com
用于在 Power BI 服务无法到达网关时测试 Internet 连接。
*.microsoftonline-p.com
用于对 Azure AD 和 OAuth2 的网关应用进行身份验证。
*.dc.services.visualstudio.com
由 AppInsights 用来收集遥测数据。
对于 GCCC、GCC High 和 DoD,网关使用以下 FQDN。
GCC High
*.analysis.usgovcloudapi.net
*.high.analysis.usgovcloudapi.net
*.mil.analysis.usgovcloudapi.net
*.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
*.core.usgovcloudapi.net
*.core.usgovcloudapi.net
*.core.usgovcloudapi.net
*.login.microsoftonline.com
*.login.microsoftonline.us
*.login.microsoftonline.us
*.msftncsi.com
*.msftncsi.com
*.msftncsi.com
*.microsoftonline-p.com
*.microsoftonline-p.com
*.microsoftonline-p.com
*.dc.applicationinsights.us
*.dc.applicationinsights.us
*.dc.applicationinsights.us
对于中国云 (Mooncake),网关使用以下 FQDN。
中国云 (Mooncake)
网关安装并注册后,仅所需的端口和 IP 地址是服务总线所需的端口和 IP 地址,如上表中针对 servicebus.windows.net 所述。 你可以通过在网关应用中定期执行
网络端口测试
来获取所需端口的列表。 你还可以强制网关
使用 HTTPS 进行通信
。
网络端口测试
检查网关是否具有访问所有必需端口的权限:
在运行网关的计算机上,在 Windows 搜索中输入“网关”,然后选择本地数据网关应用。
选择“诊断”。 在“网络端口测试”下,选择“启动新测试”。
网关运行网络端口测试时,它将从服务总线检索端口和服务器的列表,然后尝试连接到所有端口和服务器。 如果再次出现“开始新测试”链接,则表示网络端口测试已完成。
测试的摘要结果为“已完成(成功)”或“已完成(失败,请参见最后的测试结果)”。 如果测试成功,网关已连接到所需的所有端口。 如果测试失败,网络环境可能已阻止所需的端口和服务器。
防火墙通常会间歇性地允许被阻止站点上的流量。 即使测试成功,你可能仍需要在防火墙上将该服务器列入允许列表。
若要查看最近完成的测试结果,请选择“打开最近完成的测试结果”链接。 测试结果在你的默认文本编辑器中打开。
测试结果将列出网关所需的所有服务器、端口和 IP 地址。 如果测试结果中有任何端口显示为“已关闭”(如以下屏幕截图所示),请确保网络环境未阻止这些连接。 可能需要与网络管理员联系,以打开所需端口。
强制与 Azure 服务总线进行 HTTPS 通信
可以使用 HTTPS 替代直接 TCP,以强制网关与服务总线通信。
从 2019 年 6 月网关版本开始,根据服务总线的建议,新安装将默认为 HTTPS 而不是 TCP。 此默认行为不适用于更新安装。
你可以使用
网关应用
强制网关采用此行为。 在网关应用中,选择“网络”,然后打开 HTTPS 模式。
进行更改并选择“应用”后,网关 Windows 服务将自动重启,以使更改生效。 “应用”按钮仅在你进行更改时显示。
若要从网关应用重启网关 Windows 服务,请参阅
重启网关
。
如果网关无法使用 TCP 进行通信,它将自动使用 HTTPS。 网关应用中的选择始终反映当前协议值。
用于网关流量的 TLS 1.2
默认情况下,网关使用传输层安全 (TLS) 1.2 与 Power BI 服务进行通信。 若要确保所有网关流量使用 TLS 1.2,你可能需要在运行网关服务的计算机上添加或修改以下注册表项。
[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 中继服务没有服务标记。 ServiceBus 服务标记专门属于服务队列和主题功能,但不适用于 Azure 中继。
AzureCloud 服务标记代表所有全球 Azure 数据中心 IP 地址。 由于 Azure 中继服务构建在 Azure 计算基础之上,因此 Azure 中继公共 IP 是 AzureCloud IP 的子集。 详细信息:Azure 服务标记概述
配置网关日志文件