Skip to content

MFA & Authentication

Authentication Strengths

Authentication Strengths define a named set of allowed authentication method combinations. The two CA policies "Enforce 2FA for All Users" and "Enforce 2FA for Admins" reference custom strengths rather than the basic "Require MFA" grant — this prevents weaker methods (e.g., SMS OTP) from satisfying the MFA requirement.

Entra admin center → Entra ID → Authentication methods → Authentication strengths → + New authentication strength

Standard MFA (for all users)

Setting Value
Name Standard MFA
Description Approved MFA methods for standard users

Allowed method combinations:

Method combination Notes
Password + Microsoft Authenticator (any) Push notification with number matching
Windows Hello for Business PIN/biometric on enrolled Windows device
FIDO2 security key Hardware key / MS authenticator passkey
Temporary Access Pass (one-time) For onboarding / account recovery
Temporary Access Pass (multi-use) For onboarding / account recovery

Selecting combinations

When creating the strength, Entra shows a list of method combinations (e.g., "Password + Microsoft Authenticator"). Tick each row you want to allow. Untick SMS/Voice call, Hardware OATH, and Certificate-based auth to keep Standard MFA limited to the approved set above.

Admin MFA (for admin roles)

Setting Value
Name Admin MFA
Description Approved MFA methods for privileged admin accounts

Allowed method combinations — all of Standard MFA, plus:

Additional method combination Notes
Password + Software OATH token TOTP codes from authenticator apps or MSP Documentation systems.

Why Software OATH for admins only?

Software OATH (TOTP) is less phishing-resistant than passkeys or Windows Hello, but is commonly needed for environments that are accessed by MSP's, SOFTWARE OATH stored securely in documentation system.


Authentication Methods Policy

Configure authentication methods at: Entra admin center → Entra ID → Authentication methods → Policies

Method Recommendation Notes
Microsoft Authenticator ✅ Enable Push notifications + passwordless
FIDO2 security keys ✅ Enable Passkeys through Microsoft Authenticator, improve over Authenticator Pushes
Temporary Access Pass (TAP) ✅ Enable For onboarding and account recovery
SMS / Voice call ⚠️ Limit or disable Vulnerable to SIM swapping — disable if Authenticator is enforced
Email OTP ⚠️ Guests only Not recommended for members
Hardware OATH tokens Optional For users who can't use smartphones

Migrate from MFA legacy portal

Move from the legacy Per-user MFA portal to the Authentication Methods Policy. The legacy portal is deprecated — manage everything through the new Authentication methods blade.


Microsoft Authenticator Settings

Enable passwordless phone sign-in and number matching to prevent MFA fatigue attacks:

Navigate to: Authentication methods → Microsoft Authenticator → Configure

Setting Value
Allow use of Microsoft Authenticator OTP Yes
Require number matching Enabled
Show additional context in notifications Enabled (shows app name and location)
Passwordless phone sign-in Enabled (target a pilot group first)

Self-Service Password Reset (SSPR)

Entra admin center → Entra ID → Password reset

Setting Recommended value
SSPR enabled All users
Number of methods required to reset 2
Methods available Mobile app notification, Mobile app code, Email, Mobile phone
Registration — require on sign-in Yes
Registration expiry 180 days
Writeback Enabled (if hybrid — requires Entra Connect + P1)
Allow unlock without reset Yes

Per-User MFA Status (Legacy)

Avoid managing MFA via the legacy per-user portal when CA policies are in use — they conflict. Check there are no users in the Enforced state unless intentional:

Connect-MgGraph -Scopes "UserAuthenticationMethod.Read.All"

# List users without any MFA method registered
$users = Get-MgUser -All -Property Id,DisplayName,UserPrincipalName
foreach ($user in $users) {
    $methods = Get-MgUserAuthenticationMethod -UserId $user.Id
    if ($methods.Count -le 1) {  # Only "Password" method
        Write-Output "$($user.DisplayName) | $($user.UserPrincipalName) — NO MFA registered"
    }
}

Temporary Access Pass (TAP)

Use TAP for new user onboarding and for recovering locked-out accounts.

Entra admin center → Entra ID → Authentication methods → Temporary Access Pass

Setting Recommended value
Enable Yes — target a pilot/all users group
Minimum lifetime 1 hour
Maximum lifetime 8 hours
Default lifetime 1 hour
One-time use Yes (for onboarding)

Generating a TAP for a user

Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All"

$tapBody = @{
    startDateTime    = (Get-Date).ToUniversalTime().ToString("o")
    lifetimeInMinutes = 60
    isUsableOnce     = $true
}

New-MgUserAuthenticationTemporaryAccessPassMethod -UserId "user@domain.com" -BodyParameter $tapBody

Password Protection

Entra admin center → Entra ID → Authentication methods → Password protection

Setting Recommended value
Lockout threshold 10
Lockout duration (seconds) 60
Custom banned passwords Add company name, product names, common variants
Enable Password Protection on Windows Server AD Yes (hybrid environments)
Mode Enforced

Admin Account Best Practices

  • Dedicated cloud-only admin accounts (e.g., admin.jsmith@domain.com) — no email license, leave as the .onmicrosoft account
  • Admin accounts not used for day-to-day email/productivity tasks
  • All admin accounts have MFA registered (FIDO2 preferred)
  • Minimum 2, maximum 4 Global Administrators