本文包含有关虚拟网络数据网关的常见问题解答 (FAQ) 的列表。
虚拟网络数据网关是否支持 Azure 政府云?
我们支持 GCC L4(得克萨斯州和弗吉尼亚州)和 L5 (DoD East)。 目前,GCC L2 不支持此功能。
删除 VNET 数据网关后,应如何管理 Azure 资源?
在删除网关至少三小时后,客户不应删除订阅级别 RP 分配,因为我们仍然需要清理资源。
为什么在使用数据流 Gen1 中的 OAuth2 凭据访问数据源时收到错误“InvalidConnectionCredentials”或“AccessUnauthorized”,即使凭据最近更新(中流令牌刷新问题)?
在数据流 Gen1 中使用 OAuth2 凭据时,网关不支持在访问令牌过期时自动刷新令牌。 令牌通常在刷新开始后 1 小时后过期,但也可能在不到 1 小时内过期,具体取决于数据源和租户策略。 数据流第 2 代、语义模型、数据管道能够刷新流中令牌,因此不应受到影响。
虚拟网络数据网关是否支持 Azure 空隙云?
我们支持 US Nat East/West 和 US Sec East/West 的空隙云。
如何保护从我的网络到 Power BI 连接的安全?
使用专用链接保护此连接安全。 详细信息:Power BI 专用链接文档
虚拟网络数据网关位于何处?
虚拟网络数据网关实际位于与 Azure 虚拟网络相同的区域中。 但是,所有虚拟网络数据网关的元数据(名称、详细信息、数据源、加密凭据等)都存储在租户的默认区域中。 当在 Power Platform 管理中心中选择租户的主区域时,可以管理所有虚拟网络数据网关。
虚拟网络数据网关是否支持条件访问策略?
是的。 可以使用虚拟网络数据网关,并且条件访问策略仍适用。
虚拟网络数据网关支持哪些数据源?
支持的数据服务的完整列表:
- 让 Power BI 可在支持的 Azure 数据服务中使用
- 让 Power Platform 数据流可在支持的数据源中使用
Power BI 中使用虚拟网络数据网关的许可要求有哪些?
虚拟网络数据网关是仅限高级的功能,仅在 Fabric(任何 SKU)和 Power BI Premium 容量(A4 SKU 或更高版本或任何 P SKU)中可用。
我的一些数据源使用服务终结点(部分使用专用终结点)连接到虚拟网络。 我能否使用虚拟网络数据网关连接到所有数据源?
是
为什么无法为虚拟网络中的数据源创建服务终结点?
有关虚拟网络上的限制(例如与区域相关的限制)、终结点和关联的 Azure 资源,请查看 Azure 虚拟网络文档。
如何为数据源创建专用终结点并将其关联到虚拟网络?
查看相应的 Azure 数据服务产品文档以检查是否支持专用终结点以及如何启用它们。
为什么无法使用 OAuth 身份验证创建虚拟网络数据网关与配置了专用终结点的 Azure 资源之间的连接?
如果在尝试使用 OAuth 身份验证创建虚拟网络数据网关与防火墙阻止公共 Internet 访问且配置了专用终结点的 Azure 资源之间的连接时遇到错误(例如 Authorization failed for Public API route
或 DM_GWPipeline_Client_OAuthTokenLoginFailedError
),则表明需要通过调用 Microsoft Entra ID 服务来显式创建服务终结点进行专用身份验证。
若要解决此问题,请转到用于虚拟网络数据网关的虚拟网络子网,并启用服务终结点 Microsoft.AzureActiveDirectory,如下所示。
如果我的数据源位于美国东部,而 Power BI 主区域位于美国东部 2,我是否可以使用此功能?
是,对于此功能,不依赖于 Power BI 主区域。 如果在存在虚拟网络的区域中启用了此功能,你将能够创建新的虚拟网络数据网关。
我能否选择创建虚拟网络数据网关的区域?
否。 虚拟网络数据网关实际位于与 Azure 虚拟网络相同的区域中。 目前,你也无法选择存储所有虚拟网络数据网关的元数据(名称、详细信息、数据源、加密凭据等)的位置。 这些数据将存储在你的租户的默认区域。
虚拟网络数据网关是否支持跨租户场景?
否。 必须在与 Power BI 租户相同的租户中创建虚拟网络数据网关。
如果我的租户在美国东部(美国),但 Power Platform 环境在欧洲,我是否可以使用此功能?
不能,虚拟网关目前只能在租户的主区域中使用。
为什么无法连接到数据源?
要检查的几个区域:
- 确保数据源已启动且正在运行。
- 请确保可以从虚拟网络访问数据源,特别是从创建虚拟网络数据网关时委派的子网。 例如,可以在子网中部署 VM 并检查是否可以连接到数据源。
- 根据你的情况,可能需要使用以下 Azure 网络安全组 (NSG):
- 在使用 OAuth 或服务主体身份验证连接到数据源时允许到 Microsoft Entra ID 终结点的出站流量。
- 在使用 HTTPS 连接到数据源时允许到 CA(证书颁发机构)的出站流量。
如何保护虚拟网络服务和你的虚拟网络之间的连接安全?
通过 HTTPS 和 TLS 1.2 实现新虚拟网络服务与你的虚拟网络之间的连接。
对于具有自动暂停的无服务器 SQL,是否有任何已知的连接问题?
对于具有自动暂停的无服务器 SQL,如果 SQL 处于暂停状态,第一个请求可能失败,但下一个请求将成功。
首次使用虚拟网关时或在一段非活动期间后是否有延迟?
首次使用时,设置虚拟网关大约需要 2 分钟。 同样,如果虚拟网络数据网关 30 分钟未使用,下次使用时可能会出现大约一分钟的延迟。
此功能在主权云中是否受支持?
不支持,公共预览版本仅支持商业云。
是否需要管理任何硬件才能使用 VNET 数据网关?
否。 VNET 数据网关提供完全托管的计算。 可以选择缩放每个群集中的节点数。
是否可以为同一 Azure 数据服务创建多个虚拟网络数据网关?
是
为什么无法删除委派给 Power Platform 的子网或虚拟网络?
检查是否有其他网关正在使用相同的虚拟网络和子网。 在移除使用此虚拟网络和子网的最后一个网关后,可能需要 48 到 72 小时才能删除。
委派的子网需要多大?
除了保留的 5 个 IP 之外,建议增加大约 5-7 个 IP,以便可以将更多虚拟网关添加到同一个虚拟网络和子网。
我是订阅所有者,但在尝试创建虚拟网络数据网关时遇到权限不足错误。
确保你在虚拟网络上显式处于具有 Microsoft.Network/virtualNetworks/subnets/join/action 权限的角色中,例如 Azure 网络参与者角色。 创建虚拟网络数据网关需要此权限。
访问 Azure 数据源时,使用虚拟网络数据网关时的所有数据是否都保留在 Microsoft 的主干网络上?
与本地数据网关相比,安全性如何? 是,通过虚拟网络数据网关的所有数据都保留在 Azure 主干上。 我们使用无法在虚拟网络和 Power BI 服务之间访问公共 Internet 的内部 Microsoft 隧道。 另一方面,本地数据网关会打开一个连接来使用 Azure 中继连接到 Power BI 服务。
哪些 Azure 组件需要位于同一区域?
考虑各种资源:订阅、Microsoft.PowerPlatform 资源提供程序、虚拟网络、子网和 Power BI 服务的主租户。 如果使用服务终结点,则虚拟网络和子网应与要连接到的数据位于同一区域。 如果使用专用终结点,则它们可能位于不同的区域。 数据网关配置位于 Power BI 主租户区域。
是否可以通过任何方法从一个虚拟网络的子网连接到另一个虚拟网络的数据源?
虚拟网关通常可以访问同一虚拟网络中的可访问源。 如果存在与第一个虚拟网络隔离的另一个虚拟网络,则另一个虚拟网关是必需的。
任何其他已知问题?
- 虚拟网络子网的 IP 范围不能与 10.0.1.x 重叠。
- 无法将名为
gatewaysubnet
的子网委派给 Power Platform 管理中心。 此限制是因为它是 Azure 网关子网功能的保留字。 - 不能更改创建虚拟网络数据网关的虚拟网络的区域、订阅或资源组。 当前不支持此场景。
- 如果需要一小时以上的 OAuth 刷新被取消并出现错误“连接凭据无效”或超时,问题可能是凭据已过期。
如果在 VNET 网关上达到 1,000 个数据源的最大限制,以及如何避免达到此限制,该怎么办?
每个 VNET 网关上的用户限制为 1,000 个数据源。 如果达到最大数据源数限制,请验证每个 VNET 网关的数据源数是否不超过 1000 的限制。 若要解决任何相关问题,可以从管理中心手动删除数据源,或者使用以下 PowerShell 脚本使用超出该限制的指定 VNET 网关批量删除所有数据源。 需要将文本“GatewayClusterID”替换为此脚本运行的特定 VNET 网关 ID。
## https://learn.microsoft.com/powershell/module/datagateway/?view=datagateway-ps
## PowerShell version of '7.0.0' to run
## required module "DataGateway" Install-Module -Name DataGateway and sign in the same user who exceeded the 1000 limit
Connect-DataGatewayServiceAccount
## get the gateway information per the sign in person
$datasources = Get-DataGatewayClusterDatasource -GatewayClusterId <GatewayClusterId>;
foreach ($datasource in $datasources)
{
$datasource
"datasource id={2}, datasourceType={3}, datasource connection details={4}" -f $datasource.Id, $datasource.DatasourceType, $datasource.ConnectionDetails
## conditional logic to determine if name matches set
## Remove-DataGatewayClusterDatasource -GatewayClusterId $gw.Id -GatewayClusterDatasourceId $datasource.Id
}