Connect-PowerBiServiceAccount使用服务主体连接Power BI失败如何解决?
报错原因
返回的invalid_client错误码和401状态码明确是Azure AD身份验证环节的客户端校验失败,和操作系统、PowerShell版本无关,常见触发原因如下:
- 身份参数错误:输入的应用ID(客户端ID)、租户ID、客户端密钥有误,比如密钥复制时携带多余空格、密钥已过期、ID输入错误
- AAD应用权限配置缺失:注册的AAD应用未添加Power BI相关的应用权限,或添加后未完成管理员同意授权
- 租户级Power BI权限未开启:Power BI租户未开放服务主体调用API的权限
- 本地Power BI模块版本过旧:旧版
MicrosoftPowerBIMgmt模块存在MSAL认证组件兼容缺陷
解决方法
- 校验身份参数正确性
逐一核对applicationId(AAD注册应用的客户端ID)、TenantId(租户实际ID)是否匹配,检查使用的客户端密钥是否在有效期内,复制密钥时移除前后多余的空字符,如密钥过期可到Azure AD应用注册页重新生成新密钥。 - 补全AAD应用权限
进入Azure AD应用注册页面,为当前应用添加Power BI Service的应用权限(不要选择委托权限),根据使用场景添加Report.ReadWrite.All、Workspace.ReadWrite.All等所需权限,添加完成后点击「授予管理员同意」完成权限激活。 - 开启租户服务主体权限
登录Power BI管理中心,进入「租户设置」板块,找到「允许服务主体使用Power BI API」配置项,开启该配置,且确保当前使用的服务主体在允许的访问范围内(可配置为整个组织或指定安全组)。 - 升级Power BI模块版本
先卸载旧版本模块,再安装最新稳定版,执行以下命令:Uninstall-Module MicrosoftPowerBIMgmt -AllVersions -Force Install-Module MicrosoftPowerBIMgmt -Scope CurrentUser -Force - 排查网络限制
确认当前设备的防火墙、代理未拦截Azure AD、Power BI服务的访问请求,可先通过浏览器正常访问Power BI服务页确认网络连通性正常。
内容的提问来源于stack exchange,提问作者StevenGrzybowski
相关产品推荐
相关产品推荐

