Stale Administrators
The question it answers: Which accounts hold privileged roles but have not signed in for longer than the inactive-privileged threshold?
Accounts holding privileged roles that nobody has used for longer than the inactive-privileged threshold (Settings > Report thresholds). Unused standing admin rights are pure risk: remove the role, or make it PIM-eligible.
At a glance
Section titled “At a glance”| Where in the app | Entra ID › Identity Hygiene › Stale Administrators |
| Workload | Entra ID |
| Kind | Table |
| Data | Built from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once. |
| Licence | Microsoft Entra ID P1 (sign-in activity). |
| Report id (API and MCP) | entra.security.stale-admins |
Columns
Section titled “Columns”| Column | Key | Type |
|---|---|---|
| Account | DisplayName | Link |
| UPN | Secondary | Text |
| Status | Category | Status |
| Last sign-in | Date | Date |
| Privileged roles | Detail | Text |
| Account state | Value | Text |
What it needs
Section titled “What it needs”Licence: Microsoft Entra ID P1 (sign-in activity).
Application permissions on the IntensiveReports app registration (all permissions):
| Permission | API | What it allows | Note |
|---|---|---|---|
RoleManagement.Read.Directory | Microsoft Graph | Read all directory RBAC settings | |
User.Read.All | Microsoft Graph | Read all users’ full profiles | |
User-LifeCycleInfo.Read.All | Microsoft Graph | Read all users’ lifecycle information | |
AuditLog.Read.All | Microsoft Graph | Read all audit log data |
Data sources it reads
GET /v1.0/roleManagement/directory/roleAssignmentsGET /v1.0/users?$select=signInActivity
Through the API and MCP
Section titled “Through the API and MCP”GET /ir-api/v1/reports/entra.security.stale-admins?size=100An AI assistant reads it with the MCP tool get_report and the id entra.security.stale-admins. The client needs the Read grant for Entra ID. See Using the API.