Skip to content

Phishing-resistant MFA for Admins

The question it answers: Which privileged roles in use are not required by Conditional Access to sign in with phishing-resistant MFA?

Push and SMS MFA can be phished with adversary-in-the-middle kits; passkeys, FIDO2 keys, Windows Hello and certificates cannot. Microsoft recommends requiring the built-in ‘Phishing-resistant MFA’ authentication strength for every privileged role. One row per privileged role that has members.

Where in the appEntra ID › Identity Hygiene › Phishing-resistant MFA for Admins
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 (Conditional Access, authentication strengths).
Report id (API and MCP)entra.security.admin-phishing-resistant-mfa
ColumnKeyType
RoleDisplayNameText
StatusCategoryStatus
MembersValueText
FindingFindingText
Held byDetailText
FilterKey (API)On when the page opens
Only roles without enforcementnot-enforcedYes

Licence: Microsoft Entra ID P1 (Conditional Access, authentication strengths).

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

PermissionAPIWhat it allowsNote
Policy.Read.AllMicrosoft GraphRead your organization’s policies
RoleManagement.Read.DirectoryMicrosoft GraphRead all directory RBAC settings
Data sources it reads
  • GET /v1.0/identity/conditionalAccess/policies
  • GET /v1.0/roleManagement/directory/roleAssignments
GET /ir-api/v1/reports/entra.security.admin-phishing-resistant-mfa?size=100
GET /ir-api/v1/reports/entra.security.admin-phishing-resistant-mfa?filter=not-enforced

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