Try in Splunk Security Cloud


The following analytic identifies the assignment of the Azure AD PIM role. Privileged Identity Management (PIM) is a service within Azure Azure AD that enables administrators to manage, control, and monitor access to sensitive resources. PIM provides time-based and approval-based role activation to mitigate the risks of excessive, unnecessary, or misused access permissions on resources. Once a user has been made eligible for an administrative role, she must activate this role assignment to perform the privileged actions. When a role is activated, Azure AD PIM temporarily adds active assignment for the role. While PIM can be leveraged as a powerful security control, it may also abused by adversaries to obtain privileged access. Security teams should monitor for the assignment and activation of PIM roles and validate their legitimacy.

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud

  • Last Updated: 2023-12-20
  • Author: Mauricio Velazco, Splunk
  • ID: 952e80d0-e343-439b-83f4-808c3e6fbf2e




ID Technique Tactic
T1098 Account Manipulation Persistence, Privilege Escalation
T1098.003 Additional Cloud Roles Persistence, Privilege Escalation
Kill Chain Phase
  • Installation
  • Exploitation
  • DE.CM
  • CIS 10
 `azure_monitor_aad` operationName="Add member to role completed (PIM activation)" 
| rename properties.* as * 
| rename initiatedBy.user.userPrincipalName as initiatedBy 
| stats count min(_time) as firstTime max(_time) as lastTime values(user) as user values(targetResources{}.displayName) as displayName by initiatedBy, result, operationName 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| `azure_ad_pim_role_assignment_activated_filter`


The SPL above uses the following Macros:

:information_source: azure_ad_pim_role_assignment_activated_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Required fields

List of fields required to use this analytic.

  • _time
  • properties
  • operationName
  • user
  • initiatedBy.user.userPrincipalName
  • result

How To Implement

You must install the latest version of Splunk Add-on for Microsoft Cloud Services from Splunkbase( You must be ingesting Azure Active Directory events into your Splunk environment. This analytic was written to be used with the azure:monitor:aad sourcetype leveraging the AuditLog log category.

Known False Positives

As part of legitimate administrative behavior, users may activate PIM roles. Filter as needed

Associated Analytic Story


Risk Score Impact Confidence Message
35.0 70 50 An Azure AD PIM role assignment was activated by $initiatedBy$ by $user$

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.


Test Dataset

Replay any dataset to Splunk Enterprise by using our tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 3