使用Microsoft.AnalysisServices连接Power BI时遇无权限调用Discover方法问题
解决Power BI PPU许可证下
User doesn't have permission to call the Discover method错误 问题背景
使用Microsoft.AnalysisServices包连接Power BI账户,原试用许可证下功能正常,更换为Premium Per User(PPU)许可证后,出现错误:User doesn't have permission to call the Discover method,但可正常连接其他租户的Power BI账户,核心怀疑是权限配置问题。
解决方案
以下是针对性的排查和解决步骤:
确认工作区与租户角色权限
确保用户在目标租户中拥有足够的权限:- 如果连接特定工作区,需是该工作区的管理员、成员或参与者(管理员权限优先级最高,可确保元数据访问权限);
- 如果连接租户根端点
myorg,需拥有Power BI管理员角色(在Microsoft 365 admin中心或Power BI admin门户分配),或被授予租户级元数据读取权限。
调整连接字符串目标端点
尝试连接具体工作区而非租户根端点,修改sourceConnection为:string sourceConnection = $"powerbi://api.powerbi.com/v1.0/myorg/YourTargetWorkspaceName";租户根端点的访问权限要求更高,先验证特定工作区的连接是否正常。
验证工作区容量配置
确认目标工作区已分配Premium容量(含PPU容量):
进入Power BI门户,查看工作区设置,确保其使用的是Premium类型容量——非Premium工作区不支持通过Microsoft.AnalysisServices进行元数据访问。检查租户XMLA访问设置
在Power BI admin门户的租户设置中,找到开发人员设置:- 确保“允许XMLA端点和分析工具连接到Power BI”处于启用状态;
- 确认该设置对PPU用户开放,未被权限组限制。
更新NuGet包版本
将Microsoft.AnalysisServicesNuGet包更新至最新稳定版,旧版本可能存在PPU许可证权限处理的兼容性问题。
内容的提问来源于stack exchange,提问作者Kotana Sai
相关产品推荐
相关产品推荐

