【问题标题】:Using Azure Resource Graph to get other user's Resources使用 Azure Resource Graph 获取其他用户的资源
【发布时间】:2020-03-17 15:11:21
【问题描述】:

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

【问题讨论】:

    标签: azure azure-active-directory azure-rbac


    【解决方案1】:

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

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

    示例

    查看响应中的scope,它们是用户可以访问的资源。

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

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 2020-03-26
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      • 2022-01-13
      相关资源
      最近更新 更多