Audit Logs / Microsoft Entra ID AuditLogs category
Audit Logs: AzureRBACRoleManagementElevateAccess
| OperationName | Description | Sample | Rule |
|---|---|---|---|
| Assigns the caller to user access admin | A Global Administrator elevated access to User Access Administrator over Azure resources. | N | Y |
| User has elevated their access to User Access Administrator for their Azure Resources | A Global Administrator elevated access to manage all Azure subscriptions (root-scope RBAC). | N | Y |
| The role assignment of User Access Administrator has been removed from the user | Root-scope User Access Administrator (elevated access) role assignment was removed from the user. | N | N |
Assigns the caller to user access admin
#Description
A Global Administrator elevated access to User Access Administrator over Azure resources.
Detection Rules #
Full rule details for this event, including ATT&CK technique mappings and native queries →Sigma #
T1078
References #
User has elevated their access to User Access Administrator for their Azure Resources
#Description
A Global Administrator elevated access to manage all Azure subscriptions (root-scope RBAC).
Detection Rules #
Full rule details for this event, including ATT&CK technique mappings and native queries →Elastic #
T1098, T1098.003Kusto #
T1078
References #
The role assignment of User Access Administrator has been removed from the user
#Description
Records removal of the root-scope (/) User Access Administrator role assignment that a Microsoft Entra Global Administrator gained by elevating access to manage all Azure subscriptions and management groups. Removal ends that elevated access; the corresponding grant of this assignment is a notable privilege-escalation signal worth alerting on.
References #
Rules often query computed field names, not native AuditLogs columns #
Many Entra detection rules pivot on field names that are not columns in this table but KQL projections the rule author computes from two dynamic columns. Searching the field list for those names finds nothing; use the canonical paths instead.
InitiatingUserPrincipalName(and siblingInitiating*names) is not a column. Rules project it fromInitiatedBy, for exampleextend InitiatingUserPrincipalName = tostring(InitiatedBy.user.userPrincipalName). The native paths areInitiatedBy.user.userPrincipalName,InitiatedBy.user.displayName, andInitiatedBy.user.idfor user actors, andInitiatedBy.app.displayName/InitiatedBy.app.appIdfor application or service-principal actors.- What changed lives in
TargetResources, adynamicarray. Expand it before filtering on the change:AuditLogs | mv-expand TargetResources | extend props = TargetResources.modifiedProperties, then readprops[].displayName,props[].oldValue, andprops[].newValue.
Column shapes per the AuditLogs table reference and the Graph directoryAudit resource.