Skip to content

Custom Roles & Administrative Units

The question it answers: Which custom roles carry sensitive permissions, and which administrative units have no scoped admins?

Custom roles and administrative units are where delegated admin rights hide from the usual ‘who is Global Admin’ checks. A custom role that can reset passwords or change credentials is a privileged role, whatever its name; an administrative unit without scoped admins does nothing.

Where in the appEntra ID › Identity Hygiene › Custom Roles & Admin Units
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 (custom roles, administrative units).
Report id (API and MCP)entra.directory-roles.scoped-administration
ColumnKeyType
NameDisplayNameText
KindCategoryText
FindingFindingStatus
AssignmentsValueText
Permissions / rolesDetailText
StateSecondaryText

Licence: Microsoft Entra ID P1 (custom roles, administrative units).

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

PermissionAPIWhat it allowsNote
RoleManagement.Read.DirectoryMicrosoft GraphRead all directory RBAC settings
AdministrativeUnit.Read.AllMicrosoft GraphRead all administrative units
Data sources it reads
  • GET /v1.0/roleManagement/directory/roleDefinitions?$filter=isBuiltIn eq false
  • GET /v1.0/directory/administrativeUnits
  • GET /v1.0/roleManagement/directory/roleAssignments
GET /ir-api/v1/reports/entra.directory-roles.scoped-administration?size=100

An AI assistant reads it with the MCP tool get_report and the id entra.directory-roles.scoped-administration. The client needs the Read grant for Entra ID. See Using the API.