Authentication Policies
CONFIG365 deploys and manages Entra ID Authentication Method Policies via the Graph API — ensuring every tenant has the right MFA methods enabled, scoped correctly, and configured to resist phishing from day one.
How It Works
Authentication method policies are deployed via the deployAuthenticationPolicies pipeline toggle.
Each method is defined in a JSON file and the pipeline calls the Authentication Methods Policy Graph endpoint to apply the configuration idempotently.
Each method can be scoped to all users, specific groups, or excluded groups — independent of other methods.
Use {{GROUP:name}} placeholders in method targets. CONFIG365 resolves them at deploy time — no hardcoded GUIDs.
Running the pipeline multiple times is safe. The script compares current state and only applies changes when needed.
{
"id": "fido2",
"state": "enabled",
"includeTargets": [
{
"targetType": "group",
"id": "{{GROUP:Baseline – Modern Workplace Users}}",
"isRegistrationRequired": false
}
],
"fido2": {
"isAttestationEnforced": true,
"isSelfServiceRegistrationAllowed": true,
"keyRestrictions": {
"isEnforced": false
}
}
} Method Reference
Default state in the CONFIG365 baseline. All defaults can be overridden per-tenant.
FIDO2 Security Keys
Enabled by default Phish-ResistantThe strongest available MFA method. FIDO2-certified hardware keys (YubiKey, etc.) provide phish-resistant authentication that cannot be intercepted by proxy attacks. Passkeys are supported where the tenant has the preview enabled.
- • Enabled for all users
- • Self-service registration via My Security Info
- • Attestation enforced (only certified hardware)
- • Key restrictions configurable per-tenant
Temporary Access Pass (TAP)
Enabled by defaultA time-limited passcode issued by an admin. Used to bootstrap passwordless onboarding, recover locked accounts, or onboard new users without sharing passwords.
- • One-time or multi-use, configurable per admin
- • Minimum lifetime: 10 minutes, Maximum: 8 hours
- • Issued via Entra ID portal or Graph API
- • Required for passwordless onboarding workflows
Microsoft Authenticator
Enabled by defaultPush notification MFA with number matching. Passwordless phone sign-in is enabled where supported. Number matching prevents MFA fatigue attacks by requiring the user to enter a code displayed on the login screen.
- • Number matching enforced (prevents MFA fatigue)
- • Additional context shown in push (app name, location)
- • Passwordless phone sign-in enabled
- • Android and iOS supported
SMS / Voice Call
Disabled by defaultSMS and voice call OTP are disabled by default due to SIM-swapping and SS7 interception risks. Can be enabled per-tenant for legacy application compatibility where stronger methods are not feasible.
- • Disabled tenant-wide in baseline
- • Enableable per-tenant via pipeline parameter
- • Not recommended for production environments
- • Weaker than app-based or hardware methods
Software OATH Tokens
Enabled by defaultTOTP-based authenticator apps (Google Authenticator, Authy, etc.) using 6-digit time-based codes. Acceptable for non-sensitive workloads. Less secure than FIDO2 or Authenticator push but widely compatible.
- • Standard 30-second TOTP codes
- • Compatible with any OATH-TOTP app
- • Self-service registration via My Security Info
- • Acceptable as a fallback method
Certificate-Based Authentication
Configured per-tenant Phish-ResistantX.509 certificate-based authentication for scenarios requiring phish-resistant access from devices where FIDO2 is not practical. Typically used for smart card authentication in regulated environments.
- • Requires PKI infrastructure (on-premises or cloud)
- • Satisfies phish-resistant MFA requirement
- • Configured per-tenant based on client infrastructure
- • Can be used with Conditional Access filters