azure - 使用Azure Resource Graph获取其他用户的资源

标签 azure azure-active-directory azure-rbac

我正在尝试使用应用 ID 查询用户拥有的所有资源。我当前的实现是获取我的应用程序有权访问的所有资源,然后查询每一项资源的 RBAC 以查看用户是否有权访问。对于我当前的用户使用 Azure Resource Graph 可以完成的事情来说,似乎有太多的要求。有没有办法使用 Azure 资源图,但指定我想要获取资源的用户(假设我的应用程序具有对租户中所有资源的读取访问权限)?

最佳答案

根据您的描述,您需要找到的是订阅中的角色分配,其资源类型为 Microsoft.Authorization/roleAssignments,该资源类型不包含在 Azure 资源图中。

您的选择是使用 REST API - Role Assignments - List ,使用 Azure AD 中用户的 ObjectId 进行筛选。要获取访问 token 以使用 AD App(您提到的 AppId)调用 REST API,您需要使用客户端凭据流程,请参阅此 link .

示例:

检查响应中的范围,它们是用户可以访问的资源。

GET https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?$filter=principalId eq '<object-id>'&api-version=2018-09-01-preview 

enter image description here

关于azure - 使用Azure Resource Graph获取其他用户的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60698301/

相关文章:

visual-studio - Visual Studio "Publish Preview"功能在后台运行什么命令?

sql - 如何根据 INPUT 和 OUTPUT 计算 Assets 的运行余额

Azure自定义角色: authorize role assignment for a specific set of roles

azure - 我在 azure 自动化帐户中没有看到运行方式帐户

Azure 默认读取器与内置监控读取器

c# - 我可以查询 Azure Web 作业队列吗?

mysql - 部署到 Azure 中以破折号命名的 MySql 数据库

azure - 代表当前登录到单独 Web 客户端的用户从 API 访问 MS Graph

azure - 是否可以为 Azure AD 中的用户或组分配多个角色?

azure - 获取 AzRoleAssignment : Scope '/subscriptions' should have even number of parts