【问题标题】:Power BI REST API using a service principal - Error 401 unauthorized使用服务主体的 Power BI REST API - 错误 401 未经授权
【发布时间】:2021-03-22 11:25:58
【问题描述】:

最近我一直在尝试让 Power BI API 与服务主体身份验证一起使用。 this article 中提到的所有步骤都已完成:

  • 已注册 Azure AD 应用(已创建服务主体)
  • 创建了一个 AD 安全组,将应用添加到该组中
  • Power BI 管理员已在管理门户中启用服务主体访问权限
  • 服务主体和安全组被添加到工作区(并被授予管理员角色)

我能够使用 POST 方法为https://login.microsoftonline.com/common/oauth2/token 生成访问令牌(下面的屏幕截图)。

问题在于,无论何时将此令牌用于任何进一步的调用(我已经尝试过非管理员和管理员 API - 对于管理员 API,我只测试了支持的 APIS - 可以在this article 中看到,我看到了401 unauthorized error

所以,我的问题是:

我是否忽略了 Azure 中的安全设置?我们公司使用 MFA,但服务主体不能使用我在互联网/文档中找到的内容。还是生成的令牌不知何故无效?

【问题讨论】:

  • 您找到解决方案了吗?

标签: azure-active-directory powerbi rest


【解决方案1】:

根据您的描述,我认为您应该有用户登录,因为您使用的是 MFA。因此,您不应使用客户端凭据流,因为它经常在守护进程中使用,而无需用户交互。

因此,您应该使用auth code flow。使用此流程时,必须先在浏览器中登录用户并请求授权码,然后使用授权码兑换访问令牌。

【讨论】:

  • 我不认为 MFA 是这里的问题 - 因为服务主体根本不支持 MFA(至少根据其他一些问题,例如 here )。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 2019-06-28
  • 2022-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多