PowerBI 服务器列表
PowerBI servers list
我在 Postgresql 数据库中有一个事实 table,我想用 PowerBI Professional 构建 PowerBI 分析。
如果我让 Postgresql 接受来自所有 Internet IP 地址的连接,它可以工作但不安全。我想限制对 Power BI 服务器的访问。
如何识别 PowerBI 传入流量?是否有设置防火墙的最佳做法?
您不应打开任何来自 Internet 的连接。是的,您可以获得所有 Azure IP 地址的列表,但这并不仅限于 Power BI,而且每年更新几次列表是一个手动过程。更好的解决方案是安装 Power BI Gateway in your network, which will allow connecting from Power BI Service to your server on-premise.
就我而言,我更喜欢偶尔使用 Microsoft 官方列表中的白名单更新我的 pg_hba.conf。生产文件被新文件覆盖。该脚本替换注释行
#PowerBI
在包含新列表的模板 pg_hba.conf 文件中
有了新名单
import requests
whiteListUrl = "https://download.microsoft.com/download/7/1/D/71D86715-5596-4529-9B13-DA13A5DE5B63/ServiceTags_Public_20210524.json"
modelFile = "/path/to/template/pg_hba.conf"
outputFileName = "/path/to/production/pg_hba.conf"
userName = "power_bi"
response = requests.get(whiteListUrl)
whiteLists = response.json()
for group in whiteLists["values"]:
if group["name"]!='PowerBI':
continue
text_file = open(modelFile, "r").read()
whiteList = ""
for address in group["properties"]["addressPrefixes"]:
whiteList += "host all {} {} md5\n".format(userName, address)
text_file = text_file.replace("#PowerBI", whiteList)
textfile = open(outputFileName, "w")
a = textfile.write(text_file)
textfile.close()
我在 Postgresql 数据库中有一个事实 table,我想用 PowerBI Professional 构建 PowerBI 分析。 如果我让 Postgresql 接受来自所有 Internet IP 地址的连接,它可以工作但不安全。我想限制对 Power BI 服务器的访问。 如何识别 PowerBI 传入流量?是否有设置防火墙的最佳做法?
您不应打开任何来自 Internet 的连接。是的,您可以获得所有 Azure IP 地址的列表,但这并不仅限于 Power BI,而且每年更新几次列表是一个手动过程。更好的解决方案是安装 Power BI Gateway in your network, which will allow connecting from Power BI Service to your server on-premise.
就我而言,我更喜欢偶尔使用 Microsoft 官方列表中的白名单更新我的 pg_hba.conf。生产文件被新文件覆盖。该脚本替换注释行
#PowerBI
在包含新列表的模板 pg_hba.conf 文件中
有了新名单
import requests
whiteListUrl = "https://download.microsoft.com/download/7/1/D/71D86715-5596-4529-9B13-DA13A5DE5B63/ServiceTags_Public_20210524.json"
modelFile = "/path/to/template/pg_hba.conf"
outputFileName = "/path/to/production/pg_hba.conf"
userName = "power_bi"
response = requests.get(whiteListUrl)
whiteLists = response.json()
for group in whiteLists["values"]:
if group["name"]!='PowerBI':
continue
text_file = open(modelFile, "r").read()
whiteList = ""
for address in group["properties"]["addressPrefixes"]:
whiteList += "host all {} {} md5\n".format(userName, address)
text_file = text_file.replace("#PowerBI", whiteList)
textfile = open(outputFileName, "w")
a = textfile.write(text_file)
textfile.close()