【发布时间】:2018-12-20 10:08:29
【问题描述】:
我有一个控制台应用程序,它使用 REST API 来获取数据集(然后向其中添加行)。当我提供自己的用户/密码凭据时,此方法有效。
该应用已获得以下委派权限:
Read and write all Datasets
View all Datasets
现在我已将该应用程序注册为 Web/API 应用程序,以便改用应用程序密钥/秘密。我可以获得一个令牌,但是当我进行相同的 REST 调用时,我得到 401 Unauthorized,仍然使用相同的权限。
所以我尝试在 Power BI 服务中为应用授予以下应用程序权限,因为文档说这些适用于守护程序应用程序:
Read and write all content in tenant
View all content in tenant
这些权限已由 Azure 管理员授予。
作为调试的一部分,我已经解码了这两个令牌。
应用密钥认证的令牌包含以下内容:
"roles": [
"Tenant.ReadWrite.All",
"Tenant.Read.All"
],
基于用户的身份验证令牌包含以下内容:
"scp": "Dataset.ReadWrite.All Workspace.ReadWrite.All",
我还考虑为应用/服务主体分配贡献者角色,但我不确定在哪个级别(订阅/资源组/资源)。
我错过了什么..?
【问题讨论】: