The Account Wasn't an Administrator — Until PIM Activated the Role
The account looked ordinary.
No permanent Global Administrator assignment.
No standing privileged role.
Nothing in the current role list explained the administrative action.
But the audit trail showed something the current-state view could not.
For a limited window, the account had been privileged.
Microsoft Entra Privileged Identity Management had activated the role.
Agent Foskett now had two timelines to reconstruct:
When did the privilege exist — and what happened while it did?

Privilege Can Be Temporary
A current role assignment is a snapshot. PIM investigations require the analyst to reconstruct the historical privilege window and correlate it with the actions performed during that window.
The current role list looked clean
The first check seemed reassuring: the account was not a permanent administrator.
But that only described the account now.
Agent Foskett asked whether the account had been eligible for the role and whether Microsoft Entra PIM had activated that privilege at the time of the change.
Current privilege and historical privilege are different evidence.
PIM changes the investigation question
That means an analyst investigating a historical administrative action cannot rely only on today's active role assignments.
The investigation needs to establish the lifecycle of the elevation.
Find the PIM activity in the audit trail
AuditLogs can be used to explore role-management activity. Agent Foskett started broadly rather than depending on a single hard-coded operation name.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
AuditLogs
| where TimeGenerated > ago(30d)
| where Category has "Role"
or OperationName has_any (
"role",
"eligible",
"activation")
| project TimeGenerated,
Category,
OperationName,
Result,
InitiatedBy,
TargetResources,
CorrelationId
| order by TimeGenerated descThe activation event became the anchor
Agent Foskett inspected the event details to identify the target identity, role, initiator and available activation context. Exact operation names and fields can differ with the event and log representation, so the raw audit record mattered.
The key finding was temporal:
the account's privilege had a beginning.
That timestamp became the anchor for everything that followed.
Search specifically for the identity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
let User = "alex@contoso.com";
AuditLogs
| where TimeGenerated > ago(90d)
| where tostring(TargetResources) has User
or tostring(InitiatedBy) has User
| where Category has "Role"
or OperationName has_any (
"role",
"eligible",
"activation")
| project TimeGenerated,
OperationName,
Result,
InitiatedBy,
TargetResources,
CorrelationId
| order by TimeGenerated ascActivation is not automatically suspicious
Agent Foskett checked the available context against the organisation's expected process: the user, requested role, timing, approval or justification requirements where configured, and the work that was supposed to occur.
The investigation was not “Why did PIM work?” It was “Did this activation make sense?”
Now define the privilege window
Agent Foskett recorded the activation time and the end of the elevation based on the available PIM and audit evidence. That created a window in which administrative actions deserved closer scrutiny.
Instead of asking whether the account had ever performed privileged activity, the question became much more precise:
What changed between elevation and expiry?
Correlate administrative actions inside the window
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
let User = "alex@contoso.com";
let PrivilegeStart = datetime(2026-09-28 09:02:00);
let PrivilegeEnd = datetime(2026-09-28 09:47:00);
AuditLogs
| where TimeGenerated between
(PrivilegeStart .. PrivilegeEnd)
| where tostring(InitiatedBy) has User
| project TimeGenerated,
Category,
OperationName,
Result,
InitiatedBy,
TargetResources,
CorrelationId
| order by TimeGenerated ascThe timeline changed the meaning of the action
But explanation is not exoneration.
Agent Foskett still had to determine whether the elevation and the subsequent action were expected, approved and consistent with the user's work.
Check the sign-in context too
Agent Foskett therefore correlated the privilege window with Microsoft Entra sign-in evidence where available: IP address, location context, device information, authentication details, Conditional Access results and other surrounding sign-ins.
A perfectly valid PIM activation from an abnormal session can change the incident entirely.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
let User = "alex@contoso.com";
let PrivilegeStart = datetime(2026-09-28 09:02:00);
SigninLogs
| where TimeGenerated between
(PrivilegeStart - 30m .. PrivilegeStart + 60m)
| where UserPrincipalName =~ User
| project TimeGenerated,
IPAddress,
AppDisplayName,
ResultType,
ConditionalAccessStatus,
DeviceDetail,
LocationDetails
| order by TimeGenerated ascWhat Agent Foskett checked
What the evidence can and cannot prove
Likewise, an administrative action inside the privilege window does not by itself prove that PIM caused the action or that the same human controlled every relevant session.
Audit events, sign-in telemetry, PIM configuration and business context must be correlated.
Exact operation names, fields and available details can vary, so analysts should inspect the audit records present in their own tenant rather than relying on one universal string.
Temporary privilege still leaves a permanent investigative trail.
The lesson
That statement was true.
It was also incomplete.
At the time of the administrative action, PIM had temporarily elevated the identity.
Agent Foskett reconstructed the activation, defined the privilege window, examined the actions performed inside it and checked the session context surrounding the elevation.
A current role assignment tells you who is privileged now. An investigation must determine who was privileged then.
Related investigations
Final thought
Do not stop at the current role list.
Reconstruct eligibility, activation, expiry, administrative activity and sign-in context as one timeline.
Follow the evidence. Build the timeline.
The Logs Already Knew! 🔎

