You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure REST API获取订阅、资源组及资源的创建与权限信息

Azure 订阅、资源组、资源的创建信息及授权用户查询方案

你提到的Subscriptions - Get接口仅返回订阅的基础属性,确实不包含创建时间、创建人、权限列表这类扩展信息,以下是可落地的查询方式,覆盖订阅、资源组、资源三个层级:

订阅(Subscription)维度

  • 创建时间、创建人:调用活动日志查询接口,筛选操作类型为Microsoft.Resources/subscriptions/write,查询时间范围覆盖订阅生命周期的最早时段,返回结果中最早一条成功操作记录的eventTimestamp字段就是订阅创建时间,caller字段就是创建操作的发起主体。注意活动日志默认仅保留90天,若订阅创建时间早于留存周期,需要提前将活动日志导出到Log Analytics工作区或存储账号长期留存,否则无法回溯历史数据。
  • 有访问权限的用户列表:调用RBAC角色分配列表接口,将查询作用域设置为目标订阅ID,即可拉取该订阅下所有角色分配记录,关联主体信息后就能整理出所有拥有访问权限的用户、服务主体、托管标识清单。

资源组(Resource Group)维度

  • 创建时间、创建人:直接调用Resource Groups - Get接口,返回体自带的createdTime字段就是资源组创建时间;创建人信息需要查询资源组作用域下的活动日志,筛选操作类型为Microsoft.Resources/subscriptions/resourcegroups/write,最早一条成功写入操作的caller字段即为创建人。
  • 有访问权限的用户列表:调用RBAC角色分配列表接口,查询作用域设置为目标资源组的资源ID即可获取资源组粒度的直接权限分配;如果需要统计所有生效权限(包含从订阅层级继承的权限),调用接口时添加$expand=principal参数即可拉取全量继承的角色分配记录。

资源(Resource)维度

  • 创建时间、创建人:调用Resources - Get By Id接口获取资源元数据,绝大多数资源类型的返回体会自带创建时间字段,不同资源提供商的字段名略有差异(比如存储账号为creationTime、虚拟机为timeCreated);创建人信息查询逻辑和上层一致,查询目标资源作用域下的活动日志,筛选对应资源类型的write操作,最早一条成功操作的caller字段即为资源创建主体。
  • 有访问权限的用户列表:调用RBAC角色分配列表接口,查询作用域设置为目标资源的完整资源ID,即可获取资源粒度的直接权限分配,同样可通过参数配置拉取从资源组、订阅层级继承的生效权限。

注意:调用上述接口需要对应作用域的读取权限、活动日志读取权限、角色分配读取权限,通常内置的「读者」+「监控读者」角色组合即可覆盖所有查询所需权限。如果没有提前留存超期活动日志,目前没有其他原生接口可以回溯历史创建人信息,建议日常配置活动日志导出规则做长期归档。

内容的提问来源于stack exchange,提问作者Luis Leon Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 04:51:37