查询数据集时 Power BI REST API 请求错误 403

问题描述 投票:0回答:1

我想使用 Power BI REST API、应用程序到应用程序身份验证(服务主体)查询 Power BI 数据集。 向 Power BI 数据集发送请求时收到错误 403(禁止访问)

我有:

  1. Azure AD 应用程序已注册
  2. SP 具有 **Dataset.Read.All **委托权限
  3. SP 添加到 AAD 安全组
  4. 允许安全组使用Power BI API(在租户启用下设置)
  5. 安全组在 Power BI 服务工作区中具有管理员角色。 我能够成功生成访问令牌。 但随后使用 GET 或 POST 方法向 Power BI 数据集发送请求时收到错误 403(禁止访问),例如:
获取

https://api.powerbi.com/v1.0/myorg/groups/{{group_id}}/datasets 授权:不记名令牌

任何人都可以帮忙解决这个问题吗,这里缺少什么,谢谢。

access-token http-status-code-403 azure-service-principal powerbi-rest-api
1个回答
0
投票
就我而言,当我尝试使用

invalid 范围生成的令牌查询数据集时,出现

403 Forbidden 错误:

GET https://api.powerbi.com/v1.0/myorg/groups/{group_id}/datasets

回复:

enter image description here

要解决

错误,请确保通过将 scope 值传递为 https://analysis.windows.net/powerbi/api/.default

 来生成访问令牌

我创建了一个 AAD 安全组并向其中添加了

PowerBI App

 服务主体,如下所示:

enter image description here现在,我通过在管理门户中的以下选项下添加它来允许该组调用 Power BI API:

enter image description here确保授予对 Power Bi 工作区的

服务主体

安全组的访问权限:

enter image description here

注意,授予后需要等待

15-20

分钟
访问服务主体,因为会有延迟。

现在,我使用
客户端凭证

流通过 Postman 生成访问令牌,参数如下: POST https://login.microsoftonline.com/tenantId/oauth2/v2.0/token grant_type:client_credentials client_id: appId client_secret: secret scope: https://analysis.windows.net/powerbi/api/.default

回复:

enter image description here当我使用这个令牌来查询数据集时,我成功地得到了

response

,如下所示: GET https://api.powerbi.com/v1.0/myorg/groups/{group_id}/datasets

回复:

enter image description here

参考:

使用服务主体和应用程序密钥嵌入 Power BI 内容 - Power BI |微软

© www.soinside.com 2019 - 2024. All rights reserved.