如何通过Graph API获取因AAD删除而移出组的用户?
问题分析与解决方案
为什么组Delta Link未返回成员移除结果
组的Delta Query默认仅追踪直接针对组或组成员的主动操作(比如手动添加/移除成员、修改组属性),当用户从AAD中被删除时,成员从组内自动移除属于系统触发的连锁变更,这类操作不会被组的Delta Query捕获,因此返回空结果。
获取关联组的用户移除记录方案
要找到因用户被删除而从组内移除的成员关联信息,可通过Azure AD审计日志API实现,具体步骤如下:
1. 查询组成员移除的审计事件
当用户被删除导致从组内移除时,AAD会生成Remove member from group类型的审计日志,其中包含被移除用户ID及对应的组ID。调用以下API获取相关事件:
GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=activityDisplayName eq 'Remove member from group'
返回结果的targetResources字段会包含两个资源项:一个是被移除的用户对象,一个是对应的组对象,可通过id字段关联两者。
2. 结合用户删除事件做关联验证
如果需要确认这些成员移除是因用户被删除导致的,可同时查询用户删除的审计事件,再通过用户ID关联组移除事件:
GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=activityDisplayName eq 'Delete user' or activityDisplayName eq 'Remove member from group'
用户删除事件的targetResources是被删用户,组移除事件的targetResources包含用户和组,通过用户ID即可匹配到对应的组。
3. 补充说明
directory/deletedItems/microsoft.graph.user仅能获取被删除的用户列表,无法直接关联组,必须结合审计日志才能建立用户与组的关联关系。- 审计日志默认保留90天,若需更长时间的记录,需配置Azure AD日志导出到存储账户或Log Analytics。
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

