如何在Microsoft Graph中获取用户创建者?Azure是否记录该信息?
Azure AD用户创建者信息查询指南
问题解答
Azure AD会记录用户的创建者信息,但该信息并未直接包含在user资源的属性中,需要通过审核日志来获取。
获取创建者信息的具体方法
你可以通过Microsoft Graph的审核日志端点查询目标用户的创建操作记录,从中提取创建者信息:
1. 精准筛选用户创建日志
使用auditLogs/directoryAudits端点,筛选activityDisplayName为Add user的操作,并匹配目标用户的ID:
GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=activityDisplayName eq 'Add user' and targetResources/any(t: t/id eq '{目标用户ID}')
返回结果中,initiatedBy.user字段下的id、displayName、userPrincipalName等属性,就是创建该用户的操作者信息。
2. 结合创建时间缩小查询范围
如果你已经通过user资源的createdDateTime属性获取到用户的创建时间,可以添加时间范围筛选来减少返回数据量,提升查询效率:
GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=activityDisplayName eq 'Add user' and targetResources/any(t: t/id eq '{目标用户ID}') and activityDateTime ge '{用户创建时间}' and activityDateTime le '{用户创建时间+1小时}'
关键注意事项
- 审核日志的保留时长取决于你的Azure AD订阅级别,默认保留90天,部分高级订阅支持延长保留期。
- 查询审核日志需要具备
AuditLog.Read.All权限。 - 若用户是通过批量导入、AD同步或系统服务自动创建,
initiatedBy可能返回服务主体信息而非普通用户账号。
内容的提问来源于stack exchange,提问作者Salvador Ruiz Guevara
相关产品推荐
相关产品推荐

