Skip to content

Group Usage Finder - Is This Group Used Anywhere?

The question it answers: Where is each group used - Conditional Access, licensing, Intune, access packages, roles - before it is deleted?

Before deleting a group you need to know whether anything depends on it. This scan finds every place the directory, Conditional Access, licensing, Intune and entitlement management reference each group - and lists the groups referenced nowhere as deletion candidates. Use the table filter to look up one group.

Where in the appEntra ID › Identity Governance & Lifecycle › Group Usage Finder
WorkloadEntra ID
KindFindings list · dashboard tile
DataA scan: it runs only when someone presses Run scan (or calls the API’s scan action) and can take minutes. The last result is kept until the next scan.
LicenceNo extra licence needed.
Report id (API and MCP)entra.governance.group-usage
ColumnKeyType
SeveritySeverityStatus
Group typeCategoryText
GroupSubjectLink
CheckSettingText
Used byValueText
FindingFindingText
DetailDetailText
DateWhenDate
ReferencesNumberNumber

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: No extra licence needed.

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

PermissionAPIWhat it allowsNote
Group.Read.AllMicrosoft GraphRead all groups
Policy.Read.AllMicrosoft GraphRead your organization’s policies
Application.Read.AllMicrosoft GraphRead all applications
DeviceManagementConfiguration.Read.AllMicrosoft GraphRead Microsoft Intune device configuration and policies
DeviceManagementApps.Read.AllMicrosoft GraphRead Microsoft Intune apps
EntitlementManagement.Read.AllMicrosoft GraphRead all entitlement management resourcesoptional
Data sources it reads
  • GET /v1.0/groups
  • GET /v1.0/identity/conditionalAccess/policies
  • GET /v1.0/groups/{id}/appRoleAssignments ($batch)
  • GET /v1.0/deviceManagement/deviceConfigurations|deviceCompliancePolicies?$expand=assignments
  • GET /v1.0/deviceAppManagement/mobileApps?$expand=assignments
  • GET /beta/deviceManagement/configurationPolicies?$expand=assignments
  • GET .../entitlementManagement/catalogs/{id}/resources
GET /ir-api/v1/reports/entra.governance.group-usage?size=100
POST /ir-api/v1/reports/entra.governance.group-usage/scan

An AI assistant reads it with the MCP tool get_report and the id entra.governance.group-usage. The client needs the Run scan grant for Entra ID. See Using the API.