Skip to content

PIM Activation Patterns (30 days)

The question it answers: Who activated which privileged role in the last 30 days, how often and at what times?

Who activates which role, how often, when and why. A role activated almost every day is standing access in disguise - make it permanent with a narrower role, or question the need. Tier-0 roles activated at night or at weekends deserve a look, and one-word justifications defeat the purpose of asking.

Where in the appEntra ID › Identity Configuration › PIM Activation Patterns
WorkloadEntra ID
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceMicrosoft Entra ID P2.
Report id (API and MCP)entra.configuration.pim-activations
ColumnKeyType
SeveritySeverityStatus
RoleCategoryText
PersonSubjectLink
CheckSettingText
ActivationsValueText
FindingFindingText
JustificationsDetailText
Last activationWhenDate
ActivationsNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: Microsoft Entra ID P2.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
AuditLog.Read.AllMicrosoft GraphRead all audit log data
User.Read.AllMicrosoft GraphRead all users’ full profiles
Data sources it reads
  • GET /v1.0/auditLogs/directoryAudits?$filter=loggedByService eq 'PIM' and activityDisplayName eq 'Add member to role completed (PIM activation)'
GET /ir-api/v1/reports/entra.configuration.pim-activations?size=100

An AI assistant reads it with the MCP tool get_report and the id entra.configuration.pim-activations. The client needs the Read grant for Entra ID. See Using the API.