Skip to content

Unused Delegated Consents

The question it answers: Which apps hold delegated consent to users’ data but have not signed in on anyone’s behalf for 90 days?

Apps that users (or an admin, for everyone) granted access to their data, but that have not signed in on anyone’s behalf for 90 days. The permission is still live: revoking it removes the risk without affecting anyone.

Where in the appEntra ID › Identity Hygiene › Unused Delegated Consents
WorkloadEntra ID
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceMicrosoft Entra ID P1 (service principal sign-in activity).
Report id (API and MCP)entra.security.unused-consents
ColumnKeyType
AppDisplayNameLink
ConsentCategoryStatus
Granted byValueText
FindingFindingText
Last delegated sign-inDateDate
ScopesDetailText
App IDSecondaryText

Licence: Microsoft Entra ID P1 (service principal sign-in activity).

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

PermissionAPIWhat it allowsNote
Directory.Read.AllMicrosoft GraphRead directory data
Application.Read.AllMicrosoft GraphRead all applications
AuditLog.Read.AllMicrosoft GraphRead all audit log data
Data sources it reads
  • GET /v1.0/oauth2PermissionGrants
  • GET /v1.0/servicePrincipals
  • GET /beta/reports/servicePrincipalSignInActivities
GET /ir-api/v1/reports/entra.security.unused-consents?size=100

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