首页 > 解决方案 > 使用服务主体和 azure api 请求用户的 Azure 订阅列表(用户有权访问)

问题描述

我需要使用服务主体接收用户订阅列表。

对于现在拥有令牌的用户来说,这很容易 - 对https://management.azure.com/subscriptions?api-version= <API_version>的 GET 调用

但是,如果我的服务主体在 Azure AD 中有足够的权限,那么 Azure AD 中的任何用户怎么可能呢?

提前致谢!

标签: azureapirest

解决方案


您不能使用服务主体通过此 REST API 获取用户的订阅(即用户可以在一个租户中访问的订阅)。

当您使用 REST APISubscriptions - List时,它将使请求取决于传递的访问令牌,如果您使用服务主体获取令牌,您只能获取服务主体可以访问的订阅,而不是用户。

在这种情况下,您在此处的选择是使用身份验证代码流隐式授权流Try it文档中的按钮使用它,不推荐)来获取令牌,然后使用令牌调用 REST API 以列出用户可以访问。


推荐阅读