You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI Service 同数据源多数据集自定义凭证不生效问题咨询

解决方案:Power BI Service 同数据源多凭证独立配置方法

核心原因

Power BI Service 默认会按「SQL Server 地址+数据库名称」的唯一标识匹配本地网关的数据源,相同标识的所有数据集默认复用同一份网关凭证,和 Power BI Desktop 本地存储独立凭证的逻辑不同,才会出现低权限数据集拉取全量数据的问题。


方案1:网关多数据源独立绑定(适合少量权限等级场景)

操作步骤如下:

  • 进入 Power BI Service 「管理网关」页面,选中你正在使用的本地数据网关
  • 为同一个 SQL 数据库创建多个独立的网关数据源条目:
    • 所有条目的「服务器地址」「数据库名称」填写完全一致的内容
    • 每个条目单独命名、配置对应权限的凭证:比如命名为SQL_权限_全量用masterUser凭证,命名为SQL_权限_租户1用userOne凭证
    • 每个数据源的「访问权限」配置中,仅开放给对应权限的工作区管理员
  • 上传数据集后,进入数据集「设置」-「数据源凭据」页面,关闭自动匹配,手动选择对应权限的网关数据源条目绑定
  • 关闭该数据集设置中的「允许云服务与此数据源合并」选项,避免跨源匹配导致凭证串用

注意:配置完成后需要对数据集执行一次手动刷新,清空Service侧的缓存后再验证数据权限。


方案2:有效身份传递(适合SaaS多租户嵌入式场景,可扩展)

你提到的单租户嵌入式多工作区隔离场景更推荐该方案,无需为每个租户配置独立数据源条目:

  • 先配置本地数据网关、SQL Server 支持 Kerberos 约束委派,让网关可以将 Power BI 侧的用户身份传递到 SQL 端
  • 所有工作区的数据集统一使用服务主体的凭证连接 SQL Server,无需维护多套账号凭证
  • 数据集配置中开启 RLS 身份传递,SQL 侧 RLS 规则直接使用USERPRINCIPALNAME()函数匹配租户标识字段
  • 嵌入式生成报表访问 Token 时,为每个租户传入对应的唯一身份标识作为有效身份,SQL 侧会自动按 RLS 规则返回对应租户的行集,天然实现数据隔离

验证方法

配置完成后,进入对应数据集的「测试连接」页面验证,也可以直接在工作区创建测试表格,确认返回的行集数量和 Power BI Desktop 中一致即可。

内容的提问来源于stack exchange,提问作者daniel p

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:15:02