Power BI直连模式:如何配置报表用户凭据传递至SQL数据源及所需特殊设置?
Power BI DirectQuery模式下SQL Server用户凭据传递配置及Kerberos要求
一、凭据传递配置步骤
1. Power BI Desktop 本地配置
- 打开报表,进入数据连接设置:点击「主页」→「转换数据」→「数据源设置」
- 选中目标SQL Server数据源,点击「编辑权限」
- 在权限窗口中选择「使用当前用户的凭据」,确认后刷新数据,此时Desktop会以当前Windows登录用户身份访问SQL Server
2. Power BI Service 云端配置
- 必须使用标准模式本地数据网关(个人网关不支持用户身份传递)
- 网关端配置:
- 打开网关管理器,添加SQL Server数据源,填写服务器FQDN和数据库名
- 凭据类型选「Windows」,勾选「使用Kerberos单点登录通过此数据源」
- Service端配置:
- 进入对应工作区的「数据集设置」,在「网关连接」关联已配置的标准网关
- 在「数据源凭据」中选择「使用单点登录(SSO)通过网关连接到数据源」
- 提前确保报表用户的Windows账号在SQL Server中拥有对应的数据库访问权限
二、Kerberos相关要求
- 要实现用户身份从Power BI用户→网关→SQL Server的链式传递,必须配置Kerberos约束委派,没有其他替代方案
- 具体配置要点:
- 在Active Directory中,找到网关服务器的计算机账户,开启「信任此计算机以委派指定服务」,添加SQL Server的服务主体名称(SPN),格式为
MSSQLSvc/<SQL服务器FQDN>:<端口>(默认1433端口可省略) - 确保SQL Server服务运行的域账户已注册对应的SPN,否则会出现「无法生成SSPI上下文」的错误
- 在Active Directory中,找到网关服务器的计算机账户,开启「信任此计算机以委派指定服务」,添加SQL Server的服务主体名称(SPN),格式为
- 如果不配置Kerberos,只能使用固定凭据(比如SQL登录账户或网关服务账户)访问SQL Server,无法实现用户身份的动态传递
内容的提问来源于stack exchange,提问作者variable
相关产品推荐
相关产品推荐

