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

Azure KQL查询需求:识别用户管理操作的执行用户

解决Azure活动日志用户管理操作的用户识别问题

要正确识别执行用户管理操作的主体,核心是利用Azure日志中的专属字段关联用户/服务主体信息,同时整合租户、订阅维度。以下分场景给出可直接复用的KQL查询及排查方案:

场景1:Azure AD用户CRUD操作(创建/更新/删除Azure AD用户)

Azure AD用户的管理操作审计日志存储在AuditLogs表,通过InitiatedBy字段可直接获取执行用户的邮箱、ID信息:

AuditLogs
| where OperationName has_any ("Create user", "Update user", "Delete user")
| extend UserEmail = InitiatedBy.user.userPrincipalName,
         UserId = InitiatedBy.user.id,
         TenantId = TenantId
| project TimeGenerated,
          OperationName,
          UserEmail,
          UserId,
          TenantId,
          TargetResourceDisplayName, // 被操作的用户名称
          Result // 操作结果(成功/失败)
| sort by TimeGenerated desc

场景2:Azure资源级用户管理操作(如VM本地用户、RBAC权限用户)

这类操作记录在AzureActivity表,Caller字段是识别执行主体的关键:

AzureActivity
| where OperationName has_any ("Create", "Update", "Delete") 
  and (ResourceType has "users" or OperationName has_any ("Add user", "Remove user"))
| extend UserEmail = Caller,
         TenantId = TenantId,
         SubscriptionId = SubscriptionId,
         ResourceGroupName = ResourceGroupName
| project TimeGenerated,
          OperationName,
          UserEmail,
          TenantId,
          SubscriptionId,
          ResourceGroupName,
          ResourceId,
          ActivityStatus
| sort by TimeGenerated desc

常见问题排查

  • Caller显示应用ID而非邮箱:说明操作由服务主体执行,可关联AADServicePrincipals表获取服务主体名称:
AzureActivity
| where OperationName has_any ("Create", "Update", "Delete") and ResourceType has "users"
| extend CallerId = split(Caller, "@")[0]
| join kind=leftouter (
    AADServicePrincipals
    | project ServicePrincipalId = AppId, ServicePrincipalName = DisplayName
) on $left.CallerId == $right.ServicePrincipalId
| project TimeGenerated,
          OperationName,
          Executor = iif(Caller contains "@", Caller, ServicePrincipalName),
          TenantId,
          SubscriptionId,
          ResourceGroupName
| sort by TimeGenerated desc
  • 无用户信息返回:确认已启用Azure AD审计日志和Azure活动日志的采集,且日志已同步到目标Log Analytics工作区;同时检查执行查询的账号拥有Log Analytics工作区读取权限及Azure AD审计日志读取权限。

内容的提问来源于stack exchange,提问作者abeylisco

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:32:21