非PBIRS安装用户访问时SSAS Tabular与PBIRS连接失败求助
解决方案
这是典型的双跳身份验证问题,即使配置了Kerberos,也可能存在细节遗漏或PBIRS身份传递设置错误,以下是针对性解决步骤:
1. 补全Kerberos配置细节
- 确保SSAS、PBIRS服务器同属一个AD域,两者的服务账户均为域账户
- 为PBIRS服务账户注册SPN:
setspn -S HTTP/[PBIRS服务器完整域名] [PBIRS服务账户名] setspn -S HTTP/[PBIRS服务器NetBIOS名] [PBIRS服务账户名] - 为SSAS服务账户注册SPN:
setspn -S MSOLAPSvc.3/[SSAS服务器完整域名] [SSAS服务账户名] setspn -S MSOLAPSvc.3/[SSAS服务器NetBIOS名] [SSAS服务账户名] - 用
setspn -X检查是否有重复SPN,如有重复需删除多余项 - 在AD用户和计算机管理中,给PBIRS服务账户配置委派权限:选择「信任此用户委派到指定服务」,添加SSAS的两个SPN(MSOLAPSvc.3开头的),避免过度授权
2. 修正PBIRS数据源身份验证设置
- 登录PBIRS门户,找到报表关联的数据源并编辑:
- 身份验证方式选「使用Windows身份验证(集成)」
- 勾选「使用查看报表的用户的凭据」(Kerberos配置正确后才能正常传递身份)
- 若临时用固定账户,需确保该账户是域账户,且在SSAS中被授予对应角色权限,同时AD中允许该账户委派到SSAS服务
3. 验证SSAS角色权限有效性
- 确认SSAS行级角色已添加目标域用户/组,权限设为「读取」
- 用PowerShell测试用户访问权限:
检查返回的用户名是否正确,同时验证行级筛选是否生效Invoke-ASCmd -Server "SSAS服务器完整域名" -Query "EVALUATE ROW(""当前用户"", USERNAME())" -Credential (Get-Credential)
4. 调整PBIRS服务配置文件
- 打开PBIRS安装目录下的
RSReportServer.config(默认路径:C:\Program Files\Microsoft Power BI Report Server\PBIRS\Reporting Services\ReportServer) - 找到
<Authentication>节点,确保<RSWindowsNegotiate>优先级高于<RSWindowsNTLM>,配置如下:<Authentication> <AuthenticationTypes> <RSWindowsNegotiate/> <RSWindowsNTLM/> </AuthenticationTypes> </Authentication> - 重启PBIRS服务使配置生效
5. 排查Kerberos身份验证故障
- 在PBIRS服务器执行
klist get HTTP/[PBIRS服务器完整域名],检查是否能获取有效Kerberos票据 - 在SSAS服务器执行
klist get MSOLAPSvc.3/[SSAS服务器完整域名],确认票据关联账户正确 - 启用Kerberos日志:在注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters中设置LogLevel为1,重启服务器后查看事件查看器的Kerberos日志定位具体错误
内容的提问来源于stack exchange,提问作者Kaher
相关产品推荐
相关产品推荐

