Entra Identity Authentication
Entra Identity Authentication
About authentication
e OVERVIEW
What is authentication?
What is passwordless?
p CONCEPT
g TUTORIAL
` DEPLOY
p CONCEPT
How Microsoft Entra multifactor authentication works
g TUTORIAL
` DEPLOY
p CONCEPT
b GET STARTED
c HOW-TO GUIDE
Take a look at our short video to learn more about these authentication components.
https://learn-video.azurefd.net/vod/player?id=5ee3cad5-3360-48da-b520-
1a0d96710a38&locale=en-
us&embedUrl=%2Fentra%2Fidentity%2Fauthentication%2Foverview-authentication
Password change - when a user knows their password but wants to change it to
something new.
Password reset - when a user can't sign in, such as when they forgot password,
and want to reset their password.
Account unlock - when a user can't sign in because their account is locked out and
want to unlock their account.
When a user updates or resets their password using self-service password reset, that
password can also be written back to an on-premises Active Directory environment.
Password writeback makes sure that a user can immediately use their updated
credentials with on-premises devices and applications.
If you only use a password to authenticate a user, it leaves an insecure vector for attack.
If the password is weak or has been exposed elsewhere, is it really the user signing in
with the username and password, or is it an attacker? When you require a second form
of authentication, security is increased as this additional factor isn't something that's
easy for an attacker to obtain or duplicate.
Users can register themselves for both self-service password reset and Microsoft Entra
multifactor authentication in one step to simplify the on-boarding experience.
Administrators can define what forms of secondary authentication can be used.
Microsoft Entra multifactor authentication can also be required when users perform a
self-service password reset to further secure that process.
Password protection
By default, Microsoft Entra ID blocks weak passwords such as Password1. A global
banned password list is automatically updated and enforced that includes known weak
passwords. If a Microsoft Entra user tries to set their password to one of these weak
passwords, they receive a notification to choose a more secure password.
To increase security, you can define custom password protection policies. These policies
can use filters to block any variation of a password containing a name such as Contoso
or a location like London, for example.
For hybrid security, you can integrate Microsoft Entra password protection with an on-
premises Active Directory environment. A component installed in the on-premises
environment receives the global banned password list and custom password protection
policies from Microsoft Entra ID, and domain controllers use them to process password
change events. This hybrid approach makes sure that no matter how or where a user
changes their credentials, you enforce the use of strong passwords.
Passwordless authentication
The end-goal for many environments is to remove the use of passwords as part of sign-
in events. Features like Azure password protection or Microsoft Entra multifactor
authentication help improve security, but a username and password remains a weak
form of authentication that can be exposed or brute-force attacked.
When you sign in with a passwordless method, credentials are provided by using
methods like biometrics with Windows Hello for Business, or a FIDO2 security key. These
authentication methods can't be easily duplicated by an attacker.
Next steps
To get started, see the tutorial for self-service password reset (SSPR) and Microsoft Entra
multifactor authentication.
To learn more about self-service password reset concepts, see How Microsoft Entra self-
service password reset works.
To learn more about multifactor authentication concepts, see How Microsoft Entra
multifactor authentication works.
Feedback
Was this page helpful? Yes No
Microsoft Entra self-service password reset (SSPR) gives users the ability to change or
reset their password, with no administrator or help desk involvement. If Microsoft Entra
ID locks a user's account or they forget their password, they can follow prompts to
unblock themselves and get back to work. This ability reduces help desk calls and loss of
productivity when a user can't sign in to their device or an application. We recommend
this video on How to enable and configure SSPR in Microsoft Entra ID . We also have a
video for IT administrators on resolving the six most common end-user error messages
with SSPR .
) Important
If your IT team hasn't enabled the ability to reset your own password, reach out to
your helpdesk for additional assistance.
) Important
Video tutorial
You can also follow along in a related video: How to enable and configure SSPR in
Microsoft Entra ID .
Prerequisites
To finish this tutorial, you need the following resources and privileges:
7 Note
Currently, you can only enable one Microsoft Entra group for SSPR using the
Microsoft Entra admin center. As part of a wider deployment of SSPR, Microsoft
Entra ID supports nested groups.
In this tutorial, set up SSPR for a set of users in a test group. Use the SSPR-Test-Group
and provide your own Microsoft Entra group as needed:
2. Browse to Protection > Password reset from the menu on the left side.
3. From the Properties page, under the option Self service password reset enabled,
choose Selected.
4. If your group isn't visible, choose No groups selected, browse for and select your
Microsoft Entra group, like SSPR-Test-Group, and then choose Select.
2. Choose the Methods available to users that your organization wants to allow. For
this tutorial, check the boxes to enable the following methods:
You can enable other authentication methods, like Office phone or Security
questions, as needed to fit your business requirements.
Before users can unlock their account or reset a password, they must register their
contact information. Microsoft Entra ID uses this contact information for the different
authentication methods set up in the previous steps.
1. From the menu on the left side of the Registration page, select Yes for Require
users to register when signing in.
2. Set Number of days before users are asked to reconfirm their authentication
information to 180.
7 Note
1. From the menu on the left side of the Notifications page, set up the following
options:
If users need more help with the SSPR process, you can customize the "Contact your
administrator" link. The user can select this link in the SSPR registration process and
when they unlock their account or resets their password. To make sure your users get
the support needed, we recommend you provide a custom helpdesk email or URL.
1. From the menu on the left side of the Customization page, set Customize
helpdesk link to Yes.
2. In the Custom helpdesk email or URL field, provide an email address or web page
URL where your users can get more help from your organization, like
https://support.contoso.com/
3. To apply the custom link, select Save.
7 Note
When you test self-service password reset, use a non-administrator account. By
default, Microsoft Entra ID enables self-service password reset for admins. They're
required to use two authentication methods to reset their password. For more
information, see Administrator reset policy differences.
1. To see the manual registration process, open a new browser window in InPrivate or
incognito mode, and browse to https://aka.ms/ssprsetup. Microsoft Entra ID directs
users to this registration portal when they sign in next time.
2. Sign in with a non-administrator test user, like testuser, and register your
authentication methods contact information.
3. Once finished, select the button marked Looks good and close the browser
window.
5. Enter your non-administrator test users' account information, like testuser, the
characters from the CAPTCHA, and then select Next.
6. Follow the verification steps to reset your password. When finished, you receive an
email notification that your password was reset.
Clean up resources
In a later tutorial in this series, you set up password writeback. This feature writes
password changes from Microsoft Entra SSPR back to an on-premises AD environment.
If you want to continue with this tutorial series to set up password writeback, don't
disable SSPR now.
If you no longer want to use the SSPR functionality you set up as part of this tutorial, set
the SSPR status to None using the following steps:
FAQs
This section explains common questions from administrators and end-users who try
SSPR:
At this time, Microsoft Entra Connect and cloud sync don't support sharing
password policy details with the cloud. SSPR only displays the cloud password
policy details, and can't show on-premises policies.
Why do federated users wait up to 2 minutes after they see Your password has
been reset before they can use passwords that are synchronized from on-
premises?
For federated users whose passwords are synchronized, the source of authority for
the passwords is on-premises. As a result, SSPR updates only the on-premises
passwords. Password hash synchronization back to Microsoft Entra ID is scheduled
for every 2 minutes.
When a newly created user who is pre-populated with SSPR data such as phone
and email visits the SSPR registration page, Don’t lose access to your account!
appears as the title of the page. Why don't other users who have SSPR data pre-
populated see the message?
When some users go through SSPR process and reset their password, why don't
they see the password strength indicator?
Users who don’t see weak/strong password strength have synchronized password
writeback enabled. Since SSPR can’t determine the password policy of the
customer’s on-premises environment, it can't validate password strength or
weakness.
Next steps
In this tutorial, you enabled Microsoft Entra self-service password reset for a selected
group of users. You learned how to:
Feedback
Was this page helpful? Yes No
Microsoft Entra multifactor authentication and Conditional Access policies give you the
flexibility to require MFA from users for specific sign-in events.
) Important
If your IT team hasn't enabled the ability to use Microsoft Entra multifactor
authentication, or if you have problems during sign-in, reach out to your Help desk
for additional assistance.
Prerequisites
To complete this tutorial, you need the following resources and privileges:
A non-administrator account with a password that you know. For this tutorial, we
created such an account, named testuser. In this tutorial, you test the end-user
experience of configuring and using Microsoft Entra multifactor authentication.
If you need information about creating a user account, see Add or delete users
using Microsoft Entra ID.
A group that the non-administrator user is a member of. For this tutorial, we
created such a group, named MFA-Test-Group. In this tutorial, you enable Microsoft
Entra multifactor authentication for this group.
If you need more information about creating a group, see Create a basic group
and add members using Microsoft Entra ID.
Conditional Access policies can be applied to specific users, groups, and apps. The goal
is to protect your organization while also providing the right levels of access to the users
who need it.
In this tutorial, we create a basic Conditional Access policy to prompt for MFA when a
user signs in. In a later tutorial in this series, we configure Microsoft Entra multifactor
authentication by using a risk-based Conditional Access policy.
First, create a Conditional Access policy and assign your test group of users as follows:
1. Sign in to the Microsoft Entra admin center as at least a Conditional Access
Administrator.
2. Browse to Protection > Conditional Access > Overview , select + Create new
policy.
2. Under Assignments, select the current value under Users or workload identities.
3. Under What does this policy apply to?, verify that Users and groups is selected.
4. Under Include, choose Select users and groups, and then select Users and groups.
Since no one is assigned yet, the list of users and groups (shown in the next step)
opens automatically.
5. Browse for and select your Microsoft Entra group, such as MFA-Test-Group, then
choose Select.
We've selected the group to apply the policy to. In the next section, we configure the
conditions under which to apply the policy.
Since no apps are yet selected, the list of apps (shown in the next step) opens
automatically.
Tip
You can choose to apply the Conditional Access policy to All resources
(formerly 'All cloud apps') or Select resources. To provide flexibility, you can
also exclude certain apps from the policy.
3. Browse the list of available sign-in events that can be used. For this tutorial, select
Windows Azure Service Management API so that the policy applies to sign-in
events. Then choose Select.
Configure multifactor authentication for access
Next, we configure access controls. Access controls let you define the requirements for a
user to be granted access. They might be required to use an approved client app or a
device that's hybrid-joined to Microsoft Entra ID.
In this tutorial, configure the access controls to require multifactor authentication during
a sign-in event.
1. Under Access controls, select the current value under Grant, and then select Grant
access.
Using a private mode for your browser prevents any existing credentials from
affecting this sign-in event.
2. Sign in with your non-administrator test user, such as testuser. Be sure to include @
and the domain name for the user account.
If this is the first instance of signing in with this account, you're prompted to
change the password. However, there's no prompt for you to configure or use
multifactor authentication.
You configured the Conditional Access policy to require additional authentication for
sign in. Because of that configuration, you're prompted to use Microsoft Entra
multifactor authentication or to configure a method if you haven't yet done so. Test this
new requirement by signing in to the Microsoft Entra admin center:
1. Open a new browser window in InPrivate or incognito mode and sign in to the
Microsoft Entra admin center .
2. Sign in with your non-administrator test user, such as testuser. Be sure to include @
and the domain name for the user account.
You're required to register for and use Microsoft Entra multifactor authentication.
5. Close the browser window, and sign in to the Microsoft Entra admin center again
to test the authentication method that you configured. For example, if you
configured a mobile app for authentication, you should see a prompt like the
following.
6. Close the browser window.
Clean up resources
If you no longer want to use the Conditional Access policy that you configured as part
of this tutorial, delete the policy by using the following steps:
2. Browse to Policies > Conditional Access, and then select the policy that you
created, such as MFA Pilot.
3. select Delete, and then confirm that you want to delete the policy.
Next steps
In this tutorial, you enabled Microsoft Entra multifactor authentication by using
Conditional Access policies for a selected group of users. You learned how to:
Feedback
Was this page helpful? Yes No
Microsoft Entra Connect cloud sync can synchronize Microsoft Entra password changes
in real time between users in disconnected on-premises Active Directory Domain
Services (AD DS) domains. Microsoft Entra Connect cloud sync can run side-by-side with
Microsoft Entra Connect at the domain level to simplify password writeback for
additional scenarios, such as users who are in disconnected domains because of a
company split or merge. You can configure each service in different domains to target
different sets of users depending on their needs. Microsoft Entra Connect cloud sync
uses the lightweight Microsoft Entra cloud provisioning agent to simplify the setup for
self-service password reset (SSPR) writeback and provide a secure way to send password
changes in the cloud back to an on-premises directory.
Prerequisites
A Microsoft Entra tenant with at least a Microsoft Entra ID P1 or trial license
enabled. If needed, create one for free .
A Hybrid Identity Administrator account
Microsoft Entra ID configured for self-service password reset. If needed, complete
this tutorial to enable Microsoft Entra SSPR.
An on-premises AD DS environment configured with Microsoft Entra Connect
cloud sync version 1.1.977.0 or later. Learn how to identify the agent's current
version. If needed, configure Microsoft Entra Connect cloud sync using this tutorial.
Deployment steps
1. Configure Microsoft Entra Connect cloud sync service account permissions
2. Enable password writeback in Microsoft Entra Connect cloud sync
3. Enable password writeback for SSPR
To verify and enable password writeback in SSPR, complete the following steps:
3. Check the option for Enable password write back for synced users.
4. (optional) If Microsoft Entra Connect provisioning agents are detected, you can
additionally check the option for Write back passwords with Microsoft Entra
Connect cloud sync.
5. Check the option for Allow users to unlock accounts without resetting their
password to Yes.
6. When ready, select Save.
PowerShell
With PowerShell you can enable Microsoft Entra Connect cloud sync by using the Set-
AADCloudSyncPasswordWritebackConfiguration cmdlet on the servers with the
provisioning agents.
PowerShell
Clean up resources
If you no longer want to use the SSPR writeback functionality you configured as part of
this tutorial, complete the following steps:
If you no longer want to use the Microsoft Entra Connect cloud sync for SSPR writeback
functionality but want to continue using Microsoft Entra Connect Sync agent for
writebacks complete the following steps:
You can also use PowerShell to disable Microsoft Entra Connect cloud sync for SSPR
writeback functionality, from your Microsoft Entra Connect cloud sync server, run Set-
AADCloudSyncPasswordWritebackConfiguration using Hybrid Identity Administrator
credentials to disable password writeback with Microsoft Entra Connect cloud sync.
PowerShell
Supported operations
Passwords are written back in the following situations for end-users and administrators.
ノ Expand table
Unsupported operations
Passwords aren't written back in the following situations.
ノ Expand table
End users Any end user resetting their own password by using PowerShell cmdlets or the
Microsoft Graph API.
Validation scenarios
Try the following operations to validate scenarios using password writeback. All
validation scenarios require cloud sync is installed and the user is in scope for password
writeback.
ノ Expand table
Scenario Details
Reset password Have two users from disconnected domains and forests perform SSPR. You
from the sign- could also have Microsoft Entra Connect and cloud sync deployed side-by-side
in page and have one user in the scope of cloud sync configuration and another in
scope of Microsoft Entra Connect and have those users reset their password.
Scenario Details
Force expired Have two users from disconnected domains and forests change expired
password passwords. You could also have Microsoft Entra Connect and cloud sync
change deployed side-by-side and have one user in the scope of cloud sync
configuration and another in scope of Microsoft Entra Connect.
Regular Have two users from disconnected domains and forests perform routine
password password change. You could also have Microsoft Entra Connect and cloud sync
change side by side and have one user in the scope of cloud sync config and another in
scope of Microsoft Entra Connect.
Admin reset Have two users disconnected domains and forests reset their password from
user password the Microsoft Entra admin center or Frontline worker portal. You could also
have Microsoft Entra Connect and cloud sync side by side and have one user in
the scope of cloud sync config and another in scope of Microsoft Entra Connect
Self-service Have two users from disconnected domains and forests unlock accounts in the
account unlock SSPR portal resetting the password. You could also have Microsoft Entra
Connect and cloud sync side by side and have one user in the scope of cloud
sync config and another in scope of Microsoft Entra Connect.
Troubleshooting
The Microsoft Entra Connect cloud sync group Managed Service Account should
have the following permissions set to writeback the passwords by default:
Reset password
Write permissions on lockoutTime
Write permissions on pwdLastSet
Extended rights for "Unexpire Password" on the root object of each domain in
that forest, if not already set.
If these permissions aren't set, you can set the PasswordWriteBack permission on
the service account by using the Set-AADCloudSyncPermissions cmdlet and on-
premises enterprise administrator credentials:
PowerShell
After you updated the permissions, it can take up to an hour or more for these
permissions to replicate to all the objects in your directory.
If passwords for some user accounts aren't written back to the on-premises
directory, make sure that inheritance isn't disabled for the account in the on-
premises AD DS environment. Write permissions for passwords must be applied to
descendant objects for the feature to work correctly.
If you update the group policy, wait for the updated policy to replicate, or use the
gpupdate /force command.
For more information about how to validate or set up the appropriate permissions, see
Configure account permissions for Microsoft Entra Connect.
Next steps
For more information about cloud sync and a comparison between Microsoft Entra
Connect and cloud sync, see What is Microsoft Entra Connect cloud sync?
For a tutorial about setting up password writeback by using Microsoft Entra
Connect, see Tutorial: Enable Microsoft Entra self-service password reset writeback
to an on-premises environment.
Feedback
Was this page helpful? Yes No
With Microsoft Entra self-service password reset (SSPR), users can update their password
or unlock their account using a web browser. We recommend this video on How to
enable and configure SSPR in Microsoft Entra ID . In a hybrid environment where
Microsoft Entra ID is connected to an on-premises Active Directory Domain Services (AD
DS) environment, this scenario can cause passwords to be different between the two
directories.
) Important
This tutorial shows an administrator how to enable self-service password reset back
to an on-premises environment. If you're an end user already registered for self-
service password reset and need to get back into your account, go to
https://aka.ms/sspr .
If your IT team hasn't enabled the ability to reset your own password, reach out to
your helpdesk for additional assistance.
Prerequisites
To complete this tutorial, you need the following resources and privileges:
To correctly work with SSPR writeback, the account specified in Microsoft Entra Connect
must have the appropriate permissions and options set. If you're not sure which account
is currently in use, open Microsoft Entra Connect and select the View current
configuration option. The account that you need to add permissions to is listed under
Synchronized Directories. The following permissions and options must be set on the
account:
Reset password
Change password
Write permissions on lockoutTime
Write permissions on pwdLastSet
Extended rights for "Unexpire Password" on the root object of each domain in that
forest, if not already set.
If you don't assign these permissions, writeback may appear to be configured correctly,
but users encounter errors when they manage their on-premises passwords from the
cloud. When setting "Unexpire Password" permissions in Active Directory, it must be
applied to This object and all descendant objects, This object only, or All descendant
objects, or the "Unexpire Password" permission can't be displayed.
Tip
If passwords for some user accounts aren't written back to the on-premises
directory, make sure that inheritance isn't disabled for the account in the on-prem
AD DS environment. Write permissions for passwords must be applied to
descendant objects for the feature to work correctly.
To set up the appropriate permissions for password writeback to occur, complete the
following steps:
Reset password
8. Under Properties, select the boxes for the following options. Scroll through the list
to find these options, which may already be set by default:
Write lockoutTime
Write pwdLastSet
Unexpire Password
6. When ready, select Apply / OK to apply the changes and exit any open dialog
boxes.
When you update permissions, it might take up to an hour or more for these
permissions to replicate to all the objects in your directory.
If you update the group policy, wait for the updated policy to replicate, or use the
gpupdate /force command.
7 Note
If you need to allow users to change or reset passwords more than one time per
day, Minimum password age must be set to 0. Password writeback will work after
on-premises password policies are successfully evaluated.
To enable SSPR writeback, first enable the writeback option in Microsoft Entra Connect.
From your Microsoft Entra Connect server, complete the following steps:
1. Sign in to your Microsoft Entra Connect server and start the Microsoft Entra
Connect configuration wizard.
2. On the Welcome page, select Configure.
3. On the Additional tasks page, select Customize synchronization options, and
then select Next.
4. On the Connect to Microsoft Entra ID page, enter a Hybrid Administrator
credential for your Azure tenant, and then select Next.
5. On the Connect directories and Domain/OU filtering pages, select Next.
6. On the Optional features page, select the box next to Password writeback and
select Next.
7. On the Directory extensions page, select Next.
8. On the Ready to configure page, select Configure and wait for the process to
finish.
9. When you see the configuration finish, select Exit.
7 Note
Clean up resources
If you no longer want to use the SSPR writeback functionality you have configured as
part of this tutorial, complete the following steps:
If you no longer want to use the Microsoft Entra Connect cloud sync for SSPR writeback
functionality but want to continue using Microsoft Entra Connect Sync agent for
writebacks complete the following steps:
If you no longer want to use any password functionality, complete the following steps
from your Microsoft Entra Connect server:
1. Sign in to your Microsoft Entra Connect server and start the Microsoft Entra
Connect configuration wizard.
2. On the Welcome page, select Configure.
3. On the Additional tasks page, select Customize synchronization options, and
then select Next.
4. On the Connect to Microsoft Entra ID page, enter a Hybrid Administrator
credential, and then select Next.
5. On the Connect directories and Domain/OU filtering pages, select Next.
6. On the Optional features page, deselect the box next to Password writeback and
select Next.
7. On the Ready to configure page, select Configure and wait for the process to
finish.
8. When you see the configuration finish, select Exit.
) Important
Enabling password writeback for the first time may trigger password change events
656 and 657, even if a password change has not occurred. This is because all
password hashes are re-synchronized after a password hash synchronization cycle
has run.
Next steps
In this tutorial, you enabled Microsoft Entra SSPR writeback to an on-premises AD DS
environment. You learned how to:
Feedback
Was this page helpful? Yes No
Users often create passwords that use common local words such as a school, sports
team, or famous person. These passwords are easy to guess, and weak against
dictionary-based attacks. To enforce strong passwords in your organization, the
Microsoft Entra custom banned password list lets you add specific strings to evaluate
and block. A password change request fails if there's a match in the custom banned
password list.
Prerequisites
To complete this tutorial, you need the following resources and privileges:
To give you flexibility in what passwords are allowed, you can also define a custom
banned password list. The custom banned password list works alongside the global
banned password list to enforce strong passwords in your organization. Organizational-
specific terms can be added to the custom banned password list, such as the following
examples:
Brand names
Product names
Locations, such as company headquarters
Company-specific internal terms
Abbreviations that have specific company meaning
Months and weekdays with your company's local languages
When a user attempts to reset a password to something that's on the global or custom
banned password list, they see one of the following error messages:
Unfortunately, your password contains a word, phrase, or pattern that makes your
password easily guessable. Please try again with a different password.
Unfortunately, you can't use that password because it contains words or characters
that have been blocked by your administrator. Please try again with a different
password.
The custom banned password list is limited to a maximum of 1000 terms. It's not
designed for blocking large lists of passwords. To maximize the benefits of the custom
banned password list, review the custom banned password list concepts and password
evaluation algorithm overview.
To enable the custom banned password list and add entries to it, complete the following
steps:
4. Add strings to the Custom banned password list, one string per line. The following
considerations and limitations apply to the custom banned password list:
Specify your own custom passwords to ban, as shown in the following example
5. Leave the option for Enable password protection on Windows Server Active
Directory to No.
6. To enable the custom banned passwords and your entries, select Save.
It may take several hours for updates to the custom banned password list to be applied.
For a hybrid environment, you can also deploy Microsoft Entra password protection to
an on-premises environment. The same global and custom banned password lists are
used for both cloud and on-premises password change requests.
7 Note
Before a user can reset their password in the web-based portal, the Microsoft Entra
tenant must be configured for self-service password reset. If needed, the user can
then register for SSPR at https://aka.ms/ssprsetup .
2. In the top-right corner, select your name, then choose Profile from the drop-down
menu.
4. On the Change password page, enter the existing (old) password. Enter and
confirm a new password that's on the custom banned password list you defined in
the previous section, then select Submit.
5. An error message is returned that tells you the password has been blocked by the
administrator, as shown in the following example:
Clean up resources
If you no longer want to use the custom banned password list you have configured as
part of this tutorial, complete the following steps:
Next steps
In this tutorial, you enabled and configured custom password protection lists for
Microsoft Entra ID. You learned how to:
Feedback
Was this page helpful? Yes No
To protect your users, you can configure risk-based Microsoft Entra Conditional Access
policies that automatically respond to risky behaviors. These policies can automatically
block a sign-in attempt or require extra action, such as require a secure password
change or prompting for Microsoft Entra multifactor authentication. These policies work
with existing Microsoft Entra Conditional Access policies as an extra layer of protection
for your organization. Users might never trigger a risky behavior in one of these policies,
but your organization is protected if an attempt to compromise your security is made.
) Important
If your IT team hasn't enabled the ability to use Microsoft Entra multifactor
authentication or you have problems during sign-in, reach out to your helpdesk for
additional assistance.
Prerequisites
To complete this tutorial, you need the following resources and privileges:
Some of the following actions might trigger Microsoft Entra ID Protection risk detection:
This article guides you through enabling three policies to protect users and automate
the response to suspicious activity.
When you enable a risk-based policy, you can also choose the threshold for risk level -
low, medium, or high. This flexibility lets you decide how aggressive you want to be in
enforcing any controls for suspicious sign-in events. Microsoft recommends the
following policy configurations.
For more information about Microsoft Entra ID Protection, see What is Microsoft Entra
ID Protection?
It's recommended to enable this registration policy for users that use multifactor
authentication. To enable this policy, complete the following steps:
Enable user risk policy for password change
Microsoft works with researchers, law enforcement, various security teams at Microsoft,
and other trusted sources to find username and password pairs. When one of these
pairs matches an account in your environment, a risk-based password change can be
requested. This policy and action requires the user update their password before they
can sign in to make sure any previously exposed credentials no longer work.
After administrators confirm the settings using report-only mode, they can move the
Enable policy toggle from Report-only to On.
Passwordless scenarios
For organizations that adopt passwordless authentication methods make the following
changes:
1. Under Users:
a. Include, select Users and groups and target your passwordless users.
2. Under Access controls > Block access for passwordless users.
Tip
You might need to have two policies for a period of time while deploying
passwordless methods.
One that allows self-remediation for those not using passwordless methods.
Another that blocks passwordless users at high risk.
After administrators confirm the settings using report-only mode, they can move the
Enable policy toggle from Report-only to On.
Passwordless scenarios
For organizations that adopt passwordless authentication methods make the following
changes:
1. Under Users:
a. Include, select Users and groups and target your passwordless users.
b. Under Exclude, select Users and groups and choose your organization's
emergency access or break-glass accounts.
c. Select Done.
2. Under Cloud apps or actions > Include, select All resources (formerly 'All cloud
apps').
3. Under Conditions > Sign-in risk, set Configure to Yes.
a. Under Select the sign-in risk level this policy will apply to, select High and
Medium. For more information on risk levels, see Choosing acceptable risk
levels.
b. Select Done.
4. Under Access controls > Grant, select Grant access.
a. Select Require authentication strength, then select the built-in Passwordless
MFA or Phishing-resistant MFA based on which method the targeted users
have.
b. Select Select.
5. Under Session:
a. Select Sign-in frequency.
b. Ensure Every time is selected.
c. Select Select.
To test the Microsoft Entra ID Protection policies created in the previous steps, you need
a way to simulate risky behavior or potential attacks. The steps to do these tests vary
based on the Microsoft Entra ID Protection policy you want to validate. For more
information on scenarios and steps, see Simulate risk detections in Microsoft Entra ID
Protection.
Clean up resources
If you complete your testing and no longer want to have the risk-based policies
enabled, return to each policy you want to disable and set Enable policy to Off or delete
them.
Next steps
In this tutorial, you enabled risk-based user policies for Microsoft Entra ID Protection.
You learned how to:
Feedback
Was this page helpful? Yes No
In this tutorial, you learn how to create an Azure Logic App that monitors Microsoft
Entra audit logs. A logic app can send a security email notification to users based on
different audit log events.
This tutorial focuses on security notifications that get emailed when there's a change to
a user's authentication methods. You can also use logic apps to create workflows that
send security notifications for other audit log events. These security notifications help
update users and notify them of any risky activity. Users can quickly take the correct
steps to report it.
Prerequisites
To use this feature, you need:
An Azure subscription. If you don't have an Azure subscription, you can sign up for
a free trial .
A Microsoft Entra tenant.
A user who's at least a Security Administrator for the Microsoft Entra tenant.
An Event Hubs namespace and an event hub in your Azure subscription. Learn how
to create an event hub.
Enable logs to be streamed to the event hub. Learn how to stream logs to an event
hub. Only select the logs that you want the security notification to be sent for. For
this tutorial, we'll stream Audit Logs.
An email account from a service that works with Azure Logic Apps, such as Office
365 Outlook or Outlook.com. For other supported email providers, review
Connectors for Azure Logic Apps.
a. Select the Subscription in which you want to create the logic app.
b. Select the Resource Group you created for the event hub.
c. Enter the Logic App name, and the system immediately checks to see if the
name is available.
e. For Plan type, select the Consumption tier. Choose a region and plan type that
aligns with your organization's size and needs. To learn about differences
between tiers, see the Standard and Consumption logic app workflow.
7 Note
3. In Event Hub name, select the event hub you created in Prerequisites. Select the
event hub where you want your logic app to send security notifications.
4. Under How often do you want to check for items?, select how often you want the
event hub to be checked. In this tutorial, we check for events every one (1) minute.
Initialize Variables
Here, we'll initialize three variables. One is the content of the event that was triggered
and streamed to the event hub. The two others are empty variables for our email body,
and the date and time of the activity, which we'll later fill with information from the
event.
1. On the designer, under When events are available in Event Hubs trigger, select
New step.
2. Under Choose an operation, select Built-in. In the search box, enter variables, and
select Initialize variable.
5. Place the cursor in the Value property, and Dynamic Content appears.
12. Under Choose an operation, select Built-in. In the search box, enter variables, and
select Initialize variable.
Parse JSON
Now we'll format the raw JSON that we received from the events that were streamed to
the event hub by parsing the JSON so we can access specific data within that content.
2. In the Search connectors and actions search bar, type Parse JSON.
3. Switch to the Actions tab and select Parse JSON.
6. In the Schema section, copy and paste the following JSON template:
JSON
{
"type": "object",
"properties": {
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"operationName": {
"type": "string"
},
"operationVersion": {
"type": "string"
},
"category": {
"type": "string"
},
"tenantId": {
"type": "string"
},
"resultSignature": {
"type": "string"
},
"durationMs": {
"type": "integer"
},
"correlationId": {
"type": "string"
},
"Level": {
"type": "integer"
},
"properties": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"category": {
"type": "string"
},
"correlationId": {
"type": "string"
},
"result": {
"type": "string"
},
"resultReason": {
"type": "string"
},
"activityDisplayName": {
"type": "string"
},
"activityDateTime": {
"type": "string"
},
"loggedByService": {
"type": "string"
},
"operationType": {
"type": "string"
},
"userAgent": {},
"initiatedBy": {
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"displayName": {},
"userPrincipalName": {
"type": "string"
},
"ipAddress": {
"type": "string"
},
"roles": {
"type": "array"
}
}
}
}
},
"targetResources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"displayName": {},
"type": {
"type": "string"
},
"userPrincipalName": {
"type": "string"
},
"modifiedProperties": {
"type": "array"
},
"administrativeUnits": {
"type": "array"
}
},
"required": [
"id",
"displayName",
"type",
"userPrincipalName",
"modifiedProperties",
"administrativeUnits"
]
}
},
"additionalDetails": {
"type": "array"
}
}
}
},
"required": [
"time",
"resourceId",
"operationName",
"operationVersion",
"category",
"tenantId",
"resultSignature",
"durationMs",
"correlationId",
"Level",
"properties"
]
}
}
}
}
7. The Parse JSON action should now look like this screenshot:
3. Under Select an output from previous steps, select Add dynamic content.
6. Under Choose an operation, select Built-in. In the search box, enter variables, and
select Set variable.
9. In Dynamic content, search for and select time under Parse JSON.
10. Under Set variable, select Built-in. In the search box, enter variables, and select Set
variable.
12. Under Value, input the text you want to display in the body of the security
notification email. The body can be formatted with html. You can start with this
template and customize it. For example, replace the href placeholders with links
that are relevant to your organization.
HTML
<div>
<h2>
You recently changed your authentication methods
</h2>
<p>
We have been notified of the following action: (operation) on
(date & time). <br><br>
If you initiated this, no action is required. <br><br>
If you haven't, please report it now. <br><br>
<b>Instructions</b>
<ol>
<li>Review your account activity in <a
href="https://mysignins.microsoft.com/security-info"
class="link">Microsoft Security Info</a>.</li>
<li>If you do not recognize this action, report it
immediately:</li>
<ul>
<li>Go to <a href="#" class="link">ReportItNow</a> and
select your security event.</li>
<li>Provide any additional information in the form and
submit.</li>
</ul>
</ol>
<b>Information and Support</b>
<ul>
<li>Technical Assistance - Contact <a href="#"
class="link">Helpdesk</a> support services</li>
</ul>
<b>Do NOT reply to this email. This is an unmonitored mailbox.</b>
<br>
For more information, contact the <a href="#"
class="link">Security Department</a>
<br><br>
<a href="#"><button type="button">Report device</button></a><br>
<br>
<div class="footer">
Contoso, Ltd., 4567 Main St Buffalo, NY 98052<br>
<br>Facilitated by <br>
<img src="#" alt="Company Logo" style="height:70px;">
</div>
<style>
.link {
text-decoration:none;
color: #0078D4
}
button {
background-color: #0078D4;
color: white;
padding: 10px;
border-radius: 5px;
text-decoration: none;
}
button:hover {
cursor: pointer;
}
.footer {
width: 100%;
height: 10%;
padding-top: 10px;
padding-left: 10px;
padding-right: 10px;
background-color: rgb(237, 237, 237);
}
</style>
</p>
</div>
2. Inside the value field where you pasted the template, go back to the first few lines
of text and highlight "(content)". See the image below.
3. Once that text has been highlighted, you'll see Dynamic content pop up on the
right of the action box. In the search bar of Dynamic content, search and select
operationName.
4. Again, inside the value field where you pasted the template, go back to the first
few lines of text and highlight "(date & time)". See the image below.
5. Once that text has been highlighted, you should see the Dynamic content section
pop up on the right of the action box. Go to the Expression tab and input the
following code in the input box:
code
formatDateTime(variables('dateTime'),'yyyy-MM-dd tH:mm:ss')
6. After pasting the preceding code in the input box, select OK.
For more information about using dynamic content to customize the email further, see
Workflow dynamic content.
2. Under Choose an operation, select Built-in. In the search box, enter for each and
from the actions list, select the action named For each.
3. Inside Select an output from previous steps, select targetResources from the
Dynamic content.
4. Inside the For each 2 action block and under targetResources, select Add an
action.
5. Under Choose an operation, select Built-in. In the search box, enter condition and
from the actions list, select the action named Condition.
6. Inside Choose a value, search for and select operationName.
7. In Choose a value, type the exact name of the activity you want to send the
security notification emails. For the full list of activities you can filter through and
send notifications for, see Audit Log Activities.
8. For this tutorial, we'll send email for the Reset user password activity.
9. If you want to send security emails for multiple activities, select Add inside the
Condition action block, then select Add row, and repeat those steps for different
activity names in Choose a value.
5. In the Subject field, search in Dynamic content for operationName and select it.
6. In the Body field, search in Dynamic content for emailBody and select it.
7. You can select Importance to change the importance of the email.
This workflow can be customized to filter other logs and activities, or send notifications
through different services such as Teams, to create the best experience to make your
users aware of suspicious activities.
Next steps
How Microsoft Entra ID multifactor authentication works
Feedback
Was this page helpful? Yes No
Microsoft Authenticator
The Microsoft Authenticator app provides either notifications for quick approval or
generates time-based codes for more traditional MFA entry. This app is compatible with
various assistive technologies, including screen readers, making it accessible for users
with visual impairments. It also offers flexibility for individuals who prefer not to rely
solely on SMS or voice calls.
Text: Allows users to receive a verification code via text message, which can be
useful for those with hearing impairments or those who prefer text-based
communication.
Voice calls: Voice calls are a great option for users with visual impairments, as they
provide audio cues rather than visual or tactile ones.
Email verification
While not as secure as other MFA methods, email verification can be useful in certain
accessibility scenarios, providing a fallback option. For users who experience difficulty
with text, voice, or app-based authentication, email can offer a familiar and easily
accessible alternative.
References:
Conclusion
Microsoft Entra ID's range of MFA options enables individuals with diverse needs to
access secure authentication without compromising on usability. To ensure that security
measures remain accessible and inclusive for all users, Microsoft Entra ID offers various
options like the Authenticator app, SMS and voice calls, FIDO2 keys, Windows Hello, and
email verification.
Selecting the right MFA method depends on individual needs and constraints.
Microsoft’s commitment to flexible and inclusive authentication helps everyone stay
secure, regardless of their physical or technological limitations. For those with specific
accessibility requirements, it’s worth exploring each MFA option to find the one that
aligns best with personal preferences and usability needs.
Related content
Available verification methods
How to enable MFA
Feedback
Was this page helpful? Yes No
Microsoft Entra multifactor authentication adds another layer of security over only using
a password when a user signs in. The user can be prompted for other forms of
authentication, such as to respond to a push notification, enter a code from a software
or hardware token, or respond to a text message or phone call.
To simplify the user on-boarding experience and register for both MFA and self-service
password reset (SSPR), we recommend you enable combined security information
registration. For resiliency, we recommend that you require users to register multiple
authentication methods. When one method isn't available for a user during sign-in or
SSPR, they can choose to authenticate with another method. For more information, see
Create a resilient access control management strategy in Microsoft Entra ID.
The following table outlines when an authentication method can be used during a sign-
in event:
ノ Expand table
Password Yes No
1
Windows Hello for Business can serve as a step-up MFA credential if it's used in FIDO2
authentication. Users need to be registered for passkey (FIDO2).
2
Passwordless sign-in can be used for secondary authentication only if CBA is used for
primary authentication.
3Alternate phone methods can only be used for MFA.
All of these authentication methods can be configured in the Microsoft Entra admin
center, and increasingly using the Microsoft Graph REST API.
To learn more about how each authentication method works, see the following separate
conceptual articles:
Authenticator Lite
Passkey (FIDO2)
Certificate-based authentication
QR code (preview)
Password
7 Note
App passwords - used for old applications that don't support modern
authentication and can be configured for per-user Microsoft Entra multifactor
authentication.
Security questions - only used for SSPR
Email address - only used for SSPR
Each authentication method can become nonusable for different reasons. For example, a
Temporary Access Pass may expire, or FIDO2 security key may fail attestation. The portal
gets updated to provide the reason for why the method isn't usable.
Related content
To get started, see the tutorial for self-service password reset (SSPR) and Microsoft Entra
multifactor authentication.
To learn more about SSPR concepts, see How Microsoft Entra self-service password reset
works.
To learn more about MFA concepts, see How Microsoft Entra multifactor authentication
works.
Learn more about configuring authentication methods using the Microsoft Graph REST
API.
To review what authentication methods are in use, see Microsoft Entra multifactor
authentication authentication method analysis with PowerShell .
Feedback
Was this page helpful? Yes No
Microsoft Entra ID allows the use of a range of authentication methods to support a wide
variety of sign-in scenarios. Administrators can specifically configure each method to meet
their goals for user experience and security. This topic explains how to manage authentication
methods for Microsoft Entra ID, and how configuration options affect user sign-in and
password reset scenarios.
Methods enabled in the Authentication methods policy can typically be used anywhere in
Microsoft Entra ID, for both authentication and password reset scenarios. The exception is that
some methods are inherently limited to use in authentication, such as FIDO2 and Windows
Hello for Business, and others are limited to use in password reset, such as security questions.
For more control over which methods are usable in a given authentication scenario, consider
using the Authentication Strengths feature.
Most methods also have configuration parameters to more precisely control how that method
can be used. For example, if you enable Voice calls, you can also specify whether an office
phone can be used in addition to a mobile phone.
Or let's say you want to enable passwordless authentication with Microsoft Authenticator. You
can set extra parameters like showing the user sign-in location or the name of the app being
signed into. These options provide more context for users when they sign-in and help prevent
accidental MFA approvals.
To manage the Authentication methods policy, sign in to the Microsoft Entra admin center as
at least an Authentication Policy Administrator and browse to Entra ID > Authentication
methods > Policies.
Only the converged registration experience is aware of the Authentication methods policy.
Users in scope of the Authentication methods policy but not the converged registration
experience won't see the correct methods to register.
) Important
To manage the legacy MFA policy, browse to Entra ID > Authentication methods > Policies
>Multifactor authentication > Additional cloud-based multifactor authentication settings.
To manage authentication methods for self-service password reset (SSPR), browse to Entra ID
> Password reset > Authentication methods. The Mobile phone option in this policy allows
either voice calls or text message to be sent to a mobile phone. The Office phone option
allows only voice calls.
How policies work together
Settings aren't synchronized between the policies, which allows administrators to manage each
policy independently. Microsoft Entra ID respects the settings in all of the policies so a user
who is enabled for an authentication method in any policy can register and use that method.
To prevent users from using a method, it must be disabled in all policies.
Let's walk through an example where a user who belongs to the Accounting group wants to
register Microsoft Authenticator. The registration process first checks the Authentication
methods policy. If the Accounting group is enabled for Microsoft Authenticator, the user can
register it.
If not, the registration process checks the legacy MFA policy. In that policy, any user can
register Microsoft Authenticator if one of these settings is enabled for MFA:
If the user can't register Microsoft Authenticator based on either of those policies, the
registration process checks the legacy SSPR policy. In that policy too, a user can register
Microsoft Authenticator if the user is enabled for SSPR and any of these settings are enabled:
For users who are enabled for Mobile phone for SSPR, the independent control between
policies can impact sign-in behavior. Where the other policies have separate options for text
message and voice calls, the Mobile phone for SSPR enables both options. As a result, anyone
who uses Mobile phone for SSPR can also use voice calls for password reset, even if the other
policies don't allow voice calls.
Similarly, let's suppose you enable Voice calls for a group. After you enable it, you find that
even users who aren't group members can sign-in with a voice call. In this case, it's likely those
users are enabled for Mobile phone in the legacy SSPR policy or Call to phone in the legacy
MFA policy.
You can also migrate policy settings manually. The migration has three settings to let you move
at your own pace, and avoid problems with sign-in or SSPR during the transition.
After migration is complete, methods in the legacy MFA and SSPR policies can be disabled. You
can centralize control over authentication methods for both sign-in and SSPR in a single place,
and the legacy MFA and SSPR policies will be disabled.
7 Note
Security questions can only be enabled today by using the legacy SSPR policy. If you're
using security questions, and don't want to disable them, make sure to keep them
enabled in the legacy SSPR policy until a migration control is available. You can migrate
the remainder of your authentication methods and still manage security questions in the
legacy SSPR policy.
To view the migration options, open the Authentication methods policy and click Manage
migration.
ノ Expand table
Option Description
Migration in Progress The Authentication methods policy is used for authentication and SSPR.
Legacy policy settings are respected.
Option Description
Migration Complete Only the Authentication methods policy is used for authentication and SSPR.
Legacy policy settings are ignored.
Tenants are set to either Pre-migration or Migration in Progress by default, depending on their
tenant's current state. If you start in Pre-migration, you can move to any of the states at any
time. If you started in Migration in Progress, you can move between Migration in Progress and
Microsoft Complete at any time, but won't be allowed to move to Pre-migration. If you move
to Migration Complete, and then choose to roll back to an earlier state, we'll ask why so we can
evaluate performance of the product.
7 Note
After all authentication methods are fully migrated, the following elements of the legacy
SSPR policy remain active:
The Number of methods required to reset control: admins can continue to change
how many authentication methods must be verified before a user can perform SSPR.
The SSPR administrator policy: admins can continue to register and use any methods
listed under the legacy SSPR administrator policy or methods they're enabled to use
in the Authentication methods policy.
In the future, both of these features will be integrated with the Authentication methods
policy.
Registration of an authentication method can fail if many groups are included in the
Authentication methods policy or a registration campaign. We recommend consolidating
multiple groups into a single group for each authentication method. To maintain
registration for users during consolidation, add the new group and remove current
groups in the same operation.
7 Note
You might not be able to save updates to the Authentication methods policy if it
targets many groups and the policy size exceeds 20 KB. While we work to increase
the policy size limit, consolidate targeted groups as much as possible.
Next steps
How to migrate MFA and SSPR policy settings to the Authentication methods policy
What authentication and verification methods are available in Microsoft Entra ID?
How Microsoft Entra multifactor authentication works
Microsoft Graph REST API
Configure Temporary Access Pass to
register passwordless authentication
methods
Article • 03/04/2025
Passwordless authentication methods like a passkey (FIDO2) let users sign in securely
without a password. Users can bootstrap passwordless methods in one of two ways:
A Temporary Access Pass (TAP) is a time-limited passcode that can be configured for
single use or multiple sign-ins. Users can sign in with a TAP to onboard other
passwordless authentication methods. A TAP also makes recovery easier when a user
loses or forgets a strong authentication method.
This article shows you how to enable and use a TAP using the Microsoft Entra admin
center . You can also perform these actions using REST APIs.
Before users can sign-in with a TAP, you need to enable this method in the
Authentication methods policy and choose which users and groups can sign in by using
a TAP.
Although you can create a TAP for any user, only users included in the policy can sign-in
with it. You need the Authentication Policy Administrator role to update the TAP
Authentication methods policy.
3. From the list of available authentication methods, select Temporary Access Pass.
4. Select Enable and then select users to include or exclude from the policy.
5. (Optional) Select Configure to modify the default Temporary Access Pass settings,
such as setting maximum lifetime, or length, and select Update.
6. Select Save to apply the policy.
The default value and the range of allowed values are described in the following
table.
ノ Expand table
One-time False True/False When the policy is set to false, passes in the
use tenant can be used either once or more than
once during its validity (maximum lifetime). By
enforcing one-time use in the TAP policy, all
passes created in the tenant are one-time use.
Privileged Authentication Administrators can create, delete, and view a TAP for
admins and members (except themselves).
Authentication Administrators can create, delete, and view a TAP for members
(except themselves).
Authentication Policy Administrators can enable TAP, include or exclude groups,
and edit the Authentication methods policy.
Global Readers can view TAP details for the user (without reading the code itself).
) Important
Make a note of the actual TAP value, because you provide this value to the
user. You can't view this value after you select Ok.
8. Select OK when you're done.
The following commands show how to create and get a TAP using PowerShell.
PowerShell
Id CreatedDateTime IsUsable
IsUsableOnce LifetimeInMinutes MethodUsabilityReason StartDateTime
TemporaryAccessPass
-- --------------- -------- --------
---- ----------------- --------------------- ------------- ---------
----------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee 5/22/2022 11:19:17 PM False True
60 NotYetValid 23/05/2022 6:00:00 AM
2. Enter the UPN of the account you created the TAP for, such as
[email protected].
3. If the user is included in the TAP policy, they see a screen to enter their TAP.
4. Enter the TAP that was displayed in the Microsoft Entra admin center.
7 Note
For federated domains, a TAP is preferred over federation. A user with a TAP
completes the authentication in Microsoft Entra ID and isn't redirected to the
federated Identity Provider (IdP).
The user is now signed in and can update or register a method such as FIDO2 security
key. Users who update their authentication methods due to losing their credentials or
device should make sure they remove the old authentication methods. Users can also
continue to sign-in by using their password; a TAP doesn’t replace a user’s password.
During the domain-join setup process, users can authenticate with a TAP (no
password required) to join the device and register Windows Hello for Business.
On already-joined devices, users must first authenticate with another method such
as a password, smartcard, or FIDO2 key, before using TAP to set up Windows Hello
for Business.
If the Web sign-in feature on Windows is also enabled, the user can use TAP to
sign into the device. This is intended only for completing initial device setup, or
recovery when the user doesn't know or have a password.
For hybrid-joined devices, users must first authenticate with another method such as a
password, smartcard or FIDO2 key, before using TAP to set up Windows Hello for
Business.
For more information, see Add your work or school account to the Microsoft
Authenticator app .
Guest access
You can add a TAP as a sign-in method to an internal guest, but not other types of
guests. An internal guest has user object UserType set to Guest. They have
authentication methods registered in Microsoft Entra ID. For more information about
internal guests and other guest accounts, see B2B guest user properties.
If you try to add a TAP to an external guest account in the Microsoft Entra admin center
or in Microsoft Graph, you'll receive an error stating Temporary Access Pass cannot be
added to an external guest user.
External guest users can sign-in to a resource tenant with a TAP issued by their home
tenant if the TAP meets the home tenant authentication requirements and Cross Tenant
Access policies have been configured to trust MFA from the users home tenant, see
Manage cross-tenant access settings for B2B collaboration.
Expiration
An expired or deleted TAP can’t be used for interactive or non-interactive
authentication.
Users need to reauthenticate with different authentication methods after the TAP is
expired or deleted.
The token lifetime (session token, refresh token, access token, and so on) obtained by
using a TAP sign-in is limited to the TAP lifetime. When a TAP expires, it leads to the
expiration of the associated token.
PowerShell
Limitations
Keep these limitations in mind:
Troubleshooting
If a TAP isn't offered to a user during sign-in:
Make sure the user is in scope for TAP use in the Authentication methods policy.
Make sure the user has a valid TAP, and if it's one-time use, it wasn’t used yet.
If Temporary Access Pass sign in was blocked due to User Credential Policy
appears during sign-in with a TAP:
Check that the user is in scope for the TAP policy
Make sure the user doesn't have a TAP for multiple use while the Authentication
methods policy requires a one-time TAP.
Check if a one-time TAP was already used.
If Temporary Access Pass cannot be added to an external guest user appears
when you try to add a TAP to an account as an authentication method, the account
is an external guest. Both internal and external guest accounts have an option to
add a TAP for sign-in in the Microsoft Entra admin center and Microsoft Graph
APIs. However, only internal guest accounts can be issued a TAP.
Next steps
Plan a passwordless authentication deployment in Microsoft Entra ID
Feedback
Was this page helpful? Yes No
Features like multifactor authentication (MFA) are a great way to secure your
organization, but users often get frustrated with the extra security layer on top of having
to remember their passwords. Passwordless authentication methods are more
convenient because the password is removed and replaced with something you have or
something you are or know.
ノ Expand table
Each organization has different needs when it comes to authentication. Microsoft Entra
ID and Azure Government integrate the following passwordless authentication options:
The following steps show how the sign-in process works with Microsoft Entra ID:
1. A user signs into Windows using biometric or PIN gesture. The gesture unlocks the
Windows Hello for Business private key and is sent to the Cloud Authentication
security support provider, called the Cloud Authentication Provider (CloudAP). For
more information about CloudAP, see What is a Primary Refresh Token?.
2. The CloudAP requests a nonce (a random arbitrary number that can be used once)
from Microsoft Entra ID.
3. Microsoft Entra ID returns a nonce that's valid for 5 minutes.
4. The CloudAP signs the nonce using the user's private key and returns the signed
nonce to the Microsoft Entra ID.
5. Microsoft Entra ID validates the signed nonce using the user's securely registered
public key against the nonce signature. Microsoft Entra ID validates the signature,
and then validates the returned signed nonce. When the nonce is validated,
Microsoft Entra ID creates a primary refresh token (PRT) with session key that is
encrypted to the device's transport key, and returns it to the CloudAP.
6. The CloudAP receives the encrypted PRT with session key. The CloudAP uses the
device's private transport key to decrypt the session key, and protects the session
key by using the device's Trusted Platform Module (TPM).
7. The CloudAP returns a successful authentication response to Windows. The user is
then able to access Windows and cloud and on-premises applications by using
seamless sign-on (SSO).
The Windows Hello for Business planning guide can be used to help you make decisions
on the type of Windows Hello for Business deployment and the options you need to
consider.
Platform Credential for macOS can also be used as a phishing-resistant credential for
use in WebAuthn challenges, including browser re-authentication scenarios.
Authentication Policy Administrators need to enable the Passkey (FIDO2) authentication
method to support Platform Credential for macOS as a phishing-resistant credential. If
you use Key Restriction Policies in your FIDO policy, you need to add the AAGUID for the
macOS Platform Credential to your list of allowed AAGUIDs: 7FD635B3-2EF9-4542-8D9D-
164F2C771EFC .
1. A user unlocks macOS using fingerprint or password gesture, which unlocks the
key bag to provide access to UserSecureEnclaveKey.
2. The macOS requests a nonce (a random arbitrary number that can be used just
once) from Microsoft Entra ID.
3. Microsoft Entra ID returns a nonce that's valid for 5 minutes.
4. The operating system (OS) sends a login request to Microsoft Entra ID with an
embedded assertion signed with the UserSecureEnclaveKey that resides in the
Secure Enclave.
5. Microsoft Entra ID validates the signed assertion using the user's securely
registered public key of UserSecureEnclave key. Microsoft Entra ID validates the
signature and nonce. Once the assertion is validated, Microsoft Entra ID creates a
primary refresh token (PRT) encrypted with the public key of the
UserDeviceEncryptionKey that is exchanged during registration and sends the
response back to the OS.
6. The OS decrypts and validates the response, retrieves the SSO tokens, stores and
shares it with the SSO extension for providing SSO. The user is able to access
macOS, cloud and on-premises applications by using SSO.
Refer to macOS Platform SSO for more information on how to configure and deploy
Platform Credential for macOS.
Microsoft Authenticator
You can also allow your employee's phone to become a passwordless authentication
method. You could already be using the Authenticator app as a convenient multifactor
authentication option in addition to a password. You can also use the Authenticator App
as a passwordless option.
The Authenticator App turns any iOS or Android phone into a strong, passwordless
credential. Users can sign in to any platform or browser by getting a notification to their
phone, matching a number displayed on the screen to the one on their phone. Then
they can use their biometric (touch or face) or PIN to confirm. For installation details, see
Download and install the Microsoft Authenticator .
Passkeys (FIDO2)
Users can register a passkey (FIDO2) and choose it as their primary sign-in method. With
a hardware device that handles the authentication, the security of an account is
increased as there's no password that can be exposed or guessed. Currently in preview,
an Authentication Administrator can also provision a FIDO2 security on behalf of a
user by using Microsoft Graph API and a custom client. Provisioning on behalf of users is
currently limited to security keys at this time.
The FIDO (Fast IDentity Online) Alliance helps to promote open authentication standards
and reduce the use of passwords as a form of authentication. FIDO2 is the latest
standard that incorporates the web authentication (WebAuthn) standard. FIDO allows
organizations to apply the WebAuthn standard by using an external security key, or a
platform key built into a device, to sign in without a username or password.
FIDO2 security keys can be used to sign in to their Microsoft Entra ID or Microsoft Entra
hybrid joined Windows 10 devices and get single-sign on to their cloud and on-
premises resources. Users can also sign in to supported browsers. FIDO2 security keys
are a great option for enterprises who are very security sensitive or have scenarios or
employees who aren't willing or able to use their phone as a second factor.
For more information about passkey (FIDO2) support, see Support for passkey (FIDO2)
authentication with Microsoft Entra ID. For developer best practices, see Support FIDO2
auth in the applications they develop.
The following process is used when a user signs in with a FIDO2 security key:
1. The user plugs the FIDO2 security key into their computer.
2. Windows detects the FIDO2 security key.
3. Windows sends an authentication request.
4. Microsoft Entra ID sends back a nonce.
5. The user completes their gesture to unlock the private key stored in the FIDO2
security key's secure enclave.
6. The FIDO2 security key signs the nonce with the private key.
7. The primary refresh token (PRT) token request with signed nonce is sent to
Microsoft Entra ID.
8. Microsoft Entra ID verifies the signed nonce using the FIDO2 public key.
9. Microsoft Entra ID returns PRT to enable access to on-premises resources.
For a list FIDO2 security key providers, see Become a Microsoft-compatible FIDO2
security key vendor.
To get started with FIDO2 security keys, complete the following how-to:
Certificate-based authentication
Microsoft Entra certificate-based authentication (CBA) enables customers to allow or
require users to authenticate directly with X.509 certificates against their Microsoft Entra
ID for applications and browser sign-in. CBA enables customers to adopt phishing-
resistant authentication and sign in with an X.509 certificate against their Public Key
Infrastructure (PKI).
Key benefits of using Microsoft Entra CBA
ノ Expand table
Benefits Description
Great user - Users who need certificate-based authentication can now directly
experience authenticate against Microsoft Entra ID and not have to invest in federation.
- Portal UI enables users to easily configure how to map certificate fields to a
user object attribute to look up the user in the tenant (certificate username
bindings)
- Portal UI to configure authentication policies to help determine which
certificates are single-factor versus multifactor.
Easy to deploy - Microsoft Entra CBA is a free feature, and you don't need any paid editions of
and administer Microsoft Entra ID to use it.
- No need for complex on-premises deployments or network configuration.
- Directly authenticate against Microsoft Entra ID.
Secure - On-premises passwords don't need to be stored in the cloud in any form.
- Protects your user accounts by working seamlessly with Microsoft Entra
Conditional Access policies, including Phishing-Resistant multifactor
authentication (MFA requires licensed edition) and blocking legacy
authentication.
- Strong authentication support where users can define authentication policies
through the certificate fields, such as issuer or policy OID (object identifiers), to
determine which certificates qualify as single-factor versus multifactor.
- The feature works seamlessly with Conditional Access features and
authentication strength capability to enforce MFA to help secure your users.
Supported scenarios
The following scenarios are supported:
Supported scenarios
The following considerations apply:
Unsupported scenarios
We recommend no more than 20 sets of keys for each passwordless method for any
user account. As more keys are added, the user object size increases, and you could
notice degradation for some operations. In that case, you should remove unnecessary
keys. For more information and the PowerShell cmdlets to query and remove keys, see
Using WHfBTools PowerShell module for cleaning up orphaned Windows Hello for
Business Keys .Use the /UserPrincipalName optional parameter to query only keys for
a specific user. The permissions required are to run as an administrator or the specified
user.
When you use PowerShell to create a CSV file with all of the existing keys, carefully
identify the keys that you need to keep, and remove those rows from the CSV. Then use
the modified CSV with PowerShell to delete the remaining keys to bring the account key
count under the limit.
It's safe to delete any key reported as "Orphaned"="True" in the CSV. An orphaned key
is one for a device that isn't longer registered in Microsoft Entra ID. If removing all
Orphans still doesn't bring the User account below the limit, it's necessary to look at the
DeviceId and CreationTime columns to identify which keys to target for deletion. Be
careful to remove any row in the CSV for keys you want to keep. Keys for any DeviceID
corresponding to devices the user actively uses should be removed from the CSV before
the deletion step.
Here are some factors for you to consider when choosing Microsoft passwordless
technology:
ノ Expand table
Pre- Windows 10, version 1809 or Authenticator app Windows 10, version 1903
requisite later Phone (iOS and or later
Microsoft Entra ID Android devices) Microsoft Entra ID
Systems PC with a built-in Trusted PIN and biometrics FIDO2 security devices that
and devices Platform Module (TPM) recognition on are Microsoft compatible
PIN and biometrics phone
recognition
User Sign in using a PIN or Sign in using a Sign in using FIDO2 security
experience biometric recognition (facial, mobile phone with device (biometrics, PIN, and
Windows Hello for Business Passwordless sign- FIDO2 security keys
in with the
Authenticator app
Use the following table to choose which method supports your requirements and users.
ノ Expand table
Admin Secure access to a device Assigned Windows Windows Hello for Business
for management tasks 10 device and/or FIDO2 security key
Next steps
To get started with passwordless in Microsoft Entra ID, complete one of the following
how-tos:
External Links
FIDO Alliance
FIDO2 Client to Authenticator Protocol (CTAP) specification
Feedback
Was this page helpful? Yes No
Microsoft Authenticator provides another level of security to your Microsoft Entra work
or school account or your Microsoft account. It's available for Android and iOS .
With the Microsoft Authenticator app, users can authenticate in a passwordless way
during sign-in. They can also use it as a verification option during self-service password
reset (SSPR) or multifactor authentication (MFA) events.
Microsoft Authenticator supports passkey, passwordless sign in, and MFA by using
notifications and verification codes.
Users can sign in with a passkey in the Authenticator app and complete phishing-
resistant authentication with their biometric sign-in or device PIN.
Users can set up Authenticator notifications and sign in with Authenticator instead
of their username and password.
Users can receive an MFA request on their mobile device, and approve or deny the
sign-in attempt from their phone.
They can also use an OATH verification code in the Authenticator app and enter it
in a sign-in interface.
For more information, see Enable passwordless sign-in with the Microsoft Authenticator.
7 Note
Android users with Company Portal versions below 2111 (5.0.5333.0) can't register
Authenticator until they update their Company Portal application to a newer
version.
Passkey sign-in
Authenticator is a free passkey solution that lets users do passwordless phishing-
resistant authentications from their own phones. Some key benefits to using passkeys in
the Authenticator app:
Passkeys can be easily deployed at scale. Then passkeys are available on a user's
phone for both mobile device management (MDM) and bring your own device
(BYOD) scenarios.
Passkeys in Authenticator come at no more cost and travel with the user wherever
they go.
Passkeys in Authenticator are device-bound which ensures the passkey doesn't
leave the device on which it was created.
Users stay up-to-date with latest passkey innovation based upon open WebAuthn
standards.
Enterprises can layer other capabilities on top of authentication flows such as
Federal Information Processing Standards (FIPS) 140 compliance.
Device-bound passkey
Passkeys in the Authenticator app are device-bound to ensure that they never leave the
device they were created on. On an iOS device, Authenticator uses the Secure Enclave to
create the passkey. On Android, we create the passkey in the Secure Element on devices
that support it, or fall back to the Trusted Execution Environment (TEE).
iOS: Authenticator attestation uses the iOS App Attest service to ensure the
legitimacy of the Authenticator app before registering the passkey.
Android:
For Play Integrity attestation, Authenticator attestation uses the Play Integrity
API to ensure the legitimacy of the Authenticator app before registering the
passkey.
For Key attestation, Authenticator attestation uses key attestation by Android
to verify that the passkey being registered is hardware-backed.
7 Note
For both iOS and Android, Authenticator attestation relies upon Apple and Google
services to verify the authenticity of the Authenticator app. Heavy service usage can
make passkey registration fail, and users may need to try again. If Apple and
Google services are down, Authenticator attestation blocks registration that
requires attestation until services are restored. To monitor the status of Google Play
Integrity service, see Google Play Status Dashboard . To monitor the status of the
iOS App Attest service, see System Status .
For more information about how to configure attestation, see How to enable passkeys
in Microsoft Authenticator for Microsoft Entra ID.
This authentication method provides a high level of security, and removes the need for
the user to provide a password at sign-in.
To get started with passwordless sign-in, see Enable passwordless sign-in with the
Microsoft Authenticator.
In China, the Notification through mobile app method on Android devices doesn't work
because as Google play services (including push notifications) are blocked in the region.
However, iOS notifications do work. For Android devices, alternate authentication
methods should be made available for those users.
FIPS 140 is a US government standard that defines minimum security requirements for
cryptographic modules in information technology products and systems. The
Cryptographic Module Validation Program (CMVP) maintains the testing against the
FIPS 140 standard.
For more information about the FIPS 140 validated cryptographic modules that are used
and compliant iOS devices, see Apple iOS security certifications .
ノ Expand table
SecurityInfo links
ノ Expand table
Updates to Authenticator
Microsoft continuously updates Authenticator to maintain a high level of security. To
ensure that your users are getting the best experience possible, we recommend having
them continuously update their Authenticator App. In the case of critical security
updates, app versions that aren't up-to-date may not work, and may block users from
completing their authentication. If a user is using a version of the app that isn't
supported, they're prompted to upgrade to the latest version before they proceed to
sign in.
Microsoft also periodically retires older versions of the Authenticator App to maintain a
high security bar for your organization. If a user's device doesn't support modern
versions of Microsoft Authenticator, they can't sign in with the app. We recommend they
sign in with an OATH verification code in Microsoft Authenticator to complete MFA.
Next steps
To get started with passkeys, see How to enable passkeys in Microsoft
Authenticator for Microsoft Entra ID.
For more information about passwordless sign-in, see Enable passwordless sign-in
with the Microsoft Authenticator.
Learn more about configuring authentication methods using the Microsoft Graph
REST API.
Feedback
Was this page helpful? Yes No
The following images show how Microsoft Entra CBA simplifies the customer
environment by eliminating federated AD FS.
Benefits Description
Great user - Users who need certificate-based authentication can now directly
experience authenticate against Microsoft Entra ID and not have to invest in federated AD
FS.
- Portal UI enables users to easily configure how to map certificate fields to a
user object attribute to look up the user in the tenant (certificate username
bindings)
- Portal UI to configure authentication policies to help determine which
certificates are single-factor versus multifactor.
Easy to deploy - Microsoft Entra CBA is a free feature, and you don't need any paid editions of
and administer Microsoft Entra ID to use it.
- No need for complex on-premises deployments or network configuration.
- Directly authenticate against Microsoft Entra ID.
Secure - On-premises passwords don't need to be stored in the cloud in any form.
- Protects your user accounts by working seamlessly with Microsoft Entra
Conditional Access policies, including Phishing-Resistant multifactor
authentication (MFA requires licensed edition) and blocking legacy
authentication.
- Strong authentication support where users can define authentication policies
through the certificate fields, such as issuer or policy OID (object identifiers), to
determine which certificates qualify as single-factor versus multifactor.
- The feature works seamlessly with Conditional Access features and
authentication strength capability to enforce MFA to help secure your users.
Supported scenarios
The following scenarios are supported:
Unsupported scenarios
The following scenarios aren't supported:
Certificate Authority hints aren't supported, so the list of certificates that appears
for users in the certificate picker UI isn't scoped.
Only one CRL Distribution Point (CDP) for a trusted CA is supported.
The CDP can be only HTTP URLs. We don't support Online Certificate Status
Protocol (OCSP), or Lightweight Directory Access Protocol (LDAP) URLs.
Password as an authentication method can't be disabled and the option to sign in
using a password is displayed even with Microsoft Entra CBA method available to
the user.
Out of Scope
The following scenarios are out of scope for Microsoft Entra CBA:
Next steps
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
Windows smart card sign in using Microsoft Entra CBA
Certificate user IDs
How to migrate federated users
FAQ
Feedback
Was this page helpful? Yes No
OATH time-based one-time password (TOTP) is an open standard that specifies how
one-time password (OTP) codes are generated. OATH TOTP can be implemented using
either software or hardware to generate the codes. Microsoft Entra ID doesn't support
OATH HOTP, a different code generation standard.
Some OATH TOTP hardware tokens are programmable, meaning they don't come with a
secret key or seed preprogrammed. These programmable hardware tokens can be set
up using the secret key or seed obtained from the software token setup flow. Customers
can purchase these tokens from the vendor of their choice and use the secret key or
seed in their vendor's setup process.
Microsoft Entra ID has a new Microsoft Graph API in preview for Azure. Administrators
can access Microsoft Graph APIs with least privileged roles to manage tokens in the
preview. There aren't any options to manage hardware OATH token in this preview
refresh in the Microsoft Entra admin center.
You can continue to manage tokens from the original preview in OATH tokens in the
Microsoft Entra admin center. On the other hand, you can only manage tokens in the
preview refresh by using Microsoft Graph APIs.
Hardware OATH tokens that you add with Microsoft Graph for this preview refresh
appear along with other tokens in the admin center. But you can only manage them by
using Microsoft Graph.
ノ Expand table
The following table lists the role requirements to manage hardware OATH tokens in the
preview refresh.
ノ Expand table
Read a token from the tenant’s inventory; doesn't return the secret. Authentication Policy
Administrator
Update a token in the tenant. For example, update manufacturer or Authentication Policy
module; Secret can't be updated. Administrator
ノ Expand table
Read the token of the user, doesn't Activated / Assigned Member (self)
return the secret. (depends if the token was Authentication Administrator
already activated or not) (only has restricted Read, not
standard Read)
Privileged Authentication
Administrator
Remove the token from the user. Available (back to the Member (self)
The token goes back to the token tenant inventory) Authentication Administrator
inventory. Privileged Authentication
Administrator
In the legacy multifactor authentication (MFA) policy, hardware and software OATH
tokens can only be enabled together. If you enable OATH tokens in the legacy MFA
policy, end users see an option to add Hardware OATH tokens in their Security info
page.
If you don't want end users to see an option to add Hardware OATH tokens, migrate to
the Authentication methods policy. In the Authentication methods policy, hardware and
software OATH tokens can be enabled and managed separately. For more information
about how to migrate to the Authentication methods policy, see How to migrate MFA
and SSPR policy settings to the Authentication methods policy for Microsoft Entra ID.
For more information about how to enable hardware OATH tokens and Microsoft Graph
APIs that you can use to upload, activate, and assign tokens, see How to manage OATH
tokens.
ノ Expand table
Related content
Learn more about how to manage OATH tokens. Learn about FIDO2 security key
providers that are compatible with passwordless authentication.
Feedback
Was this page helpful? Yes No
Microsoft recommends users move away from using text messages or voice calls for
multifactor authentication. Modern authentication methods like Microsoft Authenticator
are a recommended alternative. For more information, see It's Time to Hang Up on
Phone Transports for Authentication . Users can still verify themselves using a mobile
phone or office phone as secondary form of authentication used for multifactor
authentication or self-service password reset (SSPR).
You can configure and enable users for SMS-based authentication for direct
authentication using text message. Text messages are convenient for Frontline workers.
With text messages, users don't need to know a username and password to access
applications and services. The user instead enters their registered mobile phone
number, receives a text message with a verification code, and enters that in the sign-in
interface.
7 Note
Phone call verification isn't available for Microsoft Entra tenants with trial
subscriptions. For example, if you sign up for a trial license Microsoft Enterprise
Mobility and Security (EMS), phone call verification isn't available. Phone numbers
must be provided in the format +CountryCode PhoneNumber, for example, +1
4251234567. There must be a space between the country/region code and the
phone number.
If users don't want their mobile phone number to be visible in the directory but want to
use it for password reset, administrators shouldn't populate the phone number in the
directory. Instead, users should populate their Authentication Phone at My Sign-Ins .
Administrators can see this information in the user's profile, but it's not published
elsewhere.
7 Note
7 Note
We apply delivery method optimizations such that tenants with a free or trial
subscription may receive a text message or voice call.
Text messages can be sent over channels such as Short Message Service (SMS), Rich
Communication Services (RCS), or WhatsApp.
Android users can enable RCS on their devices. RCS offers encryption and other
improvements over SMS. For Android, MFA text messages may be sent over RCS rather
than SMS. The MFA text message is similar to SMS, but RCS messages have more
Microsoft branding and a verified checkmark so users know they can trust the message.
Some users may receive their verification codes in WhatsApp. Like RCS, these messages
are similar to SMS, but have more Microsoft branding and a verified checkmark. The first
time a user receives a verification code in WhatsApp, they're notified by SMS text
message of the changed behavior.
Only users that have WhatsApp receive verification codes through this channel. To check
if a user has WhatsApp, we silently try to deliver them a message in the app by using the
phone number they registered for text message verification.
If users don't have any internet connectivity or they uninstall WhatsApp, they receive
SMS verification codes. The phone number associated with Microsoft's WhatsApp
Business Agent is: +1 (217) 302 1989.
Phone call verification
With phone call verification during SSPR or Microsoft Entra multifactor authentication,
an automated voice call is made to the phone number registered by the user. To
complete the sign-in process, the user is prompted to press # on their keypad.
The calling number that a user receives the voice call from differs for each country. See
phone call settings to view all possible voice call numbers.
7 Note
SSPR can only be completed with a primary phone method or an office phone
method. Alternate phone methods are only available for MFA.
"You've hit our limit on verification calls" or "You've hit our limit on text verification
codes" error messages during sign-in
Microsoft may limit repeated authentication attempts that are performed by the
same user or organization in a short period of time. This limitation doesn't apply
to Microsoft Authenticator or verification codes. If you have hit these limits, you
can use the Authenticator App, verification code or try to sign in again in a few
minutes.
"Sorry, we're having trouble verifying your account" error message during sign-in
Microsoft may limit or block voice or text message authentication attempts that
are performed by the same user, phone number, or organization due to high
number of voice or text message authentication attempts. If you experience this
error, you can try another method, such as Authenticator or verification code, or
reach out to your admin for support.
User is blocked
Have a Microsoft Entra administrator unblock the user in the Microsoft Entra
admin center.
Text messaging platforms like SMS, RCS, or WhatsApp aren't subscribed on the
device.
Have the user change methods or activate a text messaging platform on the
device.
Faulty telecom providers, such as when no phone input is detected, missing DTMF
tones issues, blocked caller ID on multiple devices, or blocked text messages
across multiple devices.
Microsoft uses multiple telecom providers to route phone calls and text
messages for authentication. If you see any of these issues, have a user attempt
to use the method at least five times within 5 minutes and have that user's
information available when contacting Microsoft support.
There are a few country codes blocked for voice MFA unless your Microsoft
Entra administrator has opted in for those country codes. Have your Microsoft
Entra administrator opt-in to receive MFA for those country codes.
Next steps
To get started, see the tutorial for self-service password reset (SSPR) and Microsoft Entra
multifactor authentication.
To learn more about SSPR concepts, see How Microsoft Entra self-service password reset
works.
To learn more about MFA concepts, see How Microsoft Entra multifactor authentication
works.
Learn more about configuring authentication methods using the Microsoft Graph REST
API.
Feedback
Was this page helpful? Yes No
Authentication Administrators provide a temporary PIN to users, who then change it during
sign-in. Only the user knows the PIN. It's exclusively bound to the QR code only. It can't be
used with other user identifiers, such as a username or phone number. QR code authentication
is a single-factor method in which the PIN (something you know) is a credential.
Benefit Description
Easier and faster Frontline workers don't have to enter complex usernames or passwords to sign in
sign-in multiple times into shared devices throughout their shift.
Inexpensive Printing a QR code costs less than a hardware key, which can be cost prohibitive for
organizations with temporary frontline workers.
PIN properties
The following policies are applied when an Authentication Policy Administrator creates or
resets a PIN.
ノ Expand table
Policy Values
PIN complexity Enforced to avoid repetition and common sequences. The following patterns are
checked:
- Don't contain 0123456789 or 9876543210.
- Don't repeat a sequence of 2-3 digits in the PIN, like 121212, or 123123 or 342342.
An Invalid PIN error appears if the PIN includes unallowed characters or is less than
the minimum PIN length.
QR code authentication is primarily for frontline workers (FLW) and not for information
workers (IW). We recommend phishing-resistant authentication or MFA for IW.
Don't enable QR code authentication for all the users in your tenant. Enable only for
target users who will be using this auth method, for example, create a group for frontline
workers and enable QR code auth only for them in Microsoft Entra Authentication
Methods policies.
Combine QR code authentication with Conditional Access policies as another security
layer. We recommended policies such as compliant devices, access within network, allow
for certain applications, and shared device mode.
Enforce phishing-resistant authentication or MFA when users access resources from
outside of the store or workplace network.
Replace QR codes that are lost or stolen.
Enforce sign-in risk based Conditional Access policy to block access.
Lifetime of standard QR code: 1-395 days. Default is 365 days. An Authentication Policy
Administrator can change the default value when they add a standard QR code for a user.
For example, an admin can set the value to 30 days in the Authentication method policy.
For every user in that tenant, the default expiration of a standard QR code is 30 days. An
admin can change the default lifetime of the standard QR code for a specific user.
In this screenshot, the PIN length is set to the default of eight digits. The lifetime for the
standard QR code is reduced to 200 days.
A temporary QR code helps when a user forgets to bring their badge with standard QR code. It
has a shorter lifetime, up to 12 hours. When a QR code authentication method is deleted for
the user, they can't sign-in with their existing QR codes and PIN.
A PIN works with both standard and temporary QR codes because PIN is valid for the QR code
authentication method. An Authentication Policy Administrator can provide a custom PIN or
generate a PIN when they create a QR code authentication method. They can copy a
temporary PIN only when they generate it. The PIN is then masked to prevent exposure.
The usability states for a standard QR code, a temporary QR code, and the PIN for a QR code
authentication method aren't related to each other. For example, an active QR code
authentication method can have a deleted or expired standard QR code, and an active
temporary QR code. At any given point of time, there can be only a single active standard QR
code and a single active temporary QR code.
The following table lists examples for combinations for the states for a standard QR code, a
temporary QR code, and PIN. An active QR code and active PIN are required for successful
authentication.
ノ Expand table
For more information about how to manage QR codes, see How to enable the QR code
authentication method in Microsoft Entra ID (Preview).
For more information about how to optimize the sign-in experience, see:
Known issue
If you enable QR code authentication for a user, they need to sign-in with an existing
authentication method before they can sign in with a QR code for the first time, or they see an
Incorrect QR code error.
For example:
The user needs to sign in with another method because the cached user authentication
method policy isn't updated until the user is authenticated again.
Related content
How to enable the QR code authentication method in Microsoft Entra ID (Preview)
Best practices to protect frontline workers
Manage your users with My Staff
What authentication and verification methods are available in Microsoft Entra ID?
Configure and enable users for SMS-
based authentication using Microsoft
Entra ID
Article • 03/04/2025
To simplify and secure sign-in to applications and services, Microsoft Entra ID provides
multiple authentication options. SMS-based authentication lets users sign-in without
providing, or even knowing, their user name and password. After their account is
created by an identity administrator, they can enter their phone number at the sign-in
prompt. They receive an SMS authentication code that they can provide to complete the
sign-in. This authentication method simplifies access to applications and services,
especially for Frontline workers.
This article shows you how to enable SMS-based authentication for select users or
groups in Microsoft Entra ID. For a list of apps that support using SMS-based sign-in,
see App support for SMS-based authentication.
Known issues
Here are some known issues:
First, let's enable SMS-based authentication for your Microsoft Entra tenant.
7 Note
Each user that's enabled in SMS authentication method policy must be licensed, even if
they don't use it. Make sure you have the appropriate licenses for the users you enable
in the authentication method policy, especially when you enable the feature for large
groups of users.
When a phone number is set for SMS-based sign-in, it's also then available for use with
Microsoft Entra multifactor authentication and self-service password reset.
2. From the navigation menu on the left-hand side of the Microsoft Entra window,
select Users.
3. Select the user you enabled for SMS-based authentication in the previous section,
such as Contoso User, then select Authentication methods.
Enter the user's phone number, including the country code, such as +1 xxxxxxxxx.
The Microsoft Entra admin center validates the phone number is in the correct
format.
Then, from the Phone type drop-down menu, select Mobile, Alternate mobile, or
Other as needed.
The phone number must be unique in your tenant. If you try to use the same
phone number for multiple users, an error message is shown.
When successfully provisioned, a check mark appears for SMS Sign-in enabled.
3. At the sign-in prompt, enter the phone number associated with the user in the
previous section, then select Next.
4. An SMS message is sent to the phone number provided. To complete the sign-in
process, enter the 6-digit code provided in the SMS message at the sign-in
prompt.
5. The user is now signed in without the need to provide a username or password.
A user that has a phone number already set for their account is displayed a button to
Enable for SMS sign-in in their My Profile page. Select this button, and the account is
enabled for use with SMS-based sign-in and the previous Microsoft Entra multifactor
authentication or SSPR registration.
For more information on the end-user experience, see SMS sign-in user experience for
phone number .
Next steps
For a list of apps that support using SMS-based sign-in, see App support for SMS-
based authentication.
For more ways to sign-in to Microsoft Entra ID without a password, such as the
Microsoft Authenticator App or FIDO2 security keys, see Passwordless
authentication options for Microsoft Entra ID.
You can also use the Microsoft Graph REST API to enable or disable SMS-based
sign-in.
Feedback
Was this page helpful? Yes No
7 Note
Sign-in to Microsoft Entra ID with email as an alternate login ID is a public preview feature
of Microsoft Entra ID. For more information about previews, see Supplemental Terms of
Use for Microsoft Azure Previews .
Many organizations want to let users sign in to Microsoft Entra ID using the same credentials
as their on-premises directory environment. With this approach, known as hybrid
authentication, users only need to remember one set of credentials.
Some organizations haven't moved to hybrid authentication for the following reasons:
By default, the Microsoft Entra user Principal Name (UPN) is set to the same value as the
on-premises UPN.
Changing the Microsoft Entra UPN creates a mismatch between on-premises and
Microsoft Entra environments that could cause problems with certain applications and
services.
Due to business or compliance reasons, the organization doesn't want to use the on-
premises UPN to sign in to Microsoft Entra ID.
To move toward hybrid authentication, you can configure Microsoft Entra ID to let users sign in
with their email as an alternate login ID. For example, if Contoso rebranded to Fabrikam, rather
than continuing to sign in with the legacy [email protected] UPN, email as an alternate login ID
can be used. To access an application or service, users would sign in to Microsoft Entra ID using
their non-UPN email, such as [email protected] .
This article shows you how to enable and use email as an alternate login ID.
Before you begin
Here's what you need to know about email as an alternate login ID:
Preview limitations
In the current preview state, the following limitations apply to email as an alternate login ID:
User experience - Users may see their UPN, even when they signed-in with their non-
UPN email. The following example behavior may be seen:
User is prompted to sign in with UPN when directed to Microsoft Entra sign-in with
login_hint=<non-UPN email> .
When a user signs-in with a non-UPN email and enters an incorrect password, the
"Enter your password" page changes to display the UPN.
On some Microsoft sites and apps, such as Microsoft Office, the Account Manager
control typically displayed in the upper right may display the user's UPN instead of the
non-UPN email used to sign in.
Unsupported flows - Some flows are currently not compatible with non-UPN emails, such
as the following:
Microsoft Entra ID Protection doesn't match non-UPN emails with Leaked Credentials
risk detection. This risk detection uses the UPN to match credentials that have been
leaked. For more information, see How To: Investigate risk.
When a user is signed-in with a non-UPN email, they cannot change their password.
Microsoft Entra self-service password reset (SSPR) should work as expected. During
SSPR, the user may see their UPN if they verify their identity using a non-UPN email.
Unsupported scenarios - The following scenarios are not supported. Sign-in with non-
UPN email for:
Microsoft Entra hybrid joined devices
Microsoft Entra joined devices
Microsoft Entra registered devices
Single Sign-On and App Protection Policies on Mobile Platform
Legacy authentication such as POP3 and SMTP
Unsupported apps - Some third-party applications may not work as expected if they
assume that the unique_name or preferred_username claims are immutable or will always
match a specific user attribute, such as UPN.
Logging - Changes made to the feature's configuration in HRD policy are not explicitly
shown in the audit logs.
Staged rollout policy - The following limitations apply only when the feature is enabled
using staged rollout policy:
The feature does not work as expected for users that are included in other staged
rollout policies.
Staged rollout policy supports a maximum of 10 groups per feature.
Staged rollout policy does not support nested groups.
Staged rollout policy does not support dynamic membership groups.
Contact objects inside the group will block the group from being added to a staged
rollout policy.
Duplicate values - Within a tenant, a cloud-only user's UPN can be the same value as
another user's proxy address synced from the on-premises directory. In this scenario, with
the feature enabled, the cloud-only user will not be able to sign in with their UPN. More
on this issue in the Troubleshoot section.
For organizations where the on-premises UPN is the user's preferred sign-in email, this
approach was great. Those organizations would set the Microsoft Entra UPN to the exact same
value as the on-premises UPN, and users would have a consistent sign-in experience.
Alternate Login ID for AD FS
However, in some organizations the on-premises UPN isn't used as a sign-in identifier. In the
on-premises environments, you would configure the local AD DS to allow sign-in with an
alternate login ID. Setting the Microsoft Entra UPN to the same value as the on-premises UPN
isn't an option as Microsoft Entra ID would then require users to sign in with that value.
ノ Expand table
Option Description
Alternate Login ID for AD FS Enable sign-in with an alternate attribute (such as Mail) for AD
FS users.
Alternate Login ID in Microsoft Entra Synchronize an alternate attribute (such as Mail) as the Microsoft
Connect Entra UPN.
Email as an Alternate Login ID Enable sign-in with verified domain ProxyAddresses for Microsoft
Entra users.
In both configuration options, the user submits their username and password to Microsoft
Entra ID, which validates the credentials and issues a ticket. When users sign in to Microsoft
Entra ID, it removes the need for your organization to host and manage an AD FS
infrastructure.
One of the user attributes that's automatically synchronized by Microsoft Entra Connect is
ProxyAddresses. If users have an email address defined in the on-premises AD DS environment
as part of the ProxyAddresses attribute, it's automatically synchronized to Microsoft Entra ID.
This email address can then be used directly in the Microsoft Entra sign-in process as an
alternate login ID.
) Important
Only emails in verified domains for the tenant are synchronized to Microsoft Entra ID. Each
Microsoft Entra tenant has one or more verified domains, for which you have proven
ownership, and are uniquely bound to your tenant.
For more information, see Add and verify a custom domain name in Microsoft Entra ID.
Email as an alternate login ID applies to Microsoft Entra B2B collaboration under a "bring your
own sign-in identifiers" model. When email as an alternate login ID is enabled in the home
tenant, Microsoft Entra users can perform guest sign in with non-UPN email on the resource
tenant endpoint. No action is required from the resource tenant to enable this functionality.
7 Note
When an alternate login ID is used on a resource tenant endpoint that does not have the
functionality enabled, the sign-in process will work seamlessly, but SSO will be interrupted.
7 Note
This configuration option uses HRD policy. For more information, see
homeRealmDiscoveryPolicy resource type.
Once users with the ProxyAddresses attribute applied are synchronized to Microsoft Entra ID
using Microsoft Entra Connect, you need to enable the feature for users to sign in with email as
an alternate login ID for your tenant. This feature tells the Microsoft Entra login servers to not
only check the sign-in identifier against UPN values, but also against ProxyAddresses values for
the email address.
You can use either Microsoft Entra admin center or Graph PowerShell to set up the feature.
With the policy applied, it can take up to one hour to propagate and for users to be able to
sign in using their alternate login ID.
PowerShell
7 Note
This configuration option uses HRD policy. For more information, see
homeRealmDiscoveryPolicy resource type.
Once users with the ProxyAddresses attribute applied are synchronized to Microsoft Entra ID
using Microsoft Entra Connect, you need to enable the feature for users to sign-in with email
as an alternate login ID for your tenant. This feature tells the Microsoft Entra login servers to
not only check the sign-in identifier against UPN values, but also against ProxyAddresses values
for the email address.
PowerShell
Install-Module Microsoft.Graph
For more information on installation, see Install the Microsoft Graph PowerShell SDK.
PowerShell
PowerShell
Get-MgPolicyHomeRealmDiscoveryPolicy
PowerShell
$AzureADPolicyDefinition = @(
@{
"HomeRealmDiscoveryPolicy" = @{
"AlternateIdLogin" = @{
"Enabled" = $true
}
}
} | ConvertTo-JSON -Compress
)
$AzureADPolicyParameters = @{
Definition = $AzureADPolicyDefinition
DisplayName = "BasicAutoAccelerationPolicy"
AdditionalProperties = @{ IsOrganizationDefault = $true }
}
New-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
When the policy has been successfully created, the command returns the policy ID, as
shown in the following example output:
PowerShell
Definition
DeletedDateTime Description DisplayName Id
IsOrganizationDefault
---------- --------
------- ----------- ----------- -- ---------------
------
{{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}}
BasicAutoAccelerationPolicy HRD_POLICY_ID True
PowerShell
Definition
DeletedDateTime Description DisplayName Id
IsOrganizationDefault
---------- --------
------- ----------- ----------- -- ---------------
------
{{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}}
BasicAutoAccelerationPolicy HRD_POLICY_ID True
If the policy exists but the AlternateIdLogin attribute that isn't present or enabled, or if
other attributes exist on the policy you wish to preserve, update the existing policy using
the Update-MgPolicyHomeRealmDiscoveryPolicy cmdlet.
) Important
When you update the policy, make sure you include any old settings and the new
AlternateIdLogin attribute.
The following example adds the AlternateIdLogin attribute and preserves the
AllowCloudPasswordValidation attribute that was previously set:
PowerShell
$AzureADPolicyDefinition = @(
@{
"HomeRealmDiscoveryPolicy" = @{
"AllowCloudPasswordValidation" = $true
"AlternateIdLogin" = @{
"Enabled" = $true
}
}
} | ConvertTo-JSON -Compress
)
$AzureADPolicyParameters = @{
HomeRealmDiscoveryPolicyId = "HRD_POLICY_ID"
Definition = $AzureADPolicyDefinition
DisplayName = "BasicAutoAccelerationPolicy"
AdditionalProperties = @{ "IsOrganizationDefault" = $true }
}
Update-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
Confirm that the updated policy shows your changes and that the AlternateIdLogin
attribute is now enabled:
PowerShell
Get-MgPolicyHomeRealmDiscoveryPolicy
7 Note
With the policy applied, it can take up to an hour to propagate and for users to be able to
sign-in using email as an alternate login ID.
Removing policies
To remove an HRD policy, use the Remove-MgPolicyHomeRealmDiscoveryPolicy cmdlet:
PowerShell
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId
"HRD_POLICY_ID"
7 Note
This configuration option uses staged rollout policy. For more information, see
featureRolloutPolicy resource type.
Staged rollout policy allows tenant administrators to enable features for specific Microsoft
Entra groups. It is recommended that tenant administrators use staged rollout to test user
sign-in with an email address. When administrators are ready to deploy this feature to their
entire tenant, they should use HRD policy.
PowerShell
Install-Module Microsoft.Graph.Beta
PowerShell
The command returns information about your account, environment, and tenant ID.
3. List all existing staged rollout policies using the following cmdlet:
PowerShell
Get-MgBetaPolicyFeatureRolloutPolicy
4. If there are no existing staged rollout policies for this feature, create a new staged rollout
policy and take note of the policy ID:
PowerShell
$MgPolicyFeatureRolloutPolicy = @{
Feature = "EmailAsAlternateId"
DisplayName = "EmailAsAlternateId Rollout Policy"
IsEnabled = $true
}
New-MgBetaPolicyFeatureRolloutPolicy @MgPolicyFeatureRolloutPolicy
5. Find the directoryObject ID for the group to be added to the staged rollout policy. Note
the value returned for the Id parameter, because it will be used in the next step.
PowerShell
6. Add the group to the staged rollout policy as shown in the following example. Replace
the value in the -FeatureRolloutPolicyId parameter with the value returned for the policy
ID in step 4 and replace the value in the -OdataId parameter with the Id noted in step 5. It
may take up to 1 hour before users in the group can sign in to Microsoft Entra ID with
email as an alternate login ID.
PowerShell
New-MgBetaDirectoryFeatureRolloutPolicyApplyToByRef `
-FeatureRolloutPolicyId "ROLLOUT_POLICY_ID" `
-OdataId
"https://graph.microsoft.com/v1.0/directoryObjects/{GROUP_OBJECT_ID}"
For new members added to the group, it may take up to 24 hours before they can sign in to
Microsoft Entra ID with email as an alternate login ID.
Removing groups
To remove a group from a staged rollout policy, run the following command:
PowerShell
Remove-MgBetaPolicyFeatureRolloutPolicyApplyToByRef -FeatureRolloutPolicyId
"ROLLOUT_POLICY_ID" -DirectoryObjectId "GROUP_OBJECT_ID"
Removing policies
To remove a staged rollout policy, first disable the policy then remove it from the system:
PowerShell
Update-MgBetaPolicyFeatureRolloutPolicy -FeatureRolloutPolicyId
"ROLLOUT_POLICY_ID" -IsEnabled:$false
Remove-MgBetaPolicyFeatureRolloutPolicy -FeatureRolloutPolicyId
"ROLLOUT_POLICY_ID"
Troubleshoot
If users have trouble signing in with their email address, review the following troubleshooting
steps:
1. Make sure it's been at least 1 hour since email as an alternate login ID was enabled. If the
user was recently added to a group for staged rollout policy, make sure it's been at least
24 hours since they were added to the group.
2. If using HRD policy, confirm that the Microsoft Entra ID HomeRealmDiscoveryPolicy has
the AlternateIdLogin definition property set to "Enabled": true and the
IsOrganizationDefault property set to True:
PowerShell
Get-MgBetaPolicyHomeRealmDiscoveryPolicy | Format-List *
If using staged rollout policy, confirm that the Microsoft Entra ID FeatureRolloutPolicy has
the IsEnabled property set to True:
PowerShell
Get-MgBetaPolicyFeatureRolloutPolicy
3. Make sure the user account has their email address set in the ProxyAddresses attribute in
Microsoft Entra ID.
Sign-in logs
You can review the sign-in logs in Microsoft Entra ID for more information. Sign-ins with email
as an alternate login ID will emit proxyAddress in the Sign-in identifier type field and the
inputted username in the Sign-in identifier field.
1. Open a PowerShell session as an administrator, then install Microsoft Graph by using the
Install-Module cmdlet:
PowerShell
Install-Module Microsoft.Graph.Authentication
PowerShell
PowerShell
PowerShell
PowerShell
Next steps
To learn more about hybrid identity, such as Microsoft Entra application proxy or Microsoft
Entra Domain Services, see Microsoft Entra hybrid identity for access and management of on-
prem workloads.
For more information on hybrid identity operations, see how password hash sync or pass-
through authentication synchronization work.
Authentication methods in Microsoft
Entra ID - security questions
Article • 03/04/2025
When users register for SSPR, they're prompted to choose the authentication methods
to use. If they choose to use security questions, they pick from a set of questions to
prompt for and then provide their own answers.
7 Note
Security questions are stored privately and securely on a user object in the
directory and can only be answered by users during registration. There's no way for
an administrator to read or modify a user's questions or answers.
Security questions can be less secure than other methods because some people might
know the answers to another user's questions. If you use security questions with SSPR,
it's recommended to use them in along with another method. A user can be prompted
to use the Microsoft Authenticator App or phone authentication to verify their identity
during the SSPR process, and choose security questions only if they don't have their
phone or registered device with them.
Predefined questions
The following predefined security questions are available for use as a verification
method with SSPR. All of these security questions are translated and localized into the
full set of Microsoft 365 languages based on the user's browser locale:
Custom security questions aren't automatically localized like with the default security
questions. All custom questions are displayed in the same language as they're entered
in the administrative user interface, even if the user's browser locale is different. If you
need localized questions, you should use the predefined questions.
Next steps
To get started, see the tutorial for self-service password reset (SSPR).
To learn more about SSPR concepts, see How Microsoft Entra self-service password reset
works.
Learn more about configuring authentication methods using the Microsoft Graph REST
API.
Feedback
Was this page helpful? Yes No
Provide product feedback
Conditional Access authentication
strength
Article • 03/04/2025
Authentication strengths
Administrators can specify an authentication strength to access a resource by creating a
Conditional Access policy with the Require authentication strength control. They can
choose from three built-in authentication strengths: Multifactor authentication
strength, Passwordless MFA strength, and Phishing-resistant MFA strength. They can
also create a custom authentication strength based on the authentication method
combinations they want to allow.
For an example, the built-in Phishing-resistant MFA strength allows the following
combinations:
Or
FIDO2 security key
Or
MFA strength - the same set of combinations that could be used to satisfy the
Require multifactor authentication setting.
Passwordless MFA strength - includes authentication methods that satisfy MFA
but don't require a password.
Phishing-resistant MFA strength - includes methods that require an interaction
between the authentication method and the sign-in surface.
ノ Expand table
Certificate-based authentication ✅ ✅ ✅
(Multi-Factor)
Federated single-factor + ✅
something you have1
Federated Multi-Factor ✅
Certificate-based authentication
(single-factor)
SMS sign-in
Password
Federated single-factor
1
Something you have refers to one of the following methods: text message, voice, push
notification, software OATH token, or hardware OATH token.
The following API call can be used to list definitions of all the built-in authentication
strengths:
HTTP
GET
https://graph.microsoft.com/beta/identity/conditionalAccess/authenticationSt
rength/policies?$filter=policyType eq 'builtIn'
Limitations
Conditional Access policies are only evaluated after the initial authentication -
As a result, authentication strength doesn't restrict a user's initial authentication.
Suppose you are using the built-in phishing-resistant MFA strength. A user can still
type in their password, but they are required to sign in with a phishing-resistant
method such as FIDO2 security key before they can continue.
Windows Hello for Business – If the user signed in with Windows Hello for
Business as their primary authentication method, it can be used to satisfy an
authentication strength requirement that includes Windows Hello for Business.
However, if the user signed in with another method like password as their primary
authentication method, and the authentication strength requires Windows Hello
for Business, they aren't prompted to sign in with Windows Hello for Business. The
user needs to restart the session, choose Sign-in options, and select a method
required by the authentication strength.
Known issues
Authentication strength and sign-in frequency - When a resource requires an
authentication strength and a sign-in frequency, users can satisfy both
requirements at two different times.
For example, let's say a resource requires passkey (FIDO2) for the authentication
strength, and a 1-hour sign-in frequency. 24 hours ago, a user signed in with
passkey (FIDO2) to access the resource.
When the user unlocks their Windows device using Windows Hello for Business,
they can access the resource again. Yesterday's sign-in satisfies the authentication
strength requirement, and today's device unlock satisfies the sign-in frequency
requirement.
FAQ
For example, the administrator of Contoso wants to allow their users to use Microsoft
Authenticator with either push notifications or passwordless authentication mode. The
administrator goes to the Microsoft Authenticator settings in the Authentication
methods policy, scopes the policy for the relevant users, and sets the Authentication
mode to Any.
Then for Contoso's most sensitive resource, the administrator wants to restrict the
access to only passwordless authentication methods. The administrator creates a new
Conditional Access policy, using the built-in Passwordless MFA strength.
As a result, users in Contoso can access most of the resources in the tenant using
password + push notification from the Microsoft Authenticator OR only using Microsoft
Authenticator (phone sign-in). However, when the users in the tenant access the
sensitive application, they must use Microsoft Authenticator (phone sign-in).
Prerequisites
Microsoft Entra ID P1 - Your tenant needs to have Microsoft Entra ID P1 license to
use Conditional Access. If needed, you can enable a free trial .
Next steps
Custom Conditional Access authentication strengths
How authentication strength works for external users
Troubleshoot authentication strengths
Feedback
Was this page helpful? Yes No
This topic explains how Conditional Access authentication strength can restrict which
authentication methods are allowed to access a resource.
Security > Authentication methods > Policies is a more modern way to manage
authentication methods for specific users and groups. You can specify users and
groups for different methods. You can also configure parameters to control how a
method can be used.
During sign-in, all settings are checked to determine which methods are allowed, which
methods are registered, and which methods are required by the Conditional Access
policy. To sign in, the method must be allowed, registered by the user (either before or
as part of the access request), and satisfy the authentication strength.
For example, let’s assume Contoso would like to require their users to always sign in
with a multifactor authentication method and from a compliant device. Contoso also
wants to allow new employees to register these MFA methods using a Temporary Access
Pass (TAP). TAP can’t be used on any other resource. To achieve this goal, the admin can
take the following steps:
As a result, users on a compliant device would be able to use a Temporary Access Pass
to register any MFA method, and then use the newly registered method to authenticate
to other resources like Outlook.
7 Note
User experience
The following factors determine if the user gains access to the resource:
Users are required to register only one authentication method that satisfies the
authentication strength requirement.
If the authentication strength doesn't include a method that the user can register and
use, the user is blocked from sign-in to the resource.
ノ Expand table
Windows Hello for Can be registered in the Windows Out of Box Experience (OOBE) or
Business the Windows Settings menu.
Next steps
Built-in authentication strengths
Custom authentication strengths
How authentication strength works for external users
Troubleshoot authentication strengths
Feedback
Was this page helpful? Yes No
Authentication strengths
Administrators can specify an authentication strength to access a resource by creating a
Conditional Access policy with the Require authentication strength control. They can
choose from three built-in authentication strengths: Multifactor authentication
strength, Passwordless MFA strength, and Phishing-resistant MFA strength. They can
also create a custom authentication strength based on the authentication method
combinations they want to allow.
For an example, the built-in Phishing-resistant MFA strength allows the following
combinations:
Or
FIDO2 security key
Or
MFA strength - the same set of combinations that could be used to satisfy the
Require multifactor authentication setting.
Passwordless MFA strength - includes authentication methods that satisfy MFA
but don't require a password.
Phishing-resistant MFA strength - includes methods that require an interaction
between the authentication method and the sign-in surface.
ノ Expand table
Certificate-based authentication ✅ ✅ ✅
(Multi-Factor)
Federated single-factor + ✅
something you have1
Federated Multi-Factor ✅
Certificate-based authentication
(single-factor)
SMS sign-in
Password
Federated single-factor
1
Something you have refers to one of the following methods: text message, voice, push
notification, software OATH token, or hardware OATH token.
The following API call can be used to list definitions of all the built-in authentication
strengths:
HTTP
GET
https://graph.microsoft.com/beta/identity/conditionalAccess/authenticationSt
rength/policies?$filter=policyType eq 'builtIn'
Limitations
Conditional Access policies are only evaluated after the initial authentication -
As a result, authentication strength doesn't restrict a user's initial authentication.
Suppose you are using the built-in phishing-resistant MFA strength. A user can still
type in their password, but they are required to sign in with a phishing-resistant
method such as FIDO2 security key before they can continue.
Windows Hello for Business – If the user signed in with Windows Hello for
Business as their primary authentication method, it can be used to satisfy an
authentication strength requirement that includes Windows Hello for Business.
However, if the user signed in with another method like password as their primary
authentication method, and the authentication strength requires Windows Hello
for Business, they aren't prompted to sign in with Windows Hello for Business. The
user needs to restart the session, choose Sign-in options, and select a method
required by the authentication strength.
Known issues
Authentication strength and sign-in frequency - When a resource requires an
authentication strength and a sign-in frequency, users can satisfy both
requirements at two different times.
For example, let's say a resource requires passkey (FIDO2) for the authentication
strength, and a 1-hour sign-in frequency. 24 hours ago, a user signed in with
passkey (FIDO2) to access the resource.
When the user unlocks their Windows device using Windows Hello for Business,
they can access the resource again. Yesterday's sign-in satisfies the authentication
strength requirement, and today's device unlock satisfies the sign-in frequency
requirement.
FAQ
For example, the administrator of Contoso wants to allow their users to use Microsoft
Authenticator with either push notifications or passwordless authentication mode. The
administrator goes to the Microsoft Authenticator settings in the Authentication
methods policy, scopes the policy for the relevant users, and sets the Authentication
mode to Any.
Then for Contoso's most sensitive resource, the administrator wants to restrict the
access to only passwordless authentication methods. The administrator creates a new
Conditional Access policy, using the built-in Passwordless MFA strength.
As a result, users in Contoso can access most of the resources in the tenant using
password + push notification from the Microsoft Authenticator OR only using Microsoft
Authenticator (phone sign-in). However, when the users in the tenant access the
sensitive application, they must use Microsoft Authenticator (phone sign-in).
Prerequisites
Microsoft Entra ID P1 - Your tenant needs to have Microsoft Entra ID P1 license to
use Conditional Access. If needed, you can enable a free trial .
Next steps
Custom Conditional Access authentication strengths
How authentication strength works for external users
Troubleshoot authentication strengths
Feedback
Was this page helpful? Yes No
By using authentication strength advanced options, you can require a specific certificate
issuer or policy OID to further restrict sign-ins to an application.
For example, Contoso issues smart cards to employees with three different types of
multifactor certificates. One certificate is for confidential clearance, another for secret
clearance, and a third is for top secret clearance. Each one is distinguished by properties
of the certificate, such as policy OID or issuer. Contoso wants to ensure that only users
with the appropriate multifactor certificate can access data for each classification.
The next sections show how to configure advanced options for CBA by using the
Microsoft Entra admin center and Microsoft Graph.
7. You can select certificate issuers from the drop-down menu, type the certificate
issuers and type the allowed policy OIDs. The drop-down menu lists all certificate
authorities from the tenant irrespective of whether they're single-factor or
multifactor. Certificate issuers can be configured either by using the drop down
Certificate issuers from the certificate authorities in your tenant or by using
Other certificate issuer by SubjectkeyIdentifier for scenarios where the certificate
you would like to use is not uploaded to the Certificate authorities in your tenant.
One such example is external user scenarios, where the user could be
authenticating in their home tenant and auth strength is being enforced on the
resource tenant.
If both attributes Certificate issuers AND Policy OIDs are configured, there's a
AND relationship and the user has to use a certificate that has atleast one of
the issuers AND one of the policy OID from the list to satisfy the
authentication strength.
If only Certificate issuers attribute is configured then the user has to use a
certificate that has atleast one of the issuers to satisfy the authentication
strength .
If only Policy OIDs attribute is configured then the user has to use a certificate
that has atleast one of the policy OIDs to satisfy the authentication strength.
7 Note
Microsoft Graph
To create a new Conditional Access authentication strength policy with certificate
combinationConfiguration:
JSON
POST /beta/identity/conditionalAccess/authenticationStrength/policies
{
"displayName": "CBA Restriction",
"description": "CBA Restriction with both IssuerSki and OIDs",
"allowedCombinations": [
" x509CertificateMultiFactor "
],
"combinationConfigurations": [
{
"@odata.type":
"#microsoft.graph.x509CertificateCombinationConfiguration",
"appliesToCombinations": [
"x509CertificateMultiFactor"
],
"allowedIssuerSkis":
["9A4248C6AC8C2931AB2A86537818E92E7B6C97B6"],
"allowedPolicyOIDs": [
"1.2.3.4.6",
"1.2.3.4.5.6"
]
}
]
}
JSON
POST
beta/identity/conditionalAccess/authenticationStrength/policies/{authenticat
ionStrengthPolicyId}/combinationConfigurations
{
"@odata.type":
"#microsoft.graph.x509CertificateCombinationConfiguration",
"allowedIssuerSkis": [
"9A4248C6AC8C2931AB2A86537818E92E7B6C97B6"
],
"allowedPolicyOIDs": [],
"appliesToCombinations": [
"x509CertificateSingleFactor "
]
}
Limitations
7 Note
If the certificate doesn't conform, user authentication might succeed, but not
satisfy the issuerSki restrictions for the authentication strength policy.
During sign-in, the first 5 policy OIDs from the end user certificate are considered,
and compared with the policy OIDs configured in the authentication strength
policy. If the end user certificate has more than 5 policy OIDs, the first 5 policy
OIDs in lexical order that match the authentication strength requirements are
taken into account.
For B2B users, let's take an example where Contoso has invited users from
Fabrikam to their tenant. In this case, Contoso is the resource tenant and Fabrikam
is the home tenant.
When cross-tenant access setting is Off (Contoso doesn't accept MFA that was
performed by the home tenant) - Using certificate-based authentication on the
resource tenant isn't supported.
When cross-tenant access setting is On, Fabrikam and Contoso are on the same
Microsoft cloud – meaning, both Fabrikam and Contoso tenants are on the
Azure commercial cloud or on the Azure for US Government cloud. In addition,
Contoso trusts MFA that was performed on the home tenant. In this case:
Access to a specific resource can be restricted by using the policy OIDs or the
"other certificate issuer by SubjectkeyIdentifier" in the custom authentication
strength policy.
Access to specific resources can be restricted by using the "Other certificate
issuer by SubjectkeyIdentifier" setting in the custom authentication strength
policy.
When cross-tenant access setting is On, Fabrikam and Contoso aren't on the
same Microsoft cloud – for example, Fabrikam’s tenant is on the Azure
commercial cloud and Contoso’s tenant is on the Azure for US Government
cloud – access to specific resources can't be restricted by using the issuer ID or
policy OIDs in the custom authentication strength policy.
Feedback
Was this page helpful? Yes No
The Authentication methods policy is especially useful for restricting external access to
sensitive apps in your organization because you can enforce specific authentication
methods, such as phishing-resistant methods, for external users.
In external user scenarios, the authentication methods that can satisfy authentication
strength vary, depending on whether the user is completing MFA in their home tenant
or the resource tenant. The following table indicates the allowed methods in each
tenant. If a resource tenant has opted to trust claims from external Microsoft Entra
organizations, only those claims listed in the “Home tenant” column below will be
accepted by the resource tenant for MFA. If the resource tenant has disabled MFA trust,
the external user must complete MFA in the resource tenant using one of the methods
listed in the “Resource tenant” column.
ノ Expand table
Voice call ✅ ✅
Certificate-based Authentication ✅
For more information about how to set authentication strengths for external users, see
Conditional Access: Require an authentication strength for external users.
If MFA trust is enabled, Microsoft Entra ID checks the user's authentication session
for a claim that indicates MFA was fulfilled in the user's home tenant. See the
preceding table for authentication methods that are acceptable for MFA when
completed in an external user's home tenant. If the session contains a claim that
indicates the MFA policies are already met in the user's home tenant, and the
methods satisfy the authentication strength requirements, the user is allowed
access. Otherwise, Microsoft Entra ID presents the user with a challenge to
complete MFA in the home tenant using an acceptable authentication method.
If MFA trust is disabled, Microsoft Entra ID presents the user with a challenge to
complete MFA in the resource tenant using an acceptable authentication method.
See preceding table for authentication methods that are acceptable for MFA by an
external user.
Next steps
Conditional Access authentication strength
How authentication strength works
Built-in Conditional Access authentication strengths
Custom Conditional Access authentication strengths
Troubleshoot authentication strengths
Feedback
Was this page helpful?
Yes No
This topic covers errors you might see when you use Microsoft Entra Conditional Access
authentication strength and how to resolve them.
For more information, see How Conditional Access authentication strength works.
If the user is registered for an enabled method that meets the authentication strength,
they might need to use another method that isn't available after primary authentication,
such as Windows Hello for Business. For more information, see How each authentication
method works. The user needs to restart the session, choose Sign-in options , and select
a method required by the authentication strength.
A user can't access a resource
If an authentication strength requires a method that a user can’t use, the user is blocked
from sign-in. To check which method is required by an authentication strength, and
which method the user is registered and enabled to use, follow the steps in the previous
section.
Under the Authentication details tab, the Requirement column shows the name of
the authentication strength policy.
Under the Conditional Access tab, you can see which Conditional Access policy
was applied. Click the name of the policy, and look for Grant controls to see the
authentication strength that was enforced.
A user can't register a new method during sign-
in
Some methods can't be registered during sign-in, or they need more setup beyond the
combined registration. For more information, see Register passwordless authentication
methods.
Next steps
Built-in Conditional Access authentication strengths
Custom Conditional Access authentication strengths
How authentication strength works for external users
Feedback
Was this page helpful? Yes No
Microsoft Entra self-service password reset (SSPR) gives users the ability to change or
reset their password, with no administrator or help desk involvement. If a user's account
is locked or they forget their password, they can follow prompts to unblock themselves
and get back to work. This ability reduces help desk calls and loss of productivity when a
user can't sign in to their device or an application. We recommend this video on how to
enable and configure SSPR in Microsoft Entra ID .
) Important
If your IT team hasn't enabled the ability to reset your own password, reach out to
your helpdesk for additional assistance.
When a user selects the Can't access your account link from an application or page, or
goes directly to https://aka.ms/sspr , the language used in the SSPR portal is based on
the following options:
By default, the browser locale is used to display the SSPR in the appropriate
language. The password reset experience is localized into the same languages that
Microsoft 365 supports .
If you want to link to the SSPR in a specific localized language, append ?mkt= to
the end of the password reset URL along with the required locale.
For example, to specify the Spanish es-us locale, use ?mkt=es-us -
https://passwordreset.microsoftonline.com/?mkt=es-us .
After the SSPR portal is displayed in the required language, the user is prompted to
enter a user ID and pass a captcha. Microsoft Entra ID now verifies that the user is able
to use SSPR by doing the following checks:
If all of the previous checks are successfully completed, the user is guided through the
process to reset or change their password.
7 Note
SSPR may send email notifications to users as part of the password reset process.
These emails are sent using the SMTP relay service, which operates in an active-
active mode across several regions.
SMTP relay services receive and process the email body, but don't store it. The
body of the SSPR email that may potentially contain customer provided info isn't
stored in the SMTP relay service logs. The logs only contain protocol metadata.
Microsoft 365
Microsoft Entra admin center
Access Panel
Federated applications
Custom applications using Microsoft Entra ID
When you don't require registration, users aren't prompted during sign-in, but they can
manually register. Users can either visit https://aka.ms/ssprsetup or select the Register
for password reset link under the Profile tab in the Access Panel.
7 Note
Users can dismiss the SSPR registration portal by selecting cancel or by closing the
window. However, they're prompted to register each time they sign in until they
complete their registration.
This interrupt to register for SSPR doesn't break the user's connection if they're
already signed in.
Valid values to prompt a user to confirm their registered methods are from 0 to 730
days. Setting this value to 0 means that users are never asked to confirm their
authentication information. When using the combined registration experience users will
be required to confirm their identity before reconfirming their information.
Authentication methods
When a user is enabled for SSPR, they must register at least one authentication method.
We highly recommend that you choose two or more authentication methods so that
your users have more flexibility in case they're unable to access one method when they
need it. For more information, see What are authentication methods?.
Users can only reset their password if they register an authentication method that the
administrator has enabled.
2 Warning
Accounts assigned Azure administrator roles are required to use methods as
defined in the section Administrator reset policy differences.
Users should register multiple authentication methods so they can sign-in another way
if they're unable to access one method.
If a user doesn't register the minimum number of required methods, they see an error
page when they try to use SSPR. They need to request that an administrator reset their
password. For more information, see Change authentication methods.
When using a mobile app as a method for password reset, like Microsoft Authenticator,
the following considerations apply if an organization hasn't migrated to the centralized
Authentication methods policy:
ノ Expand table
Number of methods required to reset One Two
) Important
Authenticator can't be selected as the only authentication method when only one
method is required. Similarly, Authenticator and only one additional method can't
be selected if you require two methods.
When configuring SSPR policies that include the Authenticator app as a method, at
least one additional method should be selected when one method is required, and
at least two additional methods should be selected when configuring two methods
are required.
ノ Expand table
Changing the available authentication methods may also cause problems for users. If
you change which authentication methods are available, users without the minimum
amount of data available can't use SSPR.
1. The original policy is configured with two authentication methods required. It uses
only the office phone number and the security questions.
2. The administrator changes the policy to no longer use the security questions, but
allows the use of a mobile phone and an alternate email.
3. Users without the mobile phone or alternate email fields populated now can't reset
their passwords.
Notifications
To improve awareness of password events, SSPR lets you configure notifications for both
the users and identity administrators.
7 Note
Email notifications from the SSPR service will be sent from the following addresses
based on the Azure cloud you are working with:
Public: [email protected],
[email protected]
Microsoft Azure operated by 21Vianet (Azure in China):
[email protected],
[email protected]
Azure for US Government: [email protected],
[email protected]
If you observe issues in receiving notifications, please check your spam settings.
If you want custom administrators to receive the notification emails, use SSPR
customizations and set up a custom helpdesk link or email.
On-premises integration
In a hybrid environment, you can configure Microsoft Entra Connect cloud sync to write
password change events back from Microsoft Entra ID to an on-premises directory.
Microsoft Entra ID checks your current hybrid connectivity and provides messages in the
Microsoft Entra admin center. For help with resolving possible errors, see Troubleshoot
Microsoft Entra Connect.
If set to Yes, users are given the option to reset their password and unlock the
account, or to unlock their account without having to reset the password.
If set to No, users are only be able to perform a combined password reset and
account unlock operation.
Users from a partner organization with an existing Microsoft Entra tenant: If your
partner has a Microsoft Entra tenant, we respect whatever password reset policies
are enabled on that tenant. For password reset to work, the partner organization
just needs to make sure that Microsoft Entra SSPR is enabled. There's no other
charge for Microsoft 365 customers.
Users who sign up through self-service sign-up: If your partner used the self-
service sign-up feature to get into a tenant, we let them reset the password with
the email they registered.
B2B users: Any new B2B users created by using the new Microsoft Entra B2B
capabilities can also reset their passwords with the email they registered during
the invite process.
7 Note
Microsoft accounts that are granted guest access to your Microsoft Entra tenant,
such as those from Hotmail.com, Outlook.com, or other personal email addresses,
can't use Microsoft Entra SSPR. For more information, see When you can't sign in
to your Microsoft account .
Next steps
To get started with SSPR, complete the following tutorial:
Feedback
Was this page helpful? Yes No
Microsoft Entra self-service password reset (SSPR) lets users reset their passwords in the
cloud, but most companies also have an on-premises Active Directory Domain Services
(AD DS) environment for users. Password writeback allows password changes in the
cloud to be written back to an on-premises directory in real time by using either
Microsoft Entra Connect or Microsoft Entra Connect cloud sync. When users change or
reset their passwords using SSPR in the cloud, the updated passwords also written back
to the on-premises AD DS environment.
) Important
If your IT team hasn't enabled the ability to reset your own password, reach out to
your helpdesk for additional assistance.
Password writeback is supported in environments that use the following hybrid identity
models:
7 Note
The on-premises service account that handles password write-back requests cannot
change the passwords for users that belong to protected groups. Administrators
can change their password in the cloud but they cannot use password write-back
to reset a forgotten password for their on-premises user. For more information
about protected groups, see Protected accounts and groups in AD DS.
To get started with SSPR writeback, complete either one or both of the following
tutorials:
1. A check is performed to see what type of password the user has. If the password is
managed on-premises:
2. Next, the user passes the appropriate authentication gates and reaches the Reset
password page.
4. When the user selects Submit, the plaintext password is encrypted with a public
key created during the writeback setup process.
5. The encrypted password is included in a payload that gets sent over an HTTPS
channel to your tenant-specific service bus relay (that is set up for you during the
writeback setup process). This relay is protected by a randomly generated
password that only your on-premises installation knows.
6. After the message reaches the service bus, the password-reset endpoint
automatically wakes up and sees that it has a reset request pending.
7. The service then looks for the user by using the cloud anchor attribute. For this
lookup to succeed, the following conditions must be met:
When the call comes in from the cloud, the synchronization engine uses the
cloudAnchor attribute to look up the Microsoft Entra connector space object. It
then follows the link back to the MV object, and then follows the link back to the
AD DS object. Because there can be multiple AD DS objects (multi-forest) for the
same user, the sync engine relies on the
Microsoft.InfromADUserAccountEnabled.xxx link to pick the correct one.
8. After the user account is found, an attempt to reset the password directly in the
appropriate AD DS forest is made.
9. If the password set operation is successful, the user is told their password has been
changed.
7 Note
10. If the password set operation fails, an error prompts the user to try again. The
operation might fail because of the following reasons:
The error messages provide guidance to users so they can attempt to resolve
without administrator intervention.
1. When a password reset or change operation occurs in the cloud, the plaintext
password is encrypted with your public key.
2. The encrypted password is placed into an HTTPS message that's sent over an
encrypted channel by using Microsoft TLS/SSL certs to your service bus relay.
3. After the message arrives in the service bus, your on-premises agent wakes
up and authenticates to the service bus by using the strong password that
was previously generated.
4. The on-premises agent picks up the encrypted message and decrypts it by
using the private key.
5. The on-premises agent attempts to set the password through the AD DS
SetPassword API. This step is what allows enforcement of your AD DS on-
premises password policy (such as the complexity, age, history, and filters) in
the cloud.
1. Password encryption with 2048-bit RSA Key: After a user submits a password to
be written back to on-premises, the submitted password itself is encrypted with a
2048-bit RSA key.
2. Package-level encryption with 256-bit AES-GCM: The entire package, the
password plus the required metadata, is encrypted by using AES-GCM (with a key
size of 256 bits). This encryption prevents anyone with direct access to the
underlying Service Bus channel from viewing or tampering with the contents.
3. All communication occurs over TLS/SSL: All the communication with Service Bus
happens in an SSL/TLS channel. This encryption secures the contents from
unauthorized third parties.
4. Automatic key rollover every six months: All keys roll over every six months, or
every time password writeback is disabled and then re-enabled on Microsoft Entra
Connect, to ensure maximum service security and safety.
Password writeback bandwidth usage
Password writeback is a low-bandwidth service that only sends requests back to the on-
premises agent under the following circumstances:
Two messages are sent when the feature is enabled or disabled through Microsoft
Entra Connect.
One message is sent once every five minutes as a service heartbeat for as long as
the service is running.
Two messages are sent each time a new password is submitted:
The first message is a request to perform the operation.
The second message contains the result of the operation, and is sent in the
following circumstances:
Each time a new password is submitted during a user self-service password
reset.
Each time a new password is submitted during a user password change
operation.
Each time a new password is submitted during an admin-initiated user
password reset (only from Entra admin portals).
The size of each of the message described previously is typically under 1 KB. Even under
extreme loads, the password writeback service itself is consuming a few kilobits per
second of bandwidth. Because each message is sent in real time, only when required by
a password update operation, and because the message size is so small, the bandwidth
usage of the writeback capability is too small to have a measurable impact.
7 Note
If a user has the option "Password never expires" set in Active Directory (AD), the
force password change flag will not be set in Active Directory (AD), so the user will
not be prompted to change the password during the next sign-in even if the option
to force the user to change their password on next logon option is selected during
an administrator-initiated end-user password reset.
Next steps
To get started with SSPR writeback, complete the following tutorial:
In Microsoft Entra ID, there's a password policy that defines settings like the password
complexity, length, or age. There's also a policy that defines acceptable characters and length
for usernames.
When self-service password reset (SSPR) is used to change or reset a password in Microsoft
Entra ID, the password policy is checked. If the password doesn't meet the policy requirements,
the user is prompted to try again. Azure administrators have some restrictions on using SSPR
that are different to regular user accounts, and there are minor exceptions for trial and free
versions of Microsoft Entra ID.
This article describes the password policy settings and complexity requirements associated
with user accounts. It also covers how to use PowerShell to check or set password expiration
settings.
Username policies
Every account that signs in to Microsoft Entra ID must have a unique user principal name (UPN)
attribute value associated with their account. In hybrid environments with an on-premises
Active Directory Domain Services environment synchronized to Microsoft Entra ID using
Microsoft Entra Connect, by default the Microsoft Entra ID UPN is set to the on-premises UPN.
The following table outlines the username policies that apply to both on-premises accounts
that are synchronized to Microsoft Entra ID, and for cloud-only user accounts created directly
in Microsoft Entra ID:
ノ Expand table
Characters not allowed Any "@" character that's not separating the username from the domain.
Can't contain a period character "." immediately preceding the "@" symbol
Length constraints The total length must not exceed 113 characters
There can be up to 64 characters before the "@" symbol
Property UserPrincipalName requirements
By default, an account is locked out after 10 unsuccessful sign-in attempts with the wrong
password. The user is locked out for one minute. The lockout duration increases after further
incorrect sign-in attempts. Smart lockout tracks the last three bad password hashes to avoid
incrementing the lockout counter for the same password. If someone enters the same bad
password multiple times, they aren't locked out. You can define the smart lockout threshold
and duration.
The following Microsoft Entra password policy options are defined. Unless noted, you can't
change these settings:
ノ Expand table
Property Requirements
Password expiry duration Default value: No expiration. If the tenant was created before 2021, it has a
(Maximum password age) 90 day expiration value by default. You can check current policy with Get-
MgDomain.
The value is configurable by using the Update-MgDomain cmdlet from the
Microsoft Graph module for PowerShell.
Property Requirements
Password expiry (Let Default value: false (indicates that passwords have an expiration date).
passwords never expire) The value can be configured for individual user accounts by using the
Update-MgUser cmdlet.
Password change history The last password can't be used again when the user changes a password.
Password reset history The last password can be used again when the user resets a forgotten
password.
The user is prompted to change their password again. But if the change still includes a unicode
character, they could get locked out if smart lockout is also enabled.
If a password change meets on-premises requirements but fails to meet cloud requirements,
the password change succeeds if password hash synchronization is enabled. For example, if the
new password includes a Unicode character, the password change can be updated on-
premises but not in the cloud.
If the password didn't comply with the cloud password requirements, it isn't updated in the
cloud, and the account risk doesn't decrease. The user still receives an access token for cloud
resources, but they're prompted to change their password again the next time they access
cloud resources. The user doesn't see any error or notification that their chosen password
failed to meet the cloud requirements.
The two-gate policy requires two pieces of authentication data, such as an email address,
authenticator app, or a phone number, and it prohibits security questions. Office and mobile
voice calls are also prohibited for trial or free versions of Microsoft Entra ID.
The SSPR administrator policy doesn't depend upon the Authentications method policy. For
example, if you disable third party software tokens in the Authentication methods policy,
administrator accounts can still register third party software token applications and use them,
but only for SSPR.
-Or-
A custom domain is configured for your Microsoft Entra tenant, such as contoso.com
-Or-
You can disable the use of SSPR for administrator accounts using the Update-
MgPolicyAuthorizationPolicy PowerShell cmdlet. The -AllowedToUseSspr:$true|$false
parameter enables/disables SSPR for administrators. Policy changes to enable or disable SSPR
for administrator accounts can take up to 60 minutes to take effect.
Exceptions
A one-gate policy requires one piece of authentication data, such as an email address or phone
number. A one-gate policy applies in the following circumstances:
-Or-
A custom domain isn't configured (the tenant is using the default *.onmicrosoft.com,
which isn't recommended for production use) and Microsoft Entra Connect isn't
synchronizing identities.
You can also use PowerShell cmdlets to remove the never-expires configuration or to see which
user passwords are set to never expire.
This guidance applies to other providers, such as Intune and Microsoft 365, which also rely on
Microsoft Entra ID for identity and directory services. Password expiration is the only part of the
policy that can be changed.
7 Note
By default only passwords for user accounts that aren't synchronized through Microsoft
Entra Connect can be configured to not expire. For more information about directory
synchronization, see Connect AD with Microsoft Entra ID.
After the module is installed, use the following steps to complete each task as needed.
2. Run one of the following commands for either an individual user or for all users:
To see if a single user's password is set to never expire, run the following cmdlet.
Replace <user ID> with the user ID of the user you want to check:
PowerShell
To see the Password never expires setting for all users, run the following cmdlet:
PowerShell
2. Run one of the following commands for either an individual user or for all users:
To set the password of one user so that the password expires, run the following
cmdlet. Replace <user ID> with the user ID of the user you want to check:
PowerShell
To set the passwords of all users in the organization so that they expire, use the
following command:
PowerShell
2. Run one of the following commands for either an individual user or for all users:
To set the password of one user to never expire, run the following cmdlet. Replace
<user ID> with the user ID of the user you want to check:
PowerShell
To set the passwords of all the users in an organization to never expire, run the
following cmdlet:
PowerShell
2 Warning
Next steps
To get started with SSPR, see Tutorial: Enable users to unlock their account or reset passwords
using Microsoft Entra self-service password reset.
If you or users have problems with SSPR, see Troubleshoot self-service password reset.
Licensing requirements for Microsoft
Entra self-service password reset
Article • 03/04/2025
To reduce help desk calls and loss of productivity when a user can't sign in to their
device or an application, user accounts in Microsoft Entra ID can be enabled for self-
service password reset (SSPR). Features that make up SSPR include password change,
reset, unlock, and writeback to an on-premises directory. Basic SSPR features are
available in Microsoft 365 Business Standard or higher and all Microsoft Entra ID P1 or
P2 SKUs at no cost.
This article details the different ways that self-service password reset can be licensed
and used. For specific details about pricing and billing, see the Microsoft Entra pricing
page .
Although some unlicensed users may technically be able to access SSPR, a license is
required for any user that you intend to benefit from the service.
7 Note
Some tenant services are not currently capable of limiting benefits to specific users.
Efforts should be taken to limit the service benefits to licensed users. This helps
avoid potential service disruption to your organization once targeting capabilities
are available.
ノ Expand table
2 Warning
Standalone Microsoft 365 Basic and Standard licensing plans don't support SSPR
with on-premises writeback. The on-premises writeback feature requires Microsoft
Entra ID P1, Premium P2, or Microsoft 365 Business Premium.
For additional licensing information, including costs, see the following pages:
Next steps
To get started with SSPR, complete the following tutorial:
) Important
This deployment plan offers guidance and best practices for deploying Microsoft
Entra self-service password reset (SSPR).
If you're an end user and need to get back into your account, go to
https://aka.ms/sspr .
Self-Service Password Reset (SSPR) is a Microsoft Entra feature that enables users to
reset their passwords without contacting IT staff for help. The users can quickly unblock
themselves and continue working no matter where they're or time of day. By allowing
the employees to unblock themselves, your organization can reduce the non-productive
time and high support costs for most common password-related issues.
This deployment guide shows you how to plan and then test an SSPR roll-out.
To quickly see SSPR in action and then come back to understand additional deployment
considerations:
Tip
Key benefits
The key benefits of enabling SSPR are:
Manage cost. SSPR reduces IT support costs by enabling users to reset passwords
on their own. It also reduces the cost of time lost due to lost passwords and
lockouts.
Flexibility and security. SSPR enables enterprises to access the security and
flexibility that a cloud platform provides. Administrators can change settings to
accommodate new security requirements and roll these changes out to users
without disrupting their sign-in.
Robust auditing and usage tracking. An organization can ensure that the business
systems remain secure while its users reset their own passwords. Robust audit logs
include information of each step of the password reset process. These logs are
available from an API and enable the user to import the data into a Security
Incident and Event Monitoring (SIEM) system of choice.
Licensing
Microsoft Entra ID is licensed per-user meaning each user requires an appropriate
license for the features they use. We recommend group-based licensing for SSPR.
To compare editions and features and enable group or user-based licensing, see
Licensing requirements for Microsoft Entra self-service password reset.
Guided walkthrough
For a guided walkthrough of many of the recommendations in this article, see the Plan
your self-service password reset deployment guide when signed in to the Microsoft
365 Admin Center. To review best practices without signing in and activating automated
setup features, go to the M365 Setup portal .
Training resources
ノ Expand table
How to configure self-service password reset for users in Microsoft Entra ID?
How to [prepare users to] register [their] security information for Microsoft Entra ID
Online Managing Identities in Microsoft Entra ID Use SSPR to give your users a modern,
courses protected experience. See especially the "Managing Microsoft Entra Users and
Groups " module.
Getting Started with the Microsoft Enterprise Mobility Suite Learn the best
practices for extending on-premises assets to the cloud in a manner that allows for
authentication, authorization, encryption, and a secured mobile experience. See
especially the "Configuring Advanced Features of Microsoft Entra ID P1 or P2"
module.
Tutorials Complete a Microsoft Entra self-service password reset pilot roll out
Microsoft Entra password reset from the login screen for Windows 10
Resources Link and Description
Solution architecture
The following example describes the password reset solution architecture for common
hybrid environments.
Description of workflow
To reset the password, users go to the password reset portal . They must verify the
previously registered authentication method or methods to prove their identity. If they
successfully reset the password, they begin the reset process.
For cloud-only users, SSPR stores the new password in Microsoft Entra ID.
For hybrid users, SSPR writes back the password to the on-premises Active
Directory via the Microsoft Entra Connect service.
7 Note
For users who have Password hash synchronization (PHS) disabled, SSPR stores
the passwords in the on-premises Active Directory only.
Best practices
You can help users register quickly by deploying SSPR alongside another popular
application or service in the organization. This action generates a large volume of sign-
ins and drives registration.
Before deploying SSPR, you may opt to determine the number and the average cost of
each password reset call. You can use this data post deployment to show the value SSPR
is bringing to the organization.
It's critical to inform users about upcoming changes, registration requirements, and any
necessary user actions. We provide communication templates and user
documentation to prepare your users for the new experience and help to ensure a
successful rollout. Send users to https://myprofile.microsoft.com to register by
selecting the Security Info link on that page.
ノ Expand table
Business Role/Persona Microsoft Entra role (if necessary)
Plan a pilot
We recommend that the initial configuration of SSPR is in a test environment. Start with
a pilot group by enabling SSPR for a subset of users in your organization. See Best
practices for a pilot.
To create a group, see how to create a group and add members in Microsoft Entra ID.
Plan configuration
The following settings are required to enable SSPR along with recommended values.
ノ Expand table
SSPR Properties Self-service password reset enabled Selected group for pilot /
All for production
SSPR properties
When enabling SSPR, choose an appropriate security group in the pilot environment.
To enforce SSPR registration for everyone, we recommend using the All option.
Otherwise, select the appropriate Microsoft Entra ID or AD security group.
Authentication methods
When SSPR is enabled, users can only reset their password if they have data present in
the authentication methods that the administrator has enabled. Methods include phone,
Authenticator app notification, security questions, and so on. For more information, see
What are authentication methods?.
Set the Authentication methods required to register to at least one more than the
number required to reset. Allowing multiple authentications gives users flexibility
when they need to reset.
Note: The user must have the authentication methods configured in the Password
policies and restrictions in Microsoft Entra ID.
Registration settings
Set Require users to register when signing in to Yes. This setting requires users to
register when signing in, ensuring that all users are protected.
7 Note
Email notifications from the SSPR service are sent from the following addresses
based on the Azure cloud you're working with:
Public: [email protected]
China: [email protected]
Government: [email protected]
Customization settings
It's critical to customize the helpdesk email or URL to ensure users who experience
problems can get help immediately. Set this option to a common helpdesk email
address or web page that your users are familiar with.
For more information, see Customize the Microsoft Entra functionality for self-service
password reset.
Password Writeback
Password Writeback is enabled with Microsoft Entra Connect and writes password
resets in the cloud back to an existing on-premises directory in real time. For more
information, see What is Password Writeback?
We recommend that you don't sync your on-premises Active Directory admin accounts
with Microsoft Entra ID.
Plan testing
To ensure that your deployment works as expected, plan a set of test cases to validate
the implementation. To assess the test cases, you need a non-administrator test user
with a password. If you need to create a user, see Add new users to Microsoft Entra ID.
The following table includes useful test scenarios you can use to document your
organizations expected results based on your policies.
ノ Expand table
Business case Expected results
SSPR portal is accessible from within the corporate network Determined by your
organization
SSPR portal is accessible from outside the corporate network Determined by your
organization
Reset user password from browser when user is not enabled for User is not able to access the
password reset password reset flow
Reset user password from browser when user has not registered User is not able to access the
for password reset password reset flow
User signs in when enforced to do password reset registration Prompts the user to register
security information
User signs in when password reset registration is complete Prompts the user to register
security information
SSPR portal is accessible when the user doesn't have a license Is accessible
Reset user password from Windows 10 Microsoft Entra joined or User can reset password
Microsoft Entra hybrid joined device lock screen
SSPR registration and usage data are available to administrators Is available via audit logs
in near real time
You can also refer to Complete out a Microsoft Entra self-service password reset pilot
roll. In this tutorial, you enable a pilot roll out of SSPR in your organization and test
using a non-administrator account.
Plan support
While SSPR doesn't typically create user issues, it's important to prepare support staff to
deal with issues that may arise. To enable your support team's success, you can create
an FAQ based on questions you receive from your users. Here are a few examples:
ノ Expand table
Scenarios Description
User doesn't have any A user is trying to reset their password but doesn't have any of
registered authentication the authentication methods that they registered available
methods available (Example: they left their cell phone at home and can't access
email)
Scenarios Description
User isn't receiving a text or A user is trying to verify their identity via text or call but isn't
call on their office or cell receiving a text/call.
phone
User can't access the A user wants to reset their password but isn't enabled for
password reset portal password reset and can't access the page to update passwords.
User can't set a new A user completes verification during the password reset flow but
password can't set a new password.
User doesn't see a Reset A user is trying to reset password from the Windows 10 lock
Password link on a Windows screen, but the device is either not joined to Microsoft Entra ID,
10 device or the Microsoft Intune device policy isn't enabled
Plan rollback
To roll back the deployment:
For a single user, remove the user from the security group
Deploy SSPR
Before deploying, ensure that you have done the following:
2. Identified the users and groups for the pilot and production environments.
1. Authentication methods
2. Registration settings
3. Notifications settings
4. Customization settings
5. On-premises integration
Manage SSPR
Microsoft Entra ID can provide additional information on your SSPR performance
through audits and reports.
7 Note
You must opt-in for this data to be gathered for your organization. To opt in, you
must visit the Reporting tab or the audit logs on the Microsoft Entra admin center
at least once. Until then, the data doesn't collect for your organization.
Audit logs for registration and password reset are available for 30 days. If security
auditing within your corporation requires longer retention, the logs need to be exported
and consumed into a SIEM tool such as Microsoft Sentinel, Splunk, or ArcSight.
Authentication methods - Usage and insights
Usage and insights enable you to understand how authentication methods for features
like Microsoft Entra multifactor authentication and SSPR are working in your
organization. This reporting capability provides your organization with the means to
understand what methods register and how to use them.
Troubleshoot
Refer to Troubleshoot self-service password reset
Helpful documentation
What are authentication methods?
Feedback
Was this page helpful? Yes No
Multifactor authentication is a process in which users are prompted during the sign-in
process for an additional form of identification, such as a code on their cellphone or a
fingerprint scan.
If you only use a password to authenticate a user, it leaves an insecure vector for attack.
If the password is weak or has been exposed elsewhere, an attacker could be using it to
gain access. When you require a second form of authentication, security is increased
because this additional factor isn't something that's easy for an attacker to obtain or
duplicate.
Microsoft Entra multifactor authentication can also further secure password reset. When
users register themselves for Microsoft Entra multifactor authentication, they can also
register for self-service password reset in one step. Administrators can choose forms of
secondary authentication and configure challenges for MFA based on configuration
decisions.
You don't need to change apps and services to use Microsoft Entra multifactor
authentication. The verification prompts are part of the Microsoft Entra sign-in, which
automatically requests and processes the MFA challenge when needed.
7 Note
The prompt language is determined by browser locale settings. If you use custom
greetings but don’t have one for the language identified in the browser locale,
English is used by default. Network Policy Server (NPS) will always use English by
default, regardless of custom greetings. English is also used by default if the
browser locale can't be identified.
The following additional forms of verification can be used with Microsoft Entra
multifactor authentication:
Microsoft Authenticator
Authenticator Lite (in Outlook)
Windows Hello for Business
Passkey (FIDO2)
Passkey in Microsoft Authenticator (preview)
Certificate-based authentication (when configured for multifactor authentication)
External authentication methods (preview)
Temporary Access Pass (TAP)
OATH hardware token (preview)
OATH software token
SMS
Voice call
For more granular controls, you can use Conditional Access policies to define events or
applications that require MFA. These policies can allow regular sign-in when the user is
on the corporate network or a registered device but prompt for additional verification
factors when the user is remote or on a personal device.
Related content
To learn more about different authentication and validation methods, see Authentication
methods in Microsoft Entra ID.
To see MFA in action, enable Microsoft Entra multifactor authentication for a set of test
users in the following tutorial:
Feedback
Was this page helpful? Yes No
Provide product feedback
Protecting authentication methods in
Microsoft Entra ID
Article • 04/29/2025
7 Note
The Microsoft managed value for Authenticator Lite will move from disabled to enabled
on June 26th, 2023. All tenants left in the default state Microsoft managed will be enabled
for the feature on June 26th.
Microsoft Entra ID adds and improves security features to better protect customers against
increasing attacks. As new attack vectors become known, Microsoft Entra ID can respond by
enabling protection by default to help customers stay ahead of emerging security threats.
For example, in response to increasing MFA fatigue attacks, Microsoft recommended ways for
customers to defend users . One recommendation to prevent users from accidental
multifactor authentication (MFA) approvals is to enable number matching. As a result, default
behavior for number matching will be explicitly Enabled for all Microsoft Authenticator users.
You can learn more about new security features like number matching in our blog post
Advanced Microsoft Authenticator security features are now generally available! .
There are two ways for protection of a security feature to be enabled by default:
After a security feature is released, customers can use the Microsoft Entra admin center or
Graph API to test and roll out the change on their own schedule. To help defend against
new attack vectors, Microsoft Entra ID can enable protection of a security feature by
default for all tenants on a certain date, and there won't be an option to disable
protection. Microsoft schedules default protection far in advance to give customers time
to prepare for the change. Customers can't opt out if Microsoft schedules protection by
default.
Protection can be Microsoft managed, which means Microsoft Entra ID can enable or
disable protection based upon the current landscape of security threats. Customers can
choose whether to allow Microsoft to manage the protection. They can change from
Microsoft managed to explicitly make the protection Enabled or Disabled at any time.
7 Note
As MFA fatigue attacks rise, number matching becomes more critical to sign-in security. As a
result, Microsoft will change the default behavior for push notifications in Microsoft
Authenticator.
The option to let Microsoft Entra ID manage the setting is a convenient way for an organization
to allow Microsoft to enable or disable a feature by default. Organizations can more easily
improve their security posture by trusting Microsoft to manage when a feature should be
enabled by default. By configuring a setting as Microsoft managed (named default in Graph
APIs), IT admins can trust Microsoft to enable a security feature they haven't explicitly disabled.
For example, an admin can enable location and application name in push notifications to give
users more context when they approve MFA requests with Microsoft Authenticator. The
additional context can also be explicitly disabled, or set as Microsoft managed. Today, the
Microsoft managed configuration for location and application name is Disabled, which
effectively disables the option for any environment where an admin chooses to let Microsoft
Entra ID manage the setting.
As the security threat landscape changes over time, Microsoft can change the Microsoft
managed configuration for location and application name to Enabled. For customers who want
to rely upon Microsoft to improve their security posture, setting security features to Microsoft
managed is an easy way stay ahead of security threats. They can trust Microsoft to determine
the best way to configure security settings based on the current threat landscape.
The following table lists each setting that can be set to Microsoft managed and whether that
setting is enabled or disabled by default.
ノ Expand table
Setting Configuration
Registration campaign Enabled for text message and voice call users
As threat vectors change, Microsoft Entra ID can announce default protection for a Microsoft
managed setting in release notes and on commonly read forums like Tech Community .
For more information, see our blog post It's Time to Hang Up on Phone Transports for
Authentication which discusses moving away from using text message and voice calls. This
change leads to default enablement for the registration campaign to help users set up
Authenticator for modern authentication.
Next steps
Authentication methods in Microsoft Entra ID - Microsoft Authenticator
System-preferred multifactor
authentication - Authentication
methods policy
Article • 03/19/2025
For example, if a user registered both SMS and Microsoft Authenticator push
notifications as methods for MFA, system-preferred MFA prompts the user to sign in by
using the more secure push notification method. The user can still choose to sign in by
using another method, but they're first prompted to try the most secure method they
registered.
After system-preferred MFA is enabled, the authentication system does all the work.
Users don't need to set any authentication method as their default because the system
always determines and presents the most secure method they registered.
ノ Expand table
ノ Expand table
https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy
7 Note
Request
The following example excludes a sample target group and includes all users. For more
information, see Update authenticationMethodsPolicy.
HTTP
PATCH https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy
Content-Type: application/json
{
"systemCredentialPreferences": {
"state": "enabled",
"excludeTargets": [
{
"id": "d1411007-6fcf-4b4c-8d70-1da1857ed33c",
"targetType": "group"
}
],
"includeTargets": [
{
"id": "all_users",
"targetType": "group"
}
]
}
}
FAQ
1
Includes hardware or software TOTP from Microsoft Authenticator, Authenticator Lite,
or third-party applications.
2
Includes SMS and voice calls.
How does system-preferred MFA affect the NPS
extension?
System-preferred MFA doesn't affect users who sign in by using the Network Policy
Server (NPS) extension. Those users don't see any change to their sign-in experience.
Next steps
Authentication methods in Microsoft Entra ID
How to run a registration campaign to set up Microsoft Authenticator
Feedback
Was this page helpful? Yes No
At Microsoft, we're committed to providing our customers with the highest level of security.
One of the most effective security measures available to them is multifactor authentication
(MFA). Research by Microsoft shows that MFA can block more than 99.2% of account
compromise attacks.
That's why, starting in 2024, we'll enforce mandatory MFA for all Azure sign-in attempts. For
more background about this requirement, see our blog post . This topic covers which
applications and accounts are affected, how enforcement gets rolled out to tenants, and other
common questions and answers.
) Important
If a user can't sign in to Azure and other admin portals after rollout of mandatory MFA, a
Global Administrator can run a script to postpone the MFA requirement and allow users to
sign in. For more information, see How to postpone enforcement for a tenant where
users are unable to sign in after rollout of mandatory multifactor authentication (MFA)
requirement for the the Azure portal, Microsoft Entra admin center, or Microsoft Intune
admin center.
There's no change for users if your organization already enforces MFA for them, or if they sign
in with stronger methods like passwordless or passkey (FIDO2). To verify that MFA is enabled,
see How to verify that users are set up for mandatory MFA.
Scope of enforcement
The scope of enforcement includes which applications plan to enforce MFA, applications that
are out of scope, when enforcement is planned to occur, and which accounts have a mandatory
MFA requirement.
Applications
7 Note
The date of enforcement for Phase 2 has changed to July 1, 2025.
The following table lists affected apps, app IDs, and URLs for Azure.
ノ Expand table
Infrastructure as Code (IaC) tools Use Azure CLI or Azure PowerShell IDs July 1, 2025
The following table lists affected apps and URLs for Microsoft 365.
ノ Expand table
Accounts
All users who sign into the applications listed earlier to perform any Create, Read, Update, or
Delete (CRUD) operation must complete MFA when the enforcement begins. Users aren't
required to use MFA if they access other applications, websites, or services hosted on Azure.
Each application, website, or service owner listed earlier controls the authentication
requirements for users.
Break glass or emergency access accounts are also required to sign in with MFA once
enforcement begins. We recommend that you update these accounts to use passkey (FIDO2)
or configure certificate-based authentication for MFA. Both methods satisfy the MFA
requirement.
Workload identities, such as managed identities and service principals, aren't impacted by
either phase of this MFA enforcement. If user identities are used to sign in as a service account
to run automation (including scripts or other automated tasks), those user identities need to
sign in with MFA once enforcement begins. User identities aren't recommended for
automation. You should migrate those user identities to workload identities.
Client libraries
The OAuth 2.0 Resource Owner Password Credentials (ROPC) token grant flow is incompatible
with MFA. After MFA is enabled in your Microsoft Entra tenant, ROPC-based APIs used in your
applications throw exceptions. For more information about how to migrate from ROPC-based
APIs in Microsoft Authentication Libraries (MSAL), see How to migrate away from ROPC. For
language-specific MSAL guidance, see the following tabs.
.NET
Changes are required if you use the Microsoft.Identity.Client package and one of the
following APIs in your application:
The same general MSAL guidance applies to the Azure Identity libraries. The
UsernamePasswordCredential class provided in those libraries uses MSAL ROPC-based APIs. For
.NET
Changes are required if you use the Azure.Identity package and do one of the following
things in your application:
Use DefaultAzureCredential or EnvironmentCredential with the following two
environment variables set:
AZURE_USERNAME
AZURE_PASSWORD
Review How to verify that users are set up for mandatory MFA to identify all user accounts,
including user accounts being used as service accounts, that sign in to the applications.
For more information about how to migrate from user-based service accounts to workload
identities for authentication with these applications, see:
Sign into Azure with a managed identity using the Azure CLI
Sign into Azure with a service principal using the Azure CLI
Sign in to Azure PowerShell non-interactively for automation scenarios includes guidance
for both managed identity and service principal use cases
Some customers apply Conditional Access policies to user-based service accounts. You can
reclaim the user-based license, and add a workload identities license to apply Conditional
Access for workload identities.
Implementation
This requirement for MFA at sign-in is implemented for admin portals and other applications.
Microsoft Entra ID sign-in logs shows it as the source of the MFA requirement.
Mandatory MFA isn't configurable. It's implemented separately from any access policies
configured in the tenant.
For example, if your organization chose to retain Microsoft's security defaults, and you
currently have security defaults enabled, your users don't see any changes as MFA is already
required for Azure management. If your tenant is using Conditional Access policies in Microsoft
Entra and you already have a Conditional Access policy through which users sign into Azure
with MFA, then your users don't see a change. Similarly, any restrictive Conditional Access
policies that target Azure and require stronger authentication, such as phishing-resistant MFA,
continue to be enforced. Users don't see any changes.
Enforcement phases
7 Note
Phase 1: Starting in October 2024, MFA is required to sign in to the Azure portal,
Microsoft Entra admin center, and Microsoft Intune admin center. The enforcement will
gradually roll out to all tenants worldwide. Starting in February 2025, MFA enforcement
gradually begins for sign in to Microsoft 365 admin center. This phase won't impact other
Azure clients such as Azure CLI, Azure PowerShell, Azure mobile app, or IaC tools.
Phase 2: Starting July 1, 2025, MFA enforcement will gradually begin for Azure CLI, Azure
PowerShell, Azure mobile app, IaC tools, and REST API endpoints. Some customers may
use a user account in Microsoft Entra ID as a service account. It's recommended to
migrate these user-based service accounts to secure cloud based service accounts with
workload identities.
Notification channels
Microsoft will notify all Microsoft Entra Global Administrators through the following channels:
Email: Global Administrators who configured an email address will be informed by email
of the upcoming MFA enforcement and the actions required to be prepared.
Portal notification: A notification appears in the Azure portal, Microsoft Entra admin
center, and Microsoft Intune admin center when they sign in. The portal notification links
to this topic for more information about the mandatory MFA enforcement.
Microsoft 365 message center: A message appears in the Microsoft 365 message center
with message ID: MC862873. This message has the same information as the email and
service health notification.
After enforcement, a banner appears in the Azure portal :
If you're using a federated Identity Provider (IdP), such as Active Directory Federation Services,
and your MFA provider is integrated directly with this federated IdP, the federated IdP must be
configured to send an MFA claim. For more information, see Expected inbound assertions for
Microsoft Entra MFA.
Global Administrators must perform this action for every tenant where they want to postpone
the start date of enforcement.
By postponing the start date of enforcement, you take extra risk because accounts that access
Microsoft services like the Azure portal are highly valuable targets for threat actors. We
recommend all tenants set up MFA now to secure cloud resources.
FAQs
Question: If the tenant is only used for testing, is MFA required?
Answer: Yes, every Azure tenant will require MFA, with no exception for test environments.
Question: How does this requirement impact the Microsoft 365 admin center?
Answer: Mandatory MFA will roll out to the Microsoft 365 admin center starting in February
2025. Learn more about the mandatory MFA requirement for the Microsoft 365 admin center
on the blog post Announcing mandatory multifactor authentication for the Microsoft 365
admin center .
Answer: All users who sign in to any of the applications listed previously are required to
complete MFA, regardless of any administrator roles that are activated or eligible for them, or
any user exclusions that are enabled for them.
Question: Do I need to complete MFA if I choose the option to Stay signed in?
Answer: Yes, even if you choose Stay signed in, you're required to complete MFA before you
can sign in to these applications.
Answer: Yes, MFA has to be adhered either from the partner resource tenant, or the user's
home tenant if it's set up properly to send MFA claims to the resource tenant by using cross-
tenant access.
Question: Does the enforcement apply to Azure for US Government or Azure sovereign
clouds?
Answer: Microsoft enforces mandatory MFA only in the public Azure cloud. Microsoft doesn't
currently enforce MFA in Azure for US Government or other Azure sovereign clouds.
Question: How can we comply if we enforce MFA by using another identity provider or MFA
solution, and we don't enforce by using Microsoft Entra MFA?
Answer: Third-party MFA can be integrated directly with Microsoft Entra ID. For more
information, see Microsoft Entra multifactor authentication external method provider reference.
Microsoft Entra ID can be optionally configured with a federated Identity provider. If so, the
identity provider solution needs to be configured properly to send the multipleauthn claim to
Microsoft Entra ID. For more information, see Satisfy Microsoft Entra ID multifactor
authentication (MFA) controls with MFA claims from a federated IdP.
Question: Will mandatory MFA impact my ability to sync with Microsoft Entra Connect or
Microsoft Entra Cloud Sync?
Answer: No. The synchronization service account isn't affected by the mandatory MFA
requirement. Only applications listed earlier require MFA for sign in.
Answer: There's no way to opt out. This security motion is critical to all safety and security of
the Azure platform and is being repeated across cloud vendors. For example, see Secure by
Design: AWS to enhance MFA requirements in 2024 .
An option to postpone the enforcement start date is available for customers. Global
Administrators can go to the Azure portal to postpone the start date of enforcement for
their tenant. Global Administrators must have elevated access before they postpone the start
date of MFA enforcement on this page. They must perform this action for each tenant that
needs postponement.
Question: Can I test MFA before Azure enforces the policy to ensure nothing breaks?
Answer: Yes, you can test their MFA through the manual setup process for MFA. We encourage
you to set this up and test. If you use Conditional Access to enforce MFA, you can use
Conditional Access templates to test your policy. For more information, see Require multifactor
authentication for admins accessing Microsoft admin portals. If you run a free edition of
Microsoft Entra ID, you can enable security defaults.
Answer: Customers that already require MFA for their users who access the applications listed
earlier don't see any change. If you only require MFA for a subset of users, then any users not
already using MFA will now need to use MFA when they sign in to the applications.
Answer: To review details about when a user is prompted to sign in with MFA, use the
Microsoft Entra sign-in logs. For more information, see Sign-in event details for Microsoft Entra
multifactor authentication.
Question: What if I don't receive an email about enabling MFA before it was enforced, and
then I get locked-out. How should I resolve it?
Answer: Users shouldn't be locked out, but they may get a message that prompts them to
enable MFA once enforcement for their tenant has started. If the user is locked out, there may
be other issues. For more information, see Account has been locked .
Related content
Review the following topics to learn more about how to configure and deploy MFA:
How to postpone enforcement for a tenant where users are unable to sign in after rollout
of mandatory multifactor authentication (MFA) requirement for the the Azure portal,
Microsoft Entra admin center, or Microsoft Intune admin center
How to verify that users are set up for mandatory MFA
Tutorial: Secure user sign-in events with Microsoft Entra multifactor authentication
Secure sign-in events with Microsoft Entra multifactor
Plan a Microsoft Entra multifactor authentication deployment
Phishing-resistant MFA methods
Microsoft Entra multifactor authentication
Authentication methods
Microsoft Entra multifactor authentication
external method provider reference
(Preview)
Article • 04/17/2025
This topic describes how an external authentication provider connects to Microsoft Entra
multifactor authentication (MFA). An external authentication provider can integrate with
Microsoft Entra ID tenants as an external authentication method (EAM). An EAM can satisfy the
second factor of an MFA requirement for access to a resource or application. EAMs require at
least a Microsoft Entra ID P1 license.
When a user signs in, that tenant policies are evaluated. The authentication requirements are
determined based on the resource that the user tries to access.
Multiple policies may apply to the sign-in, depending on their parameters. Those parameters
include users and groups, applications, platform, sign-in risk level, and more.
Based on the authentication requirements, the user may need to sign in with another factor to
meet the MFA requirement. The second factor needs to complement the type of first factor.
EAMs are added to Microsoft Entra ID by the tenant admin. If a tenant requires an EAM for
MFA, the sign-in is considered to meet the MFA requirement after Microsoft Entra ID validates
both:
That validation meets the MFA requirement for two or more types of methods from:
EAMs are implemented on top of Open ID Connect (OIDC). This implementation requires at
least three publicly facing endpoints:
A multitenant application reduces the chance of misconfiguration in each tenant. It also lets
providers make changes to metadata like reply URLs in one place, rather than require each
tenant to make the changes.
3. Set the Supported Account types of the application to: Accounts in any organizational
directory (Any Microsoft Entra ID tenant - Multitenant).
4. Add the delegated permission openid and profile of Microsoft Graph to the application.
6. Add the external identity provider’s valid authorization_endpoint URLs to that application
as Reply URLs.
7 Note
The application registration process creates an application with several properties. These
properties are required for our scenario.
ノ Expand table
Property Description
Object ID The provider can use the object ID with Microsoft Graph to query the application
information.
The provider can use the object ID to programmatically retrieve and edit the application
information.
Application The provider can use the application ID as the ClientId of their application.
ID
Home page The provider home page URL isn't used for anything, but is required as part of application
URL registration.
Reply URLs Valid redirect URLs for the provider. One should match the provider host URL that was set
for the provider’s tenant. One of the reply URLs registered must match the prefix of the
authorization_endpoint that Microsoft Entra ID retrieves through OIDC discovery for the
host url.
An application for each tenant is also a valid model to support the integration. If you use a
single-tenant registration, the tenant admin needs to create an application registration with the
properties in the preceding table for a single-tenant application.
7 Note
Admin consent for the application is required in the tenant that uses the EAM. If consent
isn't granted, the following error appears when an admin tries to use the EAM:
AADSTS900491: Service principal <your App ID> not found.
7 Note
Regardless of how the application is created, the provider needs to configure optional
claims for each cloud environment. If a multitenant application is used for global Azure
and Azure for US Government, each cloud environment requires a different application
and application ID.
Each provider has one entry in the list object of the policy. Each entry needs to state:
Conditional Access Administrators can create a policy with the Require MFA Grant to set the
MFA requirement for user sign-in. External authentication methods aren't currently supported
with authentication strengths.
For more information about how to add an external authentication method in the Microsoft
Entra admin center, see Manage an external authentication method in Microsoft Entra ID
(Preview).
The endpoint returns a Provider Metadata JSON document hosted there. The endpoint must
also return the valid content-length header.
The following table lists the data that should be present in the metadata of the provider. These
values are required for this extensibility scenario. The JSON metadata document may contain
more information.
For the OIDC document with the values for Provider Metadata, see Provider Metadata .
ノ Expand table
Issuer This URL should match both the host URL used for
discovery and the iss claim in the tokens issued by
Metadata value Value Comments
subject_types_supported
JSON
http://customcaserver.azurewebsites.net/v2.0/.well-known/openid-configuration
{
"authorization_endpoint":
"https://customcaserver.azurewebsites.net/api/Authorize",
"claims_supported": [
"email"
],
"grant_types_supported": [
"implicit"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"issuer": "https://customcaserver.azurewebsites.net",
"jwks_uri": "http://customcaserver.azurewebsites.net/.well-known/jwks",
"response_modes_supported": [
"form_post"
],
"response_types_supported": [
"id_token"
],
"scopes_supported": [
"openid"
],
"SigningKeys": [],
"subject_types_supported": [
"public"
]
}
http://customcaserver.azurewebsites.net/.well-known/jwks
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"x5t": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"n": "jq277LRoE6WKM0awT3b...vt8J6MZvmgboVB9S5CMQ",
"e": "AQAB",
"x5c": [
"cZa3jz...Wo0rzA="
]
}
]
}
7 Note
The JWK x5c parameter must be present to provide X.509 representations of keys
provided.
This cache is refreshed every 24 hrs (one day). Here's how we suggest a provider rollover their
keys:
Providers also need to retrieve the public keys of Microsoft Entra ID to validate the tokens
issued by Microsoft Entra ID.
configuration
Using the public key identifier from the token (the "kid" from JSON Web Signature (JWS) ),
one can determine which of the keys retrieved from the jwks_uri property should be used to
validate the Microsoft Entra ID token signature.
Microsoft’s token validation library has all the details on the specifics of token validation that
are documented, or they can be ascertained from browsing the source code. For a sample, see
Azure Samples .
Once validation succeeds, you can work with the claims payload to get details of the user, and
their tenant.
7 Note
This call is made through a POST request because the list of parameters passed to the provider
is large. A large list prevents the use of browsers that limit the length of a GET request.
7 Note
Unless they're listed in the following table, other parameters in the request should be
ignored by the provider.
ノ Expand table
scope openid
response_mode form_post We use form POST to avoid issues with large URLs. We expect all
the parameters to be sent in the body of the request.
state If passed in, the provider should return state in its response.
Microsoft Entra ID uses state to keep context about the call.
Authentication Value Description
Query Parameter
id_token_hint A token issued by Microsoft Entra ID for the end user, and passed in
for the benefit of the provider.
claims A JSON blob that contains the claims requested. For details about
the format of this parameter, see claims request parameter from
the OIDC documentation, and an example after this table.
client-request-id A GUID A provider can log this value to help troubleshoot problems.
value
Global Azure:
https://login.microsoftonline.com/common/federation/externalauthprovider
Here's an example of an authentication where an EAM satisfies MFA. This example helps a
provider know what claims Microsoft Entra ID expects.
The combination of the acr and amr values are used by Microsoft Entra ID to validate:
The authentication method used for second factor satisfies the MFA requirement
The authentication method differs in 'type' from the method used to complete the first
factor for sign-in to Microsoft Entra ID
JSON
{
"id_token": {
"acr": {
"essential": true,
"values":["possessionorinherence"]
},
"amr": {
"essential": true,
"values": ["face", "fido", "fpt", "hwk", "iris", "otp", "pop", "retina",
"sc", "sms", "swk", "tel", "vbm"]
}
}
}
ノ Expand table
iss Identifies the security token service (STS) that constructs and returns the
token, and the Microsoft Entra ID tenant in which the user authenticated.
Your app should use the GUID portion of the claim to restrict the set of
tenants that can sign in to the app, if applicable. Issuer should match the
issuer URL from the OIDC discovery JSON metadata for the tenant where
the user signed in.
aud The audience should be set to the external identity provider’s client ID for
Microsoft Entra ID.
exp The expiration time is set to expire a short time after the issuing time,
sufficient to avoid time skew issues. Because this token isn't meant for
authentication, there's no reason for its validity to outlast the request by
much.
tid The tenant ID is for advertising the tenant to the provider. It represents the
Microsoft Entra ID tenant that the user is from.
oid The immutable identifier for an object in the Microsoft identity platform. In
this case, it's a user account. It can also be used to perform authorization
checks safely, and as a key in database tables. This ID uniquely identifies
the user across applications. Two different applications that sign in the
same user receive the same value in the oid claim. Thus, oid can be used in
queries to Microsoft online services, such as Microsoft Graph.
preferred_username Provides a human readable value that identifies the subject of the token.
This value isn't guaranteed to be unique within a tenant, and is meant only
for display purposes.
sub Subject identifier for the end user at the Issuer. The principal about which
the token asserts information, such as the user of an application. This value
is immutable and can't be reassigned or reused. It can be used to perform
Claim Value Description
To prevent it from being used for anything other than a hint, the token is issued as expired. The
token is signed, and can be verified using the published Microsoft Entra ID discovery metadata.
Example of an id_token_hint
JSON
{
"typ": "JWT",
"alg": "RS256",
"kid": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w"
}.{
"ver": "2.0",
"iss": "https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-
dddd2222eeee/v2.0",
"sub": "mBfcvuhSHkDWVgV72x2ruIYdSsPSvcj2R0qfc6mGEAA",
"aud": "00001111-aaaa-2222-bbbb-3333cccc4444",
"exp": 1536093790,
"iat": 1536093791,
"nbf": 1536093791,
"name": "Test User 2",
"preferred_username": "[email protected]"
"oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}.
Here's an example of the id_token hint for a guest user in the tenant:
JSON
{
"typ": "JWT",
"alg": "RS256",
"kid": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w"
}.{
"ver": "2.0",
"iss": "https://login.microsoftonline.com/9122040d-6c67-4c5b-b112-
36a304b66dad/v2.0",
"sub": "mBfcvuhSHkDWVgV72x2ruIYdSsPSvcj2R0qfc6mGEAA",
"aud": "00001111-aaaa-2222-bbbb-3333cccc4444",
"exp": 1536093790,
"iat": 1536093791,
"nbf": 1536093791,
"name": "External Test User (Hotmail)",
"preferred_username": "[email protected]",
"oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}.
We suggest that external identity providers complete these steps. The list isn't exhaustive, and
providers should complete other validation steps as they see fit.
Ensure that the redirect_uri is published provided in Microsoft Entra ID call to the
external identity provider.
Ensure that the client_id has a value assigned to Microsoft Entra ID, such as ABCD.
The provider should first validate the id_token_hint that is presented to it by
Microsoft Entra ID.
ノ Expand table
state The same state that was passed in the request, if any. Otherwise, this value
shouldn't be present.
On success, the provider would then issue an id_token for the user. Microsoft Entra ID uses the
published OIDC metadata to verify that the token contains the expected claims, and does any
other validation of the token that OIDC requires.
ノ Expand table
iss Issuer – must match the issuer from the provider’s discovery metadata.
aud Audience – the Microsoft Entra ID client ID. See client_id in Microsoft Entra ID call to the
external identity provider.
sub Subject – must match the sub from the id_token_hint sent to initiate this request.
acr The acr claims for the authentication request. This value should match one of the values
from the request sent to initiate this request. Only one acr claim should be returned. For
Claim Value Description
amr The amr claims for the authentication method used in authentication. This value should
be returned as an array, and only one method claim should be returned. For the list of
claims, see Supported amr claims.
ノ Expand table
Claim Notes
ノ Expand table
Claim Notes
sc Smart card
Microsoft Entra ID requires MFA to be satisfied to issue a token with MFA claims. As a result,
only methods with a different type can satisfy the second factor requirement. As mentioned
earlier, the different method types that can be used to satisfy the second factor are knowledge,
possession, and inherence.
Microsoft Entra ID validates the type mapping based on the following table.
ノ Expand table
fido Possession FIDO2 was used. Some implementations may also require biometric, but
possession method type is mapped because it's the primary security attribute.
If no issues are found with the token, then Microsoft Entra ID considers MFA to be satisfied,
and issues a token to the end user. Otherwise, the end user’s request fails.
ノ Expand table
Microsoft Entra ID considers the request successful if the id_token parameter is present in the
response, and if the token is valid. Otherwise, the request is considered unsuccessful. Microsoft
Entra ID fails the original authentication attempt due to requirement of the Conditional Access
policy.
Microsoft Entra ID abandons the state of the authentication attempt on its end about 5
minutes after the redirection to the provider.
When you reach out to Microsoft support or a similar service, provide the value of this
Correlation ID as it helps to access the telemetry and logs faster.
For example:
ENTRA IDSTS70002: Error validating credentials. ENTRA IDSTS50012: External ID token from
issuer 'https://sts.XXXXXXXXX.com/auth/realms/XXXXXXXXXmfa' failed signature
verification. KeyID of token is 'A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u' Trace ID: 0000aaaa-
11bb-cccc-dd22-eeeeee333333 Correlation ID: aaaa0000-bb11-2222-33cc-444444dddddd
Timestamp: 2023-07-24 16:51:34Z
Customers who currently use an integration with an external provider by using custom controls
can continue to use them, and any Conditional Access policies they configured to manage
access. Admins are recommended to create a parallel set of Conditional Access policies during
the migration period:
The policies should use the Require multifactor authentication grant control instead of
the custom control grant.
7 Note
The new policy can be tested first with a subset of users. The test group would be
excluded from the policy that requires the custom controls, and included in the policy
that requires MFA. Once the admin is comfortable that the policy that requires MFA is
satisfied by the EAM, the admin can include all required users in the policy with the MFA
grant, and the policy configured for custom controls can be moved to Off.
Integration support
If you have any issues when you build EAM integration with Microsoft Entra ID, the Microsoft
Customer Experience Engineering (CxE) Independent Solution Vendor (ISV) may be able to
assist. To engage with the CxE ISV team, submit a request for assistance .
References
OAuth2.0 and OIDC specification
Glossary
ノ Expand table
Term Description
Next steps
For more information about how to configure an EAM in Microsoft Entra admin center , see
Manage an external authentication method in Microsoft (Preview).
Reauthentication prompts and session
lifetime for Microsoft Entra multifactor
authentication
Article • 03/04/2025
Microsoft Entra ID has multiple settings that determine how often users need to
reauthenticate. This reauthentication might involve only a first factor, such as password,
Fast IDentity Online (FIDO), or passwordless Microsoft Authenticator. Or it might require
multifactor authentication (MFA). You can configure these reauthentication settings as
needed for your own environment and the user experience that you want.
The Microsoft Entra ID default configuration for user sign-in frequency is a rolling
window of 90 days. Asking users for credentials often seems like a sensible thing to do,
but it can backfire. If users are trained to enter their credentials without thinking, they
can unintentionally supply them to a malicious credential prompt.
It might sound alarming to not ask for a user to sign back in. However, any violation of
IT policies revokes the session. Some examples include a password change, an
incompliant device, or an operation to disable an account. You can also explicitly revoke
users' sessions by using Microsoft Graph PowerShell.
This article details recommended configurations and how various settings work and
interact with each other.
Recommended settings
To give your users the right balance of security and ease of use by asking them to sign
in at the right frequency, we recommend the following configurations:
Our research shows that these settings are right for most tenants. Some combinations
of these settings, such as Remember multifactor authentication and Show option to
remain signed in, can result in prompts for your users to authenticate too often. Regular
reauthentication prompts are bad for user productivity and can make users more
vulnerable to attacks.
A user might see multiple MFA prompts on a device that doesn't have an identity in
Microsoft Entra ID. Multiple prompts result when each application has its own OAuth
Refresh Token that isn't shared with other client apps. In this scenario, MFA prompts
multiple times as each application requests an OAuth Refresh Token to be validated with
MFA.
In Microsoft Entra ID, the most restrictive policy for session lifetime determines when
the user needs to reauthenticate. Consider a scenario in which you enable both of these
settings:
Show option to remain signed in, which uses a persistent browser cookie
Remember multifactor authentication with a value of 14 days
In this example, the user needs to reauthenticate every 14 days. This behavior follows
the most restrictive policy, even though Show option to remain signed in by itself
wouldn't require the user to reauthenticate on the browser.
Managed devices
Devices joined to Microsoft Entra ID through Microsoft Entra join or Microsoft Entra
hybrid join receive a Primary Refresh Token (PRT) to use SSO across applications.
This PRT lets a user sign in once on the device and allows IT staff to make sure that the
device meets standards for security and compliance. If you need to ask a user to sign in
more frequently on a joined device for some apps or scenarios, you can use the
Conditional Access Sign-in frequency policy.
Although this setting reduces the number of authentications on web apps, it increases
the number of authentications for modern authentication clients, such as Office clients.
These clients normally prompt only after password reset or inactivity of 90 days.
However, setting this value to less than 90 days shortens the default MFA prompts for
Office clients, and it increases reauthentication frequency. When you use this setting in
combination with Show option to remain signed in or Conditional Access policies, it
might increase the number of authentication requests.
Persistent browser session allows users to remain signed in after closing and reopening
their browser window. Like the Show option to remain signed in setting, it sets a
persistent cookie on the browser. But because the admin configures it, it doesn't require
the user to select Yes in the Stay signed-in? option. In that way, it provides a better user
experience. If you use the Show option to remain signed in option, we recommend that
you enable the Persistent browser session policy instead.
Under each sign-in log, go to the Authentication Details tab and explore Session
Lifetime Policies Applied. For more information, see Learn about the sign-in log activity
details.
) Important
Microsoft recommends that you use roles with the fewest permissions. This practice
helps improve security for your organization. Global Administrator is a highly
privileged role that should be limited to emergency scenarios or when you can't
use an existing role.
To configure Conditional Access policies for sign-in frequency and persistent browser
sessions:
To review token lifetimes, use Microsoft Graph PowerShell to query any Microsoft Entra
policies. Disable any policies that you have in place.
If more than one setting is enabled in your tenant, we recommend that you update your
settings based on the licensing available for you. For example, if you have a Microsoft
Entra ID P1 or P2 license, you should use only the Conditional Access policies of Sign-in
frequency and Persistent browser session. If you have a Microsoft 365 Apps license or a
Microsoft Entra ID Free license, you should use the Show option to remain signed in
configuration.
If you enabled configurable token lifetimes, keep in mind that this capability will be
removed soon. Plan a migration to a Conditional Access policy.
SSO Microsoft Entra join or Microsoft Entra Microsoft Entra join or Microsoft
hybrid join, or seamless SSO for Entra hybrid join
unmanaged devices
Related content
Tutorial: Secure user sign-in events with Microsoft Entra multifactor authentication
Tutorial: Use risk detections for user sign-ins to trigger Microsoft Entra multifactor
authentication or password changes
Feedback
Was this page helpful? Yes No
Next steps
Authentication methods in Microsoft Entra ID
Securing phone-based MFA in B2C
Regions that need to opt in for MFA telephony verification
Feedback
Was this page helpful? Yes No
B2C tenants can follow the guidelines in B2C service limits. Microsoft Entra External ID tenants
can follow the guidelines in How to region code opt-in.
IRSF is a type of telephony fraud where criminals exploit the billing system of
telecommunication services providers to make profit for themselves. Bad actors gain
unauthorized access to a telecommunication network and divert traffic to those networks to
skim profit for every transaction that is sent to that network. To divert traffic, bad actors steal
existing usernames and passwords, create new usernames and passwords, or try a host of other
things to send text messages and voice calls through their telecommunication network. Bad
actors take advantage of multifactor authentication screens, which require a text message or
voice call before a user can access their account. This activity causes exorbitant charges and
makes services unreliable for our customers, causing downtime, and system errors.
1. A bad actor first gets premium rate phone numbers and registers them.
2. A bad actor uses automated scripts to request voice calls or text messages. The bad actor
is colluding with number providers and the telecommunication network to drive more
traffic to those services. The bad actor skims some of the profits of the increased traffic.
3. A bad actor will hop around different region codes to continue to drive traffic and make it
hard for them to get caught.
The most common way to conduct IRSF is through an end-user experience that requires a two-
factor authentication code. Bad actors add those premium rate phone numbers and pump
traffic to them by requesting two-factor authentication codes. This activity results in revenue-
skimming, and can lead to billions of dollars in loss.
IRSF poses a significant threat to online businesses and can cause reputational damage. By
understanding IRSF, you can be more aware of the problem and can engage in implementing
preventive measures such as regional restrictions, rate limiting, and phone number verification.
ノ Expand table
Afghanistan 93
Albania 355
Algeria 213
Andorra 376
Angola 244
Anguilla 1264
Antarctica 672
Argentina 54
Armenia 374
Aruba 297
Austria 43
Azerbaijan 994
Bahamas 1242
Region Code Region Name
Bahrain 973
Bangladesh 880
Barbados 1246
Belarus 375
Belgium 32
Belize 501
Benin 229
Bermuda 1441
Bhutan 975
Bolivia 591
Botswana 267
Brazil 55
Brunei 673
Bulgaria 359
Burundi 257
Cambodia 855
Cameroon 237
Chad 235
Chile 56
Region Code Region Name
China 86
Colombia 57
Comoros 269
Congo 242
Congo 243
Croatia 385
Cuba 53
Curacao 599
Cyprus 357
Denmark 45
Djibouti 253
Dominica 1767
Dominica 1809
Ecuador 593
Egypt 20
El Salvador 503
Eritrea 291
Estonia 372
Ethiopia 251
Fiji 679
Finland 358
Gabon 241
Gambia 220
Georgia 995
Germany 49
Ghana 233
Gibraltar 350
Greece 30
Greenland 299
Grenada 1473
Guam 1671
Guatemala 502
Guinea 224
Guinea-Bissau 245
Guyana 592
Haiti 509
Honduras 504
Hungary 36
Iceland 354
India 91
Region Code Region Name
Indonesia 62
Iran 98
Iraq 964
Israel 972
Italy 39
Jamaica 1658
Jamaica 1876
Japan 81
Jordan 962
Kenya 254
Kiribati 686
Kosovo 383
Kuwait 965
Kyrgyzstan 996
Laos 856
Latvia 371
Lebanon 961
Lesotho 266
Liberia 231
Libya 218
Liechtenstein 423
Lithuania 370
Luxembourg 352
Madagascar 261
Malawi 265
Region Code Region Name
Malaysia 60
Maldives 960
Mali 223
Malta 356
Martinique 596
Mauritania 222
Mauritius 230
Mayotte 262
Mexico 52
Micronesia 691
Moldova 373
Monaco 377
Mongolia 976
Montenegro 382
Montserrat 1664
Morocco 212
Mozambique 258
Myanmar 95
Namibia 264
Nauru 674
Nepal 977
Netherlands 31
New Zealand 64
Nicaragua 505
Region Code Region Name
Niger 227
Nigeria 234
Niue 683
Norway 47
Oman 968
Pakistan 92
Palau 680
Panama 507
Paraguay 595
Peru 51
Philippines 63
Poland 48
Portugal 351
Qatar 974
Romania 40
Russia 7
Rwanda 250
Samoa 685
Senegal 221
Serbia 381
Seychelles 248
Singapore 65
Slovakia 421
Slovenia 386
Somalia 252
South Africa 27
South Korea 82
Sri Lanka 94
Sudan 249
Suriname 597
Region Code Region Name
Sweden 46
Switzerland 41
Syria 963
Taiwan 886
Tajikistan 992
Tanzania 255
Thailand 66
Timor-Leste 670
Togo 228
Tokelau 690
Tonga 676
Tunisia 216
Türkiye 90
Turkmenistan 993
Tuvalu 688
Uganda 256
Ukraine 380
United Kingdom 44
Uruguay 598
Uzbekistan 998
Vanuatu 678
Venezuela 58
Region Code Region Name
Vietnam 84
Yemen 967
Zambia 260
Zimbabwe 263
Next steps
Understanding telephony fraud
Authentication methods in Microsoft Entra ID
Data residency and customer data for
Microsoft Entra multifactor
authentication
Article • 03/04/2025
Microsoft Entra ID stores customer data in a geographical location based on the address
an organization provides when subscribing to a Microsoft online service such as
Microsoft 365 or Azure. For information on where your customer data is stored, see
Where your data is located in the Microsoft Trust Center.
Cloud-based Microsoft Entra multifactor authentication and MFA Server process and
store personal data and organizational data. This article outlines what and where data is
stored.
The Microsoft Entra multifactor authentication service has datacenters in the United
States, Europe, and Asia Pacific. The following activities originate from the regional
datacenters except where noted:
Multifactor authentication SMS and phone calls originate from datacenters in the
customer's region and are routed by global providers. Phone calls using custom
greetings always originate from data centers in the United States.
General purpose user authentication requests from other regions are currently
processed based on the user's location.
Push notifications that use the Microsoft Authenticator app are currently processed
in regional datacenters based on the user's location. Vendor-specific device
services, such as Apple Push Notification Service or Google Firebase Cloud
Messaging, might be outside the user's location.
Blocked users
Bypassed users
Microsoft Authenticator device token change requests
Multifactor authentication activity reports—store multifactor authentication activity
from the multifactor authentication on-premises components: NPS Extension, AD
FS adapter and MFA server.
Microsoft Authenticator activations
Microsoft Entra multifactor authentication doesn't log personal data such as usernames,
phone numbers, or IP addresses. However, UserObjectId identifies authentication
attempts to users. Log data is stored for 30 days.
ノ Expand table
For Microsoft Azure Government, Microsoft Azure operated by 21Vianet, Azure AD B2C
authentication, the NPS extension, and the Windows Server 2016 or 2019 AD FS adapter,
the following personal data is stored:
ノ Expand table
) Important
ノ Expand table
Account lockout
Fraud alert
Notifications
Phone call settings
For MFA Server, the following pages might contain organizational data:
Server settings
One-time bypass
Caching rules
Multi-Factor Authentication Server status
7 Note
The multifactor authentication activity reports contain personal data such as User
Principal Name (UPN) and complete phone number.
Cloud MFA All methods Any Microsoft Entra sign- Cloud in-region
in logs in region
ノ Expand table
Next steps
For more information about what user information is collected by cloud-based
Microsoft Entra multifactor authentication and MFA Server, see Microsoft Entra
multifactor authentication user data collection.
Feedback
Was this page helpful? Yes No
) Important
This article details the different ways that Microsoft Entra multifactor authentication
can be licensed and used. For specific details about pricing and billing, see the
Microsoft Entra pricing page .
The following table details the different ways to get Microsoft Entra multifactor
authentication and some of the features and use cases for each.
ノ Expand table
Microsoft 365 EMS E3, Microsoft 365 E3, and Microsoft 365 Business Premium includes
Business Premium Microsoft Entra ID P1. EMS E5 or Microsoft 365 E5 includes Microsoft
If you're a user of Capabilities and use cases
and EMS or Entra ID P2. You can use the same Conditional Access features noted in
Microsoft 365 E3 and the following sections to provide multifactor authentication to users.
E5
Microsoft Entra ID P1 You can use Microsoft Entra Conditional Access to prompt users for
multifactor authentication during certain scenarios or events to fit your
business requirements.
Microsoft Entra ID P2 Provides the strongest security position and improved user experience.
Adds risk-based Conditional Access to the Microsoft Entra ID P1 features
that adapts to user's patterns and minimizes multifactor authentication
prompts.
All Microsoft 365 Microsoft Entra multifactor authentication can be enabled for all users
plans using security defaults. Management of Microsoft Entra multifactor
authentication is through the Microsoft 365 portal. For an improved user
experience, upgrade to Microsoft Entra ID P1 or P2 and use Conditional
Access. For more information, see secure Microsoft 365 resources with
multifactor authentication.
Office 365 free You can use security defaults to prompt users for multifactor
Microsoft Entra ID authentication as needed but you don't have granular control of enabled
Free users or scenarios, but it does provide that additional security step.
ノ Expand table
Feature Microsoft Entra Microsoft Entra ID Office Microsoft Microsoft
ID Free - Free - Global 365 Entra ID Entra ID
Security Administrators P1 P2
defaults only
(enabled for all
users)
Mobile app as a ● ● ● ● ●
second factor
Phone call as a ● ● ●
second factor
Text message as ● ● ● ●
a second factor
Admin control ● ● ● ●
over verification
methods
Fraud alert ● ●
MFA Reports ● ●
Custom ● ●
greetings for
phone calls
Custom caller ID ● ●
for phone calls
Trusted IPs ● ●
Remember MFA ● ● ● ●
for trusted
devices
Conditional ● ●
Access
Risk-based ●
Conditional
Feature Microsoft Entra Microsoft Entra ID Office Microsoft Microsoft
ID Free - Free - Global 365 Entra ID Entra ID
Security Administrators P1 P2
defaults only
(enabled for all
users)
Access
ノ Expand table
Management
One-click on/off ●
Configuration flexibility ●
Functionality
You enable Microsoft Entra multifactor authentication in one of the following ways,
depending on the type of account you use:
Next steps
For more information on costs, see Microsoft Entra pricing .
What is Conditional Access
What is Microsoft Entra ID Protection?
MFA can also be enabled on a per-user basis
Feedback
Was this page helpful? Yes No
Check out all of our small business content on Small business help & learning .
Multifactor authentication means you and your employees must provide more than one way to
sign in to Microsoft 365 is one of the easiest ways to secure your business. Based on your
understanding of multifactor authentication (MFA) and its support in Microsoft 365, it's time to
set it up and roll it out to your organization.
Tip
If you need help with the steps in this topic, consider working with a Microsoft small
business specialist . With Business Assist, you and your employees get around-the-clock
access to small business specialists as you grow your business, from onboarding to
everyday use.
1. In the Microsoft 365 admin center, in the left nav choose Users > Active users.
2. On the Active users page, choose multifactor authentication.
3. On the multifactor authentication page, select each user and set their multifactor
authentication status to Disabled.
) Important
5. Select Save.
Use Conditional Access policies
If your organization has more granular sign-in security needs, Conditional Access policies
can offer you more control. Conditional Access lets you create and define policies that react to
sign in events and request additional actions before a user is granted access to an application
or service. You can also get started by using conditional access templates.
) Important
Do not forget to disable per-user MFA after you have enabled Conditional Access policies.
This is important as it will result in inconsistent user experience.
Conditional Access is available for customers who bought Microsoft Entra ID P1, or licenses
that include this, such as Microsoft 365 Business Premium, and Microsoft 365 E3. For more
information, see create a Conditional Access policy.
Risk-based conditional access is available through Microsoft Entra ID P2 license, or licenses that
include risk based conditional access, like Microsoft 365 E5. For more information, see risk-
based Conditional Access.
For more information about the Microsoft Entra ID P1 and P2, see Microsoft Entra pricing .
Related content
Set up multifactor authentication (video)
This FAQ answers common questions about Microsoft Entra multifactor authentication
and using the multifactor authentication service. It's broken down into questions about
the service in general, billing models, user experiences, and troubleshooting.
) Important
General
How does Azure Multifactor Authentication
Server handle user data?
With Multifactor Authentication Server, user data is only stored on the on-premises
servers. No persistent user data is stored in the cloud. When the user performs two-step
verification, Multifactor Authentication Server sends data to the Microsoft Entra
multifactor authentication cloud service for authentication. Communication between
Multifactor Authentication Server and the multifactor authentication cloud service uses
Secure Sockets Layer (SSL) or Transport Layer Security (TLS) over port 443 outbound.
When authentication requests are sent to the cloud service, data is collected for
authentication and usage reports. The following data fields are included in two-step
verification logs:
Unique ID (either user name or on-premises Multifactor Authentication Server ID)
First and Last Name (optional)
Email Address (optional)
Phone Number (when using a voice call or text message authentication)
Device Token (when using mobile app authentication)
Authentication Mode
Authentication Result
Multifactor Authentication Server Name
Multifactor Authentication Server IP
Client IP (if available)
The verification result (success or denial), and the reason if it was denied, is stored with
the authentication data. This data is available in authentication and usage reports.
For more information, see Data residency and customer data for Microsoft Entra
multifactor authentication.
97671
69829
51789
99399
759731
673801
We don't support short codes for countries or regions besides the United States and
Canada.
Does Microsoft Entra multifactor authentication
throttle user sign-ins?
Yes, in certain cases that typically involve repeated authentication requests in a short
time window, Microsoft Entra multifactor authentication throttles user sign-in attempts
to protect telecommunication networks, mitigate MFA fatigue-style attacks and protect
its own systems for the benefit of all customers.
Although we don't share specific throttling limits, they're based around reasonable
usage.
Your users might be charged for the phone calls or text messages they receive,
according to their personal phone service.
When you purchase a subscription for Microsoft Entra multifactor authentication, your
organization only pays the annual license fee for each user. MFA licenses and Microsoft
365, Microsoft Entra ID P1 or P2, or Enterprise Mobility + Security bundles are billed this
way.
For more information, see How to get Microsoft Entra multifactor authentication.
If your MFA provider is not linked to a Microsoft Entra tenant, or you link the new MFA
provider to a different Microsoft Entra tenant, user settings, and configuration options
aren't transferred. Also, existing MFA Servers need to be reactivated using activation
credentials generated through the new MFA Provider. Reactivating the MFA Servers to
link them to the new MFA Provider doesn't impact phone call and text message
authentication, but mobile app notifications stop working for all users until they
reactivate the mobile app.
Learn more about MFA providers in Getting started with an Azure multifactor
authentication provider.
Microsoft Entra ID is required for the license model because licenses are added to the
Microsoft Entra tenant when you purchase and assign them to users in the directory.
Third-party security apps may also block the verification code text message or phone
call. If using a third-party security app, try disabling the protection, then request another
MFA verification code be sent.
If the prior steps don't work, check if users are configured for more than one verification
method. Try signing in again, but select a different verification method on the sign-in
page.
If your organization doesn't have legacy clients, you shouldn't allow your users to create
app passwords.
7 Note
App passwords are only necessary for apps that don't support modern
authentication. Office 2013 clients support modern authentication protocols, but
need to be configured. Modern authentication is available to any customer running
the March 2015 or later update for Office 2013. For more information, see the blog
post Updated Office 365 modern authentication .
My users say that sometimes they don't receive
the text message or the verification times out.
Delivery of text messages isn't guaranteed because uncontrollable factors might affect
the reliability of the service. These factors include the destination country or region, the
mobile phone carrier, and the signal strength.
Third-party security apps may also block the verification code text message or phone
call. If using a third-party security app, try disabling the protection, then request another
MFA verification code be sent.
If your users often have problems with reliably receiving text messages, tell them to use
the Microsoft Authenticator app or phone call method instead. The Microsoft
Authenticator can receive notifications both over cellular and Wi-Fi connections. In
addition, the mobile app can generate verification codes even when the device has no
signal at all. The Microsoft Authenticator app is available for Android , iOS , and
Windows Phone .
For one-way SMS with MFA Server v7.0 or higher, you can configure the timeout setting
by setting a registry key. After the MFA cloud service sends the text message, the
verification code (or one-time passcode) is returned to the MFA Server. The MFA Server
stores the code in memory for 300 seconds by default. If the user doesn't enter the code
before the 300 seconds have passed, their authentication is denied. Use these steps to
change the default timeout setting:
1. Go to HKLM\Software\Wow6432Node\Positive Networks\PhoneFactor .
2. Create a DWORD registry key called pfsvc_pendingSmsTimeoutSeconds and set the
time in seconds that you want the MFA Server to store one-time passcodes.
Tip
If you have multiple MFA Servers, only the one that processed the original
authentication request knows the verification code that was sent to the user. When
the user enters the code, the authentication request to validate it must be sent to
the same server. If the code validation is sent to a different server, the
authentication is denied.
If users don't respond to the SMS within the defined timeout period, their
authentication is denied.
For one-way SMS with Microsoft Entra multifactor authentication in the cloud (including
the AD FS adapter or the Network Policy Server extension), you can't configure the
timeout setting. Microsoft Entra ID stores the verification code for 180 seconds.
You can use ActiveIdentity tokens that are OATH TOTP tokens if you put the secret key in
a CSV file and import to Multifactor Authentication Server. You can use OATH tokens
with Active Directory Federation Services (ADFS), Internet Information Server (IIS) forms-
based authentication, and Remote Authentication Dial-In User Service (RADIUS) as long
as the client system can accept the user input.
You can import third-party OATH TOTP tokens with the following formats:
The user has been enabled for MFA by their administrator in Microsoft Entra ID,
but doesn't have security information registered for their account yet.
The user has been enabled for self-service password reset in Microsoft Entra ID.
The security information will help them reset their password in the future if they
ever forget it.
The user accessed an application that has a Conditional Access policy to require
MFA and hasn't previously registered for MFA.
The user is registering a device with Microsoft Entra ID (including Microsoft Entra
join), and your organization requires MFA for device registration, but the user
hasn't previously registered for MFA.
The user is generating Windows Hello for Business in Windows 10 (which requires
MFA) and hasn't previously registered for MFA.
The organization has created and enabled an MFA Registration policy that has
been applied to the user.
The user previously registered for MFA, but chose a verification method that an
administrator has since disabled. The user must therefore go through MFA
registration again to select a new default verification method.
Errors
What should users do if they see an
"Authentication request isn't for an activated
account" error message when using mobile app
notifications?
Ask the user to complete the following procedure to remove their account from the
Microsoft Authenticator, then add it again:
A workaround for this error is to have separate user accounts for admin-related and
nonadmin operations. Later, you can link mailboxes between your admin account and
nonadmin account so that you can sign in to Outlook by using your nonadmin account.
For more details about this solution, learn how to give an administrator the ability to
open and view the contents of a user's mailbox .
A plausible reason for this error: If the primary credentials entered are correct, there
might be a mismatch between the supported NTLM version on the MFA server and the
domain controller. MFA Server supports only NTLMv1 (LmCompatabilityLevel=1 through
4) and not NTLMv2 (LmCompatabilityLevel=5).
Next steps
If your question isn't answered here, the following support options are available:
Feedback
Was this page helpful? Yes No
Beginning in October 2021, Microsoft Entra validation for compliance with password
policies also includes a check for known weak passwords and their variants. This article
explains details about the password policy criteria checked by Microsoft Entra ID.
The Microsoft Entra password policy doesn't apply to user accounts synchronized from
an on-premises AD DS environment using Microsoft Entra Connect unless you enable
EnforceCloudPasswordPolicyForPasswordSyncedUsers. If
EnforceCloudPasswordPolicyForPasswordSyncedUsers and password writeback are
enabled, Microsoft Entra password expiration policy applies, but the on-premises
password policy takes precedence for length, complexity, and so on.
The following Microsoft Entra password policy requirements apply for all passwords that
are created, changed, or reset in Microsoft Entra ID. Requirements are applied during
user provisioning, password change, and password reset flows. You can't change these
settings except as noted.
ノ Expand table
Property Requirements
Password complexity Passwords require three out of four of the following categories:
- Uppercase characters
- Lowercase characters
- Numbers
- Symbols
Note: Password complexity check isn't required for Education
tenants.
Password not recently used When a user changes their password, the new password shouldn't
be the same as the current password.
Password isn't banned by The password can't be on the global list of banned passwords for
Microsoft Entra Password Microsoft Entra Password Protection, or on the customizable list of
Protection banned passwords specific to your organization.
7 Note
By default, only passwords for user accounts that aren't synchronized through
Microsoft Entra Connect can be configured to not expire. For more information
about directory synchronization, see Connect AD with Microsoft Entra ID.
You can also use PowerShell to remove the never-expires configuration, or to see user
passwords that are set to never expire.
The following expiration requirements apply to other providers that use Microsoft Entra
ID for identity and directory services, such as Microsoft Intune and Microsoft 365.
ノ Expand table
Property Requirements
Password expiry (Let passwords Default value: false (indicates that password's have an
never expire) expiration date).
The value can be configured for individual user accounts by
using the Update-MgUser cmdlet.
Next steps
Password policies and account restrictions in Microsoft Entra ID
Eliminate bad passwords using Microsoft Entra Password Protection
Feedback
Was this page helpful? Yes No
As a general rule, security guidance recommends that you don't use the same password
in multiple places, to make it complex, and to avoid simple passwords like Password123.
You can provide your users with guidance on how to choose passwords , but weak or
insecure passwords are often still used. Microsoft Entra Password Protection detects and
blocks known weak passwords and their variants, and can also block other weak terms
that are specific to your organization.
With Microsoft Entra Password Protection, default global banned password lists are
automatically applied to all users in a Microsoft Entra tenant. To support your own
business and security needs, you can define entries in a custom banned password list.
When users change or reset their passwords, these banned password lists are checked
to enforce the use of strong passwords.
You should use other features like Microsoft Entra multifactor authentication, not just
rely on strong passwords enforced by Microsoft Entra Password Protection. For more
information on using multiple layers of security for your sign-in events, see Your
Pa$$word doesn't matter .
) Important
If your IT team hasn't enabled the ability to reset your own password, reach out to
your helpdesk.
The global banned password list is automatically applied to all users in a Microsoft Entra
tenant. There's nothing to enable or configure, and can't be disabled. This global
banned password list is applied to users when they change or reset their own password
through Microsoft Entra ID.
7 Note
Cyber-criminals also use similar strategies in their attacks to identify common weak
passwords and variations. To improve security, Microsoft doesn't publish the
contents of the global banned password list.
Brand names
Product names
Locations, such as company headquarters
Company-specific internal terms
Abbreviations that have specific company meaning
When terms are added to the custom banned password list, they're combined with the
terms in the global banned password list. Password change or reset events are then
validated against the combined set of these banned password lists.
7 Note
The custom banned password list is limited to a maximum of 1,000 terms. It isn't
designed for blocking extremely large lists of passwords.
To fully apply the benefits of the custom banned password list, first understand
how are passwords evaluated before you add terms to the custom banned list.
This approach lets you efficiently detect and block large numbers of weak
passwords and their variants.
Let's consider a customer named Contoso. The company is based in London and makes
a product named Widget. For this example customer, it would be wasteful and less
secure to try to block specific variations of these terms:
"Contoso!1"
"Contoso@London"
"ContosoWidget"
"!Contoso"
"LondonHQ"
Instead, it's much more efficient and secure to block only the key base terms, such as
the following examples:
"Contoso"
"London"
"Widget"
The password validation algorithm then automatically blocks weak variants and
combinations.
To get started with using a custom banned password list, complete the following
tutorial:
Instead, most password spray attacks submit only a few of the known weakest
passwords against each of the accounts in an enterprise. This technique allows the
attacker to quickly search for an easily compromised account and avoid potential
detection thresholds.
Microsoft Entra Password Protection efficiently blocks all known weak passwords likely
to be used in password spray attacks. This protection is based on real-world security
telemetry data from Microsoft Entra ID to build the global banned password list.
There are some third-party websites that enumerate millions of passwords that have
been compromised in previous publicly known security breaches. It's common for third-
party password validation products to be based on brute-force comparison against
those millions of passwords. However, those techniques aren't the best way to improve
overall password strength given the typical strategies used by password spray attackers.
7 Note
The global banned password list isn't based on any third-party data sources,
including compromised password lists.
Although the global banned list is small in comparison to some third-party bulk lists, it's
sourced from real-world security telemetry on actual password spray attacks. This
approach improves the overall security and effectiveness, and the password validation
algorithm also uses smart fuzzy-matching techniques. As a result, Microsoft Entra
Password Protection efficiently detects and blocks millions of the most common weak
passwords from being used in your enterprise.
For more information, see Enforce Microsoft Entra Password Protection for AD DS.
Even if a user's password contains a banned password, the password may be accepted if
the overall password is otherwise strong enough. A newly configured password goes
through the following steps to assess its overall strength to determine if it should be
accepted or rejected.
7 Note
Step 1: Normalization
A new password first goes through a normalization process. This technique allows for a
small set of banned passwords to be mapped to a much larger set of potentially weak
passwords.
ノ Expand table
0 o
Original letter Substituted letter
1 l
$ s
@ a
Each of the above passwords doesn't specifically match the banned password
"abcdef".
However, since each example is within an edit distance of 1 of the banned term
'abcdef', they're all considered as a match to "abcdef".
) Important
Substring matching is only enforced for names, and other terms, that are at least
four characters long.
Score Calculation
The next step is to identify all instances of banned passwords in the user's normalized
new password. Points are assigned based on the following criteria:
For the next two example scenarios, Contoso is using Microsoft Entra Password
Protection and has "contoso" on their custom banned password list. Let's also assume
that "blank" is on the global list.
The matching process finds that this password contains two banned passwords:
"contoso" and "blank".
Let's look a slightly different example to show how more complexity in a password can
build the required number of points to be accepted. In the following example scenario, a
user changes their password to "ContoS0Bl@nkf9!":
The matching process finds that this password contains two banned passwords:
"contoso" and "blank".
) Important
The banned password algorithm, along with the global banned password list, can
and do change at any time in Azure based on ongoing security analysis and
research.
For the on-premises DC agent service in hybrid scenarios, updated algorithms only
take effect after the DC agent software is upgraded.
"Unfortunately, your password contains a word, phrase, or pattern that makes your
password easily guessable. Please try again with a different password."
"We've seen that password too many times before. Choose something harder to guess."
License requirements
ノ Expand table
Users Microsoft Entra Password Microsoft Entra Password
Protection with global banned Protection with custom banned
password list password list
7 Note
For more information about licensing, see Microsoft Entra pricing site .
Next steps
To get started with using a custom banned password list, complete the following
tutorial:
You can also then enable on-premises Microsoft Entra Password Protection.
Feedback
Was this page helpful? Yes No
Microsoft Entra Password Protection detects and blocks known weak passwords and
their variants, and can also block additional weak terms that are specific to your
organization. On-premises deployment of Microsoft Entra Password Protection uses the
same global and custom banned password lists that are stored in Microsoft Entra ID,
and does the same checks for on-premises password changes as Microsoft Entra ID
does for cloud-based changes. These checks are performed during password changes
and password reset events against on-premises Active Directory Domain Services (AD
DS) domain controllers.
Design principles
Microsoft Entra Password Protection is designed with the following principles in mind:
Domain controllers (DCs) never have to communicate directly with the internet.
No new network ports are opened on DCs.
No AD DS schema changes are required. The software uses the existing AD DS
container and serviceConnectionPoint schema objects.
Any supported AD DS domain or forest functional level can be used.
The software doesn't create or require accounts in the AD DS domains that it
protects.
User clear-text passwords never leave the domain controller, either during
password validation operations or at any other time.
The software isn't dependent on other Microsoft Entra features. For example,
Microsoft Entra password hash sync (PHS) isn't related or required for Microsoft
Entra Password Protection.
Incremental deployment is supported, however the password policy is only
enforced where the Domain Controller Agent (DC Agent) is installed.
Incremental deployment
Microsoft Entra Password Protection supports incremental deployment across DCs in an
AD DS domain. It's important to understand what this really means and what the
tradeoffs are.
The Microsoft Entra Password Protection DC agent software can only validate passwords
when it's installed on a DC, and only for password changes that are sent to that DC. It's
not possible to control which DCs are chosen by Windows client machines for
processing user password changes. To guarantee consistent behavior and universal
Microsoft Entra Password Protection security enforcement, the DC agent software must
be installed on all DCs in a domain.
Architectural diagram
It's important to understand the underlying design and function concepts before you
deploy Microsoft Entra Password Protection in an on-premises AD DS environment. The
following diagram shows how the components of Microsoft Entra Password Protection
work together:
The Microsoft Entra Password Protection Proxy service runs on any domain-joined
machine in the current AD DS forest. The service's primary purpose is to forward
password policy download requests from DCs to Microsoft Entra ID and then
return the responses from Microsoft Entra ID to the DC.
The password filter DLL of the DC Agent receives user password-validation
requests from the operating system. The filter forwards them to the DC Agent
service that's running locally on the DC.
The DC Agent service of Microsoft Entra Password Protection receives password-
validation requests from the password filter DLL of the DC Agent. The DC Agent
service processes them by using the current (locally available) password policy and
returns the result of pass or fail.
1. Each Microsoft Entra Password Protection Proxy service instance advertises itself to
the DCs in the forest by creating a serviceConnectionPoint object in Active
Directory.
Each DC Agent service for Microsoft Entra Password Protection also creates a
serviceConnectionPoint object in Active Directory. This object is used primarily for
reporting and diagnostics.
2. The DC Agent service is responsible for initiating the download of a new password
policy from Microsoft Entra ID. The first step is to locate a Microsoft Entra
Password Protection Proxy service by querying the forest for proxy
serviceConnectionPoint objects.
3. When an available proxy service is found, the DC Agent sends a password policy
download request to the proxy service. The proxy service in turn sends the request
to Microsoft Entra ID, then returns the response to the DC Agent service.
4. After the DC Agent service receives a new password policy from Microsoft Entra ID,
the service stores the policy in a dedicated folder at the root of its domain sysvol
folder share. The DC Agent service also monitors this folder in case newer policies
replicate in from other DC Agent services in the domain.
5. The DC Agent service always requests a new policy at service startup. After the DC
Agent service is started, it checks the age of the current locally available policy
hourly. If the policy is older than one hour, the DC Agent requests a new policy
from Microsoft Entra ID via the proxy service, as described previously. If the current
policy isn't older than one hour, the DC Agent continues to use that policy.
6. When password change events are received by a DC, the cached policy is used to
determine if the new password is accepted or rejected.
The AD DS forest and all deployed proxy services within a forest must be registered with
the same tenant. It's not supported to have an AD DS forest or any proxy services in that
forest being registered to different Microsoft Entra tenants. Symptoms of such a mis-
configured deployment include the inability to download password policies.
7 Note
Customers that have multiple Microsoft Entra tenants must therefore choose one
distinguished tenant to register each forest for Microsoft Entra Password Protection
purposes.
Download
The two required agent installers for Microsoft Entra Password Protection are available
from the Microsoft Download Center .
Next steps
To get started with using on-premises Microsoft Entra Password Protection, complete
the following how-to:
Feedback
Was this page helpful? Yes No
Combined registration is rolled out to all customers in Azure and Azure for US
Government. The portal control that allows you to switch from legacy to combined
registration experience is removed after your tenant migrates to the combined
registration.
My Account pages are localized based on the language settings of the computer
accessing the page. Microsoft stores the most recent language used in the browser
cache, so subsequent attempts to access the pages continue to render in the last
language used. If you clear the cache, the pages re-render.
If you want to force a specific language, you can add ?lng=<language> to the end of the
URL, where <language> is the code of the language you want to render.
ノ Expand table
Passwords No Yes No
7 Note
Alternate phone can only be registered in manage mode on Security info and
requires Voice calls to be enabled in the Authentication methods policy.
Office phone can only be registered in Interrupt mode if the users Business phone
property is set. Office phone can be added by users in Manage mode from Security
info without this requirement.
App passwords are available only to users who are enforced for per-user MFA. App
passwords aren't available to users who are enabled for Microsoft Entra multifactor
authentication by a Conditional Access policy.
Users can set one of the following options as the default multifactor authentication
method.
7 Note
Virtual phone numbers aren't supported for Voice calls or SMS messages.
Third party authenticator apps don't provide push notification. As we continue to add
more authentication methods to Microsoft Entra ID, those methods become available in
combined registration.
For both modes, users who have previously registered a method that can be used for
Microsoft Entra multifactor authentication need to perform multifactor authentication
before they can access their security info. Users must confirm their information before
continuing to use their previously registered methods.
Interrupt mode
Combined registration adheres to both multifactor authentication and SSPR policies, if
both are enabled for your tenant. These policies control whether a user is interrupted for
registration during sign-in and which methods are available for registration. If only an
SSPR policy is enabled, then users are be able to skip (indefinitely) the registration
interruption and complete it at a later time.
The following are sample scenarios where users might be prompted to register or
refresh their security info:
A user is enabled for SSPR. The SSPR policy requires two methods to reset and is
enabled Microsoft Authenticator app, email, and phone.
When the user chooses to register, two methods are required:
The user is shown Microsoft Authenticator app and phone by default.
The user can choose to register email instead of Authenticator app or phone.
When they set up Microsoft Authenticator, the user can select I want to setup a
different method to register other authentication methods. The list of available
methods is determined by the Authentication methods policy for the tenant.
The following flowchart describes which methods are shown to a user when interrupted
to register during sign-in:
If you have both multifactor authentication and SSPR enabled, we recommend that you
enforce multifactor authentication registration.
If the SSPR policy requires users to review their security info at regular intervals, users
are interrupted during sign-in and shown all their registered methods. They can confirm
the current info if it's up to date, or they can make changes if they need to. Users must
perform multifactor authentication to access this page.
Manage mode
Users can go to Security info , or they can select Security info from My Account. From
there, users can add methods, delete or change existing methods, change the default
method, and more.
Combined registration sessions are only valid for 15 minutes. If a user's registration or
management actions take longer than this time period, the session expires and the user
is asked to sign back in to continue.
7 Note
If you have any links that point to the legacy change password experience, update
them to the following forward link to direct users to the new My Sign Ins Change
Password experience: https://go.microsoft.com/fwlink/?linkid=2224198 .
A user who hasn't yet set up all required security info goes to
https://myaccount.microsoft.com . The user selects Security info in the left pane. From
there, the user chooses to add a method, selects any of the methods available, and
follows the steps to set up that method. When finished, the user sees the method that
was set up on the Security info page.
Switch directory
An external identity such as a B2B user may need to switch the directory to change the
security registration information for a third-party tenant. In addition, users who access a
resource tenant may be confused when they change settings in their home tenant but
don't see the changes reflected in the resource tenant.
For example, a user sets Microsoft Authenticator app push notification as the primary
authentication to sign-in to home tenant and also has SMS/Text as another option. This
user is also configured with SMS/Text option on a resource tenant. If this user removes
SMS/Text as one of the authentication options on their home tenant, they get confused
when access to the resource tenant asks them to respond to SMS/Text message.
To switch the directory in the Microsoft Entra admin center, select the user account
name in the upper right corner and select Switch directory.
https://mysignins.microsoft.com/security-info?tenant=<Tenant Name>
https://mysignins.microsoft.com/security-info/?tenantId=<Tenant ID>
7 Note
Applications that aren't updated and are still using Azure AD Authentication Library
(ADAL) that rely on legacy webviews can fallback to older versions of Internet
Explorer. In these scenarios, users experience a blank page when directed to the My
Sign-ins page. To resolve this issue, switch to a modern browser.
Next steps
To get started, see the tutorials to enable self-service password reset and enable
Microsoft Entra multifactor authentication.
Learn how to enable combined registration in your tenant or force users to re-register
authentication methods.
You can also review the available methods for Microsoft Entra multifactor authentication
and SSPR.
Feedback
Was this page helpful? Yes No
7 Note
Organizations can increase their resiliency to reduce the risk of lockout before a
disruption by implementing mitigation strategies or contingency plans.
Organizations can continue to access apps and resources they choose during a
disruption by having mitigation strategies and contingency plans in place.
Organizations should make sure they preserve information, such as logs, after a
disruption and before they roll back any contingencies they implemented.
Organizations that haven’t implemented prevention strategies or alternative plans
may be able to implement emergency options to deal with the disruption.
Key guidance
There are four key takeaways in this document:
Before a disruption
Mitigating an actual disruption must be an organization’s primary focus in dealing with
access control issues that may arise. Mitigating includes planning for an actual event
plus implementing strategies to make sure access controls and operations are
unaffected during disruptions.
Provision multiple authentication methods for each user that rely on different
communication channels, for example, the Microsoft Authenticator app (internet-
based), OATH token (generated on-device), and SMS (telephonic).
Deploy Windows Hello for Business on Windows 10 devices to satisfy MFA
requirements directly from device sign-in.
Use trusted devices via Microsoft Entra hybrid join or Microsoft Intune. Trusted
devices improve user experience because the trusted device itself can satisfy the
strong authentication requirements of policy without an MFA challenge to the
user. MFA will then be required when enrolling a new device and when accessing
apps or resources from untrusted devices.
Use Microsoft Entra ID Protection risk-based policies that prevent access when the
user or sign-in is at risk in place of fixed MFA policies.
If you're protecting VPN access using Microsoft Entra multifactor authentication
NPS extension, consider federating your VPN solution as a SAML app and
determine the app category as recommended below.
7 Note
The following example describes policies you must create to provide a resilient access
control for user to access their apps and resources. In this example, you require a
security group AppUsers with the target users you want to give access to, a group
named CoreAdmins with the core administrators, and a group named EmergencyAccess
with the emergency access accounts. This example policy set will grant selected users in
AppUsers, access to selected apps if they're connecting from a trusted device OR
provide strong authentication, for example MFA. It excludes emergency accounts and
core administrators.
Understanding your exposure during a disruption helps reduce your risk and is a critical
part of your planning process. To create your contingency plan, first determine the
following business requirements of your organization:
1. Determine your mission critical apps ahead of time: What are the apps that you
must give access to, even with a lower risk/security posture? Build a list of these
apps and make sure your other stakeholders (business, security, legal, leadership)
all agree that if all access control goes away, these apps still must continue to run.
You're likely going to end up with categories of:
Category 1 mission critical apps that can't be unavailable for more than a
few minutes, for example Apps that directly affect the revenue of the
organization.
Category 2 important apps that the business needs to be accessible within a
few hours.
Category 3 low-priority apps that can withstand a disruption of a few days.
2. For apps in category 1 and 2, Microsoft recommends you preplan what type of
level of access you want to allow:
Do you want to allow browser only access and block rich clients that can save
offline data?
Do you want to allow access only for users inside the corporate network and
keep outside users blocked?
Do you want to allow access from certain countries or regions only during the
disruption?
Do you want policies to the contingency policies, especially for mission
critical apps, to fail or succeed if an alternative access control isn't available?
Microsoft recommendations
A contingency Conditional Access policy is a backup policy that omits Microsoft Entra
multifactor authentication, third-party MFA, risk-based or device-based controls. In
order to minimize unexpected disruption when a contingency policy is enabled, the
policy should remain in report-only mode when not in use. Administrators can monitor
the potential impact of their contingency policies using the Conditional Access Insights
workbook. When your organization decides to activate your contingency plan,
administrators can enable the policy and disable the regular control-based policies.
) Important
Disabling policies that enforce security on your users, even temporarily, will reduce
your security posture while the contingency plan is in place.
Order of activation:
Order of activation:
In this case, you can disable the NPS extension, as a result, the NPS server will only verify
primary authentication and won't enforce MFA on the users.
Export the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AuthSrv\Parameters
registry key as a backup.
Delete the registry values for “AuthorizationDLLs” and “ExtensionDLLs”, not the
Parameters key.
Restart the Network Policy Service (IAS) service for the changes to take effect
Determine if primary authentication for VPN is successful.
Once the service has recovered and you're ready to enforce MFA on your users again,
enable the NPS extension:
Import the registry key from backup
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AuthSrv\Parameters
Restart the Network Policy Service (IAS) service for the changes to take effect
Determine if primary authentication and secondary authentication for VPN is
successful.
Review NPS server and the VPN log to determine which users have signed in
during the emergency window.
To be more resilient, your organization should enable password hash sync, because it
enables you to switch to using password hash sync if your on-premises identity systems
are down.
Microsoft recommendations
Enable password hash sync using the Microsoft Entra Connect wizard, regardless
whether your organization uses federation or pass-through authentication.
) Important
During a disruption
If you opted for implementing a mitigation plan, you're able to automatically survive a
single access control disruption. However, if you opted to create a contingency plan,
you're able to activate your contingency policies during the access control disruption:
1. Enable your contingency policies that grant targeted users, access to specific apps,
from specific networks.
2. Disable your regular control-based policies.
Microsoft recommendations
Depending on which mitigations or contingencies are used during a disruption, your
organization could be granting access with just passwords. No safeguard is a
considerable security risk that must be weighed carefully. Organizations must:
1. As part of your change control strategy, document every change and the previous
state to be able to roll back any contingencies you implemented as soon as the
access controls are fully operational.
2. Assume that malicious actors will attempt to harvest passwords through password
spray or phishing attacks while you disabled MFA. Also, bad actors might already
have passwords that previously didn't grant access to any resource that can be
attempted during this window. For critical users such as executives, you can
partially mitigate this risk by resetting their passwords before disabling MFA for
them.
3. Archive all sign-in activity to identify who access what during the time MFA was
disabled.
4. Triage all risk detections reported during this window.
After a disruption
Undo the changes you made as part of the activated contingency plan once the service
is restored that caused the disruption.
Emergency options
In an emergency and your organization didn't previously implement a mitigation or
contingency plan, then follow the recommendations in the Contingencies for user
lockout section if they already use Conditional Access policies to enforce MFA. If your
organization is using per-user MFA legacy policies, then you can consider the following
alternative:
If you have the corporate network outbound IP address, you can add them as
trusted IPs to enable authentication only to the corporate network.
If you don’t have the inventory of outbound IP addresses, or you required to
enable access inside and outside the corporate network, you can add the entire
IPv4 address space as trusted IPs by specifying 0.0.0.0/1 and 128.0.0.0/1.
) Important
7 Note
Learn more
Microsoft Entra authentication Documentation
Manage emergency-access administrative accounts in Microsoft Entra ID
Configure named locations in Microsoft Entra ID
How to configure Microsoft Entra hybrid joined devices
Windows Hello for Business Deployment Guide
Password Guidance - Microsoft Research
What are conditions in Microsoft Entra Conditional Access?
What are access controls in Microsoft Entra Conditional Access?
What is Conditional Access report-only mode?
Feedback
Was this page helpful? Yes No
Persistent session tokens are stored as persistent cookies on the web browser's cookie
jar. Non-persistent session tokens are stored as session cookies on the web browser,
and are destroyed when the browser session is closed.
ノ Expand table
ESTSSSOTILES Common Tracks session sign-out. When present and not expired,
with value "ESTSSSOTILES=1", it interrupts SSO, for specific
SSO authentication model, and presents tiles for user
account selection.
wlidperf Common Client-side cookie (set by JavaScript) that tracks local time
for performance purposes.
x-ms-gateway-slice Common Microsoft Entra Gateway cookie used for tracking and load
balance purposes.
stsservicecookie Common Microsoft Entra Gateway cookie also used for tracking
purposes.
Ccs* Specific Cookies with prefix Ccs*, have the same purpose as the
ones without prefix, but only apply when Microsoft Entra
Backup Authentication Service is in use.
MSFPC Specific This cookie is not specific to any ESTS flow, but is
sometimes present. It applies to all Microsoft Sites (when
accepted by users). Identifies unique web browsers visiting
Microsoft sites. It's used for advertising, site analytics, and
other operational purposes.
7 Note
Cookies identified as client-side cookies are set locally on the client device by
JavaScript, hence, will be marked with HttpOnly=false.
Cookie definitions and respective names are subject to change at any moment in
time according to Microsoft Entra service requirements.
Next steps
To learn more about self-service password reset concepts, see How Microsoft Entra self-
service password reset works.
To learn more about multifactor authentication concepts, see How Microsoft Entra
multifactor authentication works.
Feedback
Was this page helpful? Yes No
You can migrate Microsoft Entra ID legacy policy settings that separately control
multifactor authentication (MFA) and self-service password reset (SSPR) to unified
management with the Authentication methods policy.
You can use the authentication methods migration guide in the Microsoft Entra admin
center to automate the migration. The guide provides a wizard to help audit your
current policy settings for MFA and SSPR. Then it consolidates those settings in the
Authentication methods policy, where they can be managed together more easily.
You can also migrate policy settings manually on your own schedule. The migration
process is fully reversible. You can continue to use tenant-wide MFA and SSPR policies
while you configure authentication methods more precisely for users and groups in the
Authentication methods policy.
For more information about how these policies work together during migration, see
Manage authentication methods for Microsoft Entra ID.
In addition, we recommend you enable the latest modern, secure methods like passkeys,
Temporary Access Pass, and Microsoft Authenticator to help improve your organizations
security posture. To edit the recommended configuration, select the pencil icon next to
each method.
Once you're happy with the configuration, select Migrate, and then confirm the
migration. The Authentication methods policy gets updated to match the configuration
specified in the wizard. Authentication methods in the legacy MFA and SSPR policies
become grayed out and no longer apply.
Your migration status is updated to Migration Complete. You can change this status
back to In Progress anytime to re-enable methods in the legacy policies if needed.
Manual migration
Begin by doing an audit of your existing policy settings for each authentication method
that's available for users. If you roll back during migration, you might want a record of
the authentication method settings from each of these policies:
MFA policy
SSPR policy (if used)
Authentication methods policy (if used)
If you aren't using SSPR and aren't yet using the Authentication methods policy, you
only need to get settings from the MFA policy.
These settings are tenant-wide, so there's no need for user or group information.
For each method, note whether or not it's enabled for the tenant. The following table
lists methods available in the legacy MFA policy and corresponding methods in the
Authentication method policy.
ノ Expand table
Verification code from mobile app or hardware token Third party software OATH tokens
Hardware OATH tokens
Microsoft Authenticator
Record which users are in scope for SSPR (either all users, one specific group, or no
users) and the authentication methods they can use. While security questions aren't yet
available to manage in the Authentication methods policy, make sure you record them
for later when they are. You can find this information by going to Identity > Users > All
users > Password reset > Properties.
ノ Expand table
SSPR authentication methods Authentication method policy
Security questions Not yet available; copy questions for later use
The Authentication methods policy has other methods that aren't available in the legacy
policies, such as FIDO2 security key, Temporary Access Pass, and Microsoft Entra
certificate-based authentication. These methods aren't in scope for migration and you
won't need to make any changes to them if you've configured them already.
If you've enabled other methods in the Authentication methods policy, write down the
users and groups who can or can't use those methods. Take a note of the configuration
parameters that govern how the method can be used. For example, you can configure
Microsoft Authenticator to provide location in push notifications. Make a record of
which users and groups are enabled for similar configuration parameters associated
with each method.
You set this option before you make any changes as it applies your new policy to both
sign-in and password reset scenarios.
The next step is to update the Authentication methods policy to match your audit. You'll
want to review each method one-by-one. If your tenant is only using the legacy MFA
policy, and isn't using SSPR, the update is straightforward - you can enable each method
for all users and precisely match your existing policy.
If your tenant is using both MFA and SSPR, you'll need to consider each method:
If the method is enabled in both legacy policies, enable it for all users in the
Authentication methods policy.
If the method is off in both legacy policies, leave it off for all users in the
Authentication methods policy.
If the method is enabled only in one policy, you need to decide whether, or not it
should be available in all situations.
Where the policies match, you can easily match your current state. Where there's a
mismatch, you'll need to decide whether to enable or disable the method altogether.
For example, suppose Notification through mobile app is enabled to allow push
notifications for MFA. In the legacy SSPR policy, the Mobile app notification method
isn't enabled. In that case, the legacy policies allow push notifications for MFA but not
SSPR.
In the Authentication methods policy, you'll then need to choose whether to enable
Microsoft Authenticator for both SSPR and MFA or disable it (we recommend enabling
Microsoft Authenticator).
Note that in the Authentication methods policy you have the option to enable methods
for groups of users in addition to all users, and you can also exclude groups of users
from being able to use a given method. This means you have a lot of flexibility to
control what users can use which methods. For example, you can enable Microsoft
Authenticator for all users and limit SMS and Voice call to 1 group of 20 users that
need those methods.
As you update each method in the Authentication methods policy, some methods have
configurable parameters that allow you to control how that method can be used. For
example, if you enable Voice calls as authentication method, you can choose to allow
both office phone and mobile phones, or mobile only. Step through the process to
configure each authentication method from your audit.
You aren't required to match your existing policy! It's a great opportunity to review your
enabled methods and choose a new policy that maximizes security and usability for your
tenant. Just note that disabling methods for users who are already using them may
require those users to register new authentication methods and prevent them from
using previously registered methods.
The next sections cover specific migration guidance for each method.
Under the Enable and Target section: Tenant members may be enabled to allow Email
OTP for use in Password Reset with specific groups included or excluded (or enabled for
all member users).
Under the Configure section: A separate Allow external users to use email OTP control
enables use of email OTP for sign-in by B2B users. The Email OTP authentication
method can't be disabled if this setting is enabled.
Microsoft Authenticator
If Notification through mobile app is enabled in the legacy MFA policy, enable
Microsoft Authenticator for All users in the Authentication methods policy. Set the
authentication mode to Any to allow either push notifications or passwordless
authentication.
If Verification code from mobile app or hardware token is enabled in the legacy MFA
policy, set Allow use of Microsoft Authenticator OTP to Yes.
7 Note
If users register Microsoft Authenticator only for OTP code using the I want to use
a different authenticator app wizard, it's needed to enable Third-party software
OATH tokens policy.
The Authentication methods policy has controls for SMS and Voice calls, matching the
legacy MFA policy. If your tenant is using SSPR and Mobile phone is enabled, you'll
want to enable both SMS and Voice calls in the Authentication methods policy. If your
tenant is using SSPR and Office phone is enabled, you'll want to enable Voice calls in
the Authentication methods policy, and ensure that the Office phone option is enabled.
7 Note
The Use for sign-in option is default enabled on SMS settings. This option enables
SMS sign-in. If SMS sign-in is enabled for users, they're skipped from cross-tenant
synchronization. If you are using cross-tenant synchronization or don't want to
enable SMS sign-in, disable SMS Sign-in for target users.
OATH tokens
The OATH token controls in the legacy MFA and SSPR policies were single controls that
enabled the use of three different types of OATH tokens: the Microsoft Authenticator
app, third-party software OATH TOTP code generator apps, and hardware OATH tokens.
The Authentication methods policy has granular control with separate controls for each
type of OATH token. Use of OTP from Microsoft Authenticator is controlled by the Allow
use of Microsoft Authenticator OTP control in the Microsoft Authenticator section of
the policy. Third-party apps are controlled by the Third party software OATH tokens
section of the policy. Hardware OATH tokens are controlled by the Hardware OATH
tokens section of the policy.
Security questions
A control for Security questions is coming soon. If you use security questions, and don't
want to disable them, make sure to keep them enabled in the legacy SSPR policy until
the new control is available. You can finish migration as described in the next section
with security questions enabled.
When you determine that MFA and SSPR work as expected and you no longer need the
legacy MFA and SSPR policies, you can change the migration process to Migration
Complete. In this mode, Microsoft Entra-only follows the Authentication methods
policy. No changes can be made to the legacy policies if Migration Complete is set,
except for security questions in the SSPR policy. If you need to go back to the legacy
policies for some reason, you can move the migration state back to Migration in
Progress at any time.
Next steps
Manage authentication methods for Microsoft Entra ID
What authentication and verification methods are available in Microsoft Entra ID?
How Microsoft Entra multifactor authentication works
Microsoft Graph REST API
Feedback
Was this page helpful? Yes No
Passwordless authentication methods like a passkey (FIDO2) let users sign in securely
without a password. Users can bootstrap passwordless methods in one of two ways:
A Temporary Access Pass (TAP) is a time-limited passcode that can be configured for
single use or multiple sign-ins. Users can sign in with a TAP to onboard other
passwordless authentication methods. A TAP also makes recovery easier when a user
loses or forgets a strong authentication method.
This article shows you how to enable and use a TAP using the Microsoft Entra admin
center . You can also perform these actions using REST APIs.
Before users can sign-in with a TAP, you need to enable this method in the
Authentication methods policy and choose which users and groups can sign in by using
a TAP.
Although you can create a TAP for any user, only users included in the policy can sign-in
with it. You need the Authentication Policy Administrator role to update the TAP
Authentication methods policy.
3. From the list of available authentication methods, select Temporary Access Pass.
4. Select Enable and then select users to include or exclude from the policy.
5. (Optional) Select Configure to modify the default Temporary Access Pass settings,
such as setting maximum lifetime, or length, and select Update.
6. Select Save to apply the policy.
The default value and the range of allowed values are described in the following
table.
ノ Expand table
One-time False True/False When the policy is set to false, passes in the
use tenant can be used either once or more than
once during its validity (maximum lifetime). By
enforcing one-time use in the TAP policy, all
passes created in the tenant are one-time use.
Privileged Authentication Administrators can create, delete, and view a TAP for
admins and members (except themselves).
Authentication Administrators can create, delete, and view a TAP for members
(except themselves).
Authentication Policy Administrators can enable TAP, include or exclude groups,
and edit the Authentication methods policy.
Global Readers can view TAP details for the user (without reading the code itself).
) Important
Make a note of the actual TAP value, because you provide this value to the
user. You can't view this value after you select Ok.
8. Select OK when you're done.
The following commands show how to create and get a TAP using PowerShell.
PowerShell
Id CreatedDateTime IsUsable
IsUsableOnce LifetimeInMinutes MethodUsabilityReason StartDateTime
TemporaryAccessPass
-- --------------- -------- --------
---- ----------------- --------------------- ------------- ---------
----------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee 5/22/2022 11:19:17 PM False True
60 NotYetValid 23/05/2022 6:00:00 AM
2. Enter the UPN of the account you created the TAP for, such as
[email protected].
3. If the user is included in the TAP policy, they see a screen to enter their TAP.
4. Enter the TAP that was displayed in the Microsoft Entra admin center.
7 Note
For federated domains, a TAP is preferred over federation. A user with a TAP
completes the authentication in Microsoft Entra ID and isn't redirected to the
federated Identity Provider (IdP).
The user is now signed in and can update or register a method such as FIDO2 security
key. Users who update their authentication methods due to losing their credentials or
device should make sure they remove the old authentication methods. Users can also
continue to sign-in by using their password; a TAP doesn’t replace a user’s password.
During the domain-join setup process, users can authenticate with a TAP (no
password required) to join the device and register Windows Hello for Business.
On already-joined devices, users must first authenticate with another method such
as a password, smartcard, or FIDO2 key, before using TAP to set up Windows Hello
for Business.
If the Web sign-in feature on Windows is also enabled, the user can use TAP to
sign into the device. This is intended only for completing initial device setup, or
recovery when the user doesn't know or have a password.
For hybrid-joined devices, users must first authenticate with another method such as a
password, smartcard or FIDO2 key, before using TAP to set up Windows Hello for
Business.
For more information, see Add your work or school account to the Microsoft
Authenticator app .
Guest access
You can add a TAP as a sign-in method to an internal guest, but not other types of
guests. An internal guest has user object UserType set to Guest. They have
authentication methods registered in Microsoft Entra ID. For more information about
internal guests and other guest accounts, see B2B guest user properties.
If you try to add a TAP to an external guest account in the Microsoft Entra admin center
or in Microsoft Graph, you'll receive an error stating Temporary Access Pass cannot be
added to an external guest user.
External guest users can sign-in to a resource tenant with a TAP issued by their home
tenant if the TAP meets the home tenant authentication requirements and Cross Tenant
Access policies have been configured to trust MFA from the users home tenant, see
Manage cross-tenant access settings for B2B collaboration.
Expiration
An expired or deleted TAP can’t be used for interactive or non-interactive
authentication.
Users need to reauthenticate with different authentication methods after the TAP is
expired or deleted.
The token lifetime (session token, refresh token, access token, and so on) obtained by
using a TAP sign-in is limited to the TAP lifetime. When a TAP expires, it leads to the
expiration of the associated token.
PowerShell
Limitations
Keep these limitations in mind:
Troubleshooting
If a TAP isn't offered to a user during sign-in:
Make sure the user is in scope for TAP use in the Authentication methods policy.
Make sure the user has a valid TAP, and if it's one-time use, it wasn’t used yet.
If Temporary Access Pass sign in was blocked due to User Credential Policy
appears during sign-in with a TAP:
Check that the user is in scope for the TAP policy
Make sure the user doesn't have a TAP for multiple use while the Authentication
methods policy requires a one-time TAP.
Check if a one-time TAP was already used.
If Temporary Access Pass cannot be added to an external guest user appears
when you try to add a TAP to an account as an authentication method, the account
is an external guest. Both internal and external guest accounts have an option to
add a TAP for sign-in in the Microsoft Entra admin center and Microsoft Graph
APIs. However, only internal guest accounts can be issued a TAP.
Next steps
Plan a passwordless authentication deployment in Microsoft Entra ID
Feedback
Was this page helpful? Yes No
This topic covers how to enable the QR code authentication method in the
Authentication methods policy in Microsoft Entra ID. It also covers how to manage the
QR code authentication method for users, and how they can sign in with a QR code and
PIN.
3. Click QR code > Enable and target > Add target > select a group of users who
need to sign in with a QR code.
By default, the PIN length is 8 digits. The PIN length can be 8 to 20 digits. If
you increase the PIN length, the new value becomes the minimum number of
digits required for the PIN. For example, if you increase the PIN length to 10,
a user needs to provide a 10-digit PIN during next sign-in.
The default lifetime of a standard QR code (provided to the users for long
term use) is 365 days. The range is between 1-395 days. You can change the
lifetime of a standard QR code for specific user when you add the QR code
authentication method for them.
5. When you're done, click Save.
Request
https
PATCH
https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/a
uthenticationMethodConfigurations/qrCodePin
{
"@odata.type" :
"microsoft.graph.qrCodePinAuthenticationMethodConfiguration",
"id": "qrCodePin",
"state": "enabled",
"includeTargets": [{
"targetType": "group",
"id": "b185b746-e7db-4fa2-bafc-69ecf18850dd",
}],
"excludeTargets": [],
"standardQRCodeLifetimeInDays":395,
"pinLength": 10
}
Response
https
204 No Response
Add QR code authentication method for a user
You can add a QR code authentication method for a user by using the Microsoft Entra
admin center, My Staff, or Microsoft Graph API. At a time, only one active QR code auth
method is allowed. Standard QR code is generated during 'Add authentication method'.
You can add Temporary QR code, which is short-lived, if user is not carrying Standard QR
code. You can delete Standard/Temporary QR code to add a new Standard/Temporary
QR code. A user can have only one Standard and one Temporary QR code active at any
point of time.
4. Modify the expiration date for the user if needed. Set Activation time to now or
later. Provide or generate a temporary PIN. The custom PIN can be specified only
when you add the QR code authentication method. A PIN is autogenerated during
reset events. When ready, click Add to add the QR code authentication method for
the user.
5. Save the PIN, and click Download image to download and print the QR code. The
QR code image download has the smallest optimal print size. If you reduce the size
of the QR code, it may impact QR code scan performance.
You can't regenerate the same QR code because it has a unique secret. If the QR
code can't work for some reason, delete it. Create a new QR code for the user.
6. After you add the QR code authentication method, it appears as a usable
authentication method for the user.
Add the QR code authentication method for a user in My
Staff
1. Sign in to the My Staff portal as a frontline manager. Select an administrative unit
and a frontline worker.
5. Save the PIN, download or print the QR code, and then click Done. The QR code
image download has the smallest optimum print size. If you reduce the size, the
QR code is hard to scan. You can't regenerate the same QR code because it has a
unique secret. If the QR code can't work for some reason, delete it. Create a new
QR code for the user.
Add QR code authentication method for a user in
Microsoft Graph API
This example adds QR code authentication method for a user:
Request
https
{
"standardQRCode": {
"expireDateTime": "2024-12-30T12:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
},
"pin": {
"code": "<PIN>"
}
}
Response
https
{
"standardQRCode": {
"id": "BBBBBBBB-1C1C-2D2D-3E3E-444444444444"
"expireDateTime": "2024-12-30T12:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": null,
"image":
{
"binaryValue": "<binaryImageData>",
"version": 1,
"errorCorrectionLevel": "H".
"rawContent": <binary data encoded in QR>
}
},
"temporaryQRCode": null,
"pin": {
"code": "<PIN>",
"isForcePinChangeRequired": true,
"createdDateTime": "2024-10-30T12:00:00Z",
"updatedDateTime": null
}
}
This example confirms whether QR code authentication method is added for the user:
Request
https
GET
https://graph.microsoft.com/beta/users/[email protected]/authenticati
on/qrCodePinMethod`
Response
https
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "<id>",
"standardQRCode": {
"id": "BBBBBBBB-1C1C-2D2D-3E3E-444444444444"
"image": null,
"expireDateTime": "2024-12-30T12:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": "2024-12-30T12:00:00Z"
},
"temporaryQRCode": {
"id": "CCCCCCCC-2D2D-3E3E-4F4F-555555555555"
"image": null,
"expireDateTime": "2024-12-30T12:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": "2024-12-30T12:00:00Z"
},
"pin": {
"code": null,
"isForcePinChangeRequired": false,
"createdDateTime": "2024-10-30T12:00:00Z",
"updatedDateTime": "2024-11-30T12:00:00Z"
}
}
Change the expiration time for the standard QR code, and click Save. After you
make edits, click Done.
Delete a standard QR code. You might want to delete the standard QR code if it's
reported as expired, compromised, or stolen.
After you delete the standard QR code, click the add symbol (+) to add a new
standard QR code for the user. The deleted QR code is no longer valid for login.
You need to print and distribute the new QR code to the user. The user can
continue to use their existing PIN.
Reset a PIN. If you need to reset a user PIN, generate a temporary one and
distribute it to the user. The user will be required to change the temporary PIN at
the next sign-in. Click the pencil icon after the masked PIN. Click Generate new
PIN to create a new temporary PIN. Click OK to confirm that the user is forced to
change the temporary PIN when they next sign in. Copy the temporary PIN and
share it with the user.
To add a new standard QR code, click Add new next to the standard QR code.
Select the activation time and expiration date for the QR code, and click Add.
Download or print the QR code, and click Done.
To add a temporary QR code, click Add new next to the temporary QR code.
Specify the Lifetime in hours and the Activation date, and click Add.
Download or print the QR code, and click Done.
Request
https
DELETE
https://graph.microsoft.com/beta/users/[email protected]/authenticati
on/qrCodePinMethod/standardQRCode`
Response
https
Request
https
HTTP PATCH/users/{id |
userPrincipalName}/authentication/qrCodePinMethod/standardQRCode`
{
"startDateTime": "2024-10-30T12:00:00Z",
"expireDateTime": "2024-12-30T12:00:00Z"
}
Response
https
{
"id": "BBBBBBBB-1C1C-2D2D-3E3E-444444444444"
"expireDateTime": "2024-12-30T12:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": null,
"image":
{
"binaryValue": "<binaryImageData>",
"version": 1,
"errorCorrectionLevel": "H".
"rawContent": <binary data encoded in QR>
}
}
Request
https
GET
https://graph.microsoft.com/beta/users/{id|UPN}/authentication/qrCodePi
nMethod/standardQRCode`
Response
https
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "BBBBBBBB-1C1C-2D2D-3E3E-444444444444",
"image": null,
"expireDateTime": "2024-12-30T12:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": "2024-12-30T12:00:00Z"
}
This example shows how to create a temporary QR code for a user. The user can use the
existing PIN. This operation returns an error if a temporary QR code already exists for
the user, or if the expireDateTime is more than 12 hours past the startDateTime.
Request
https
HTTP PATCH/users/{id |
userPrincipalName}/authentication/qrCodePinMethod/temporaryQRCode`
{
"startDateTime": "2024-10-30T12:00:00Z",
"expireDateTime": "2024-10-30T22:00:00Z"
}
Response
https
{
"id": "EEEEEEEE-4F$F-5A5A-6B6B-777777777777"
"expireDateTime": "2024-10-30T22:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": null,
"image":
{
"binaryValue": "<binaryImageData>",
"version": 1,
"errorCorrectionLevel": "H".
"rawContent": <binary data encoded in QR>
}
}
Request
https
GET
https://graph.microsoft.com/beta/users/{id|UPN}/authentication/qrCodePi
nMethod/temporaryQRCode`
Response
https
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "EEEEEEEE-4F$F-5A5A-6B6B-777777777777",
"image": null,
"expireDateTime": "2024-10-30T22:00:00Z",
"startDateTime": "2024-10-30T12:00:00Z"
"createdDateTime": "2024-10-30T12:00:00Z",
"lastUsedDateTime": "2024-10-30T20:00:00Z"
}
Request
https
DELETE
https://graph.microsoft.com/beta/users/[email protected]/authenticati
on/qrCodePinMethod/temporaryQRCode`
Response
https
This example shows how to reset the PIN a QR code authentication method:
Request
https
PATCH
https://graph.microsoft.com/beta/users/[email protected]/authenticati
on/qrCodePinMethod/pin`
Response
https
{
"code": <PIN>,
"forceChangePinNextSignIn": true,
"createdDateTime": "2024-10-30T12:00:00Z",
"updatedDateTime": null
}
This example shows how to force a user to change their PIN for a QR code
authentication method:
Request
https
PATCH
https://graph.microsoft.com/beta/users/[email protected]/authenticati
on/qrCodePinMethod/updatePin`
{
"currentPin": "<Old PIN>",
"newPin": "<New PIN>"
}
Response
https
Request
https
DELETE
https://graph.microsoft.com/beta/users/[email protected]/authenticati
on/qrCodePinMethod/standardQRCode`
Response
https
ノ Expand table
7 Note
ノ Expand table
2. Scan the QR code. Give consent if you're asked for camera permission.
2. Allow the camera when prompted > scan the QR code > enter your PIN > you're
successfully signed in.
2. Browse to Protection > Authentication methods > QR code > Enable and target.
3. Click Add target > select a group that only includes frontline workers, such as
Frontline workers in the following screenshot. This group selection restricts
enablement of the QR code authentication method only to frontline workers
added to the Frontline workers group.
Restrict QR code authentication to shared devices
1. Sign in to the Microsoft Entra admin center as a Conditional Access
Administrator.
a. Under Users or workload identities > Include > select Users and groups, and
choose your Frontline workers frontline worker group.
b. Under Target resources > Include > select specific resources that frontline
workers can access.
h. Under Access controls > Grant > select Require device to be marked as
compliant, and click Select.
i. Click Create.
Related content
Authentication methods in Microsoft Entra ID - QR code authentication method
(Preview)
Manage your users with My Staff
What authentication and verification methods are available in Microsoft Entra ID?
Feedback
Was this page helpful? Yes No
Passwords are the primary attack vector for modern adversaries, and a source of friction
for users and administrators. As part of an overall Zero Trust security strategy ,
Microsoft recommends moving to phishing-resistant passwordless in your
authentication solution. This guide helps you select, prepare, and deploy the right
phishing-resistant passwordless credentials for your organization. Use this guide to plan
and execute your phishing-resistant passwordless project.
Features like multifactor authentication (MFA) are a great way to secure your
organization. But users often get frustrated with the extra security layer on top of their
need to remember passwords. Phishing-resistant passwordless authentication methods
are more convenient. For example, an analysis of Microsoft consumer accounts shows
that sign-in with a password can take up to 9 seconds on average, but passkeys only
take around 3 seconds in most cases. The speed and ease of passkey sign-in is even
greater when compared with traditional password and MFA sign in. Passkey users don’t
need to remember their password, or wait around for SMS messages.
7 Note
Phishing-resistant passwordless methods also have extra security baked in. They
automatically count as MFA by using something that the user has (a physical device or
security key) and something the user knows or is, like a biometric or PIN. And unlike
traditional MFA, phishing-resistant passwordless methods deflect phishing attacks
against your users by using hardware-backed credentials that can’t be easily
compromised.
Passkeys (FIDO2)
Windows Hello for Business
Platform credential for macOS (preview)
Microsoft Authenticator app passkeys
FIDO2 security keys
Other passkeys and providers, such as iCloud Keychain - on roadmap
Certificate-based authentication/smart cards
Prerequisites
Before you start your Microsoft Entra phishing-resistant passwordless deployment
project, complete these prerequisites:
License requirements
Registration and passwordless sign in with Microsoft Entra doesn't require a license, but
we recommend at least a Microsoft Entra ID P1 license for the full set of capabilities
associated with a passwordless deployment. For example, a Microsoft Entra ID P1 license
helps you enforce passwordless sign in through Conditional Access, and track
deployment with an authentication method activity report. Refer to the licensing
requirements guidance for features referenced in this guide for specific licensing
requirements.
When you develop your own applications, follow the developer guidance for supporting
passwordless and phishing-resistant authentication. For more information, see Support
passwordless authentication with FIDO2 keys in apps you develop.
Required roles
The following table lists least privileged role requirements for phishing-resistant
passwordless deployment. We recommend that you enable phishing-resistant
passwordless authentication for all privileged accounts.
ノ Expand table
ノ Expand table
Information Security Plans and designs the organization’s information security practices
Architecture
Information Security Runs and monitors information security practices for Information
Operations Security Architecture
Security Assurance and Helps ensure IT processes are secure and compliant. They conduct
Audit regular audits, assess risks, and recommend security measures to
mitigate identified vulnerabilities and enhance the overall security
posture.
Help Desk and Support Assists end users who encounter issues during deployments of new
technologies and policies, or when issues occur
Feedback
Was this page helpful? Yes No
ノ Expand table
Microsoft recommends that you define your personas, and then place each persona into
a Microsoft Entra ID group specifically for that user persona. These groups are used in
later steps to roll out credentials to different types of users, and when you begin to
enforce the use of phishing-resistant passwordless credentials.
Ensure that your devices are prepared for phishing-resistant passwordless by patching
to the latest supported versions of each operating system. Microsoft recommends your
devices are running these versions at a minimum:
ノ Expand table
Portable Can be used across devices. You The most important type of credential to
can use portable credentials to register for most users, as they can be used
sign in to another device, or to across devices, and provide phishing-
register credentials on other resistant authentication in many scenarios.
devices.
Local You can use local credentials to They have two main benefits over the
authenticate on a device without portable credentials:
needing to rely on external They provide redundancy. If users lose
hardware, such as using Windows their portable device, forget it at home, or
Hello for Business biometric have other issues, then the local credential
recognition to sign into an app in provides them with a backup method to
Microsoft Edge browser on the continue to work on their computing device.
same PC They provide a great user experience.
With a local credential, users don't need to
pull phones out of their pocket, scan QR
codes, or perform other tasks that slow down
authentication and add friction. Locally
available phishing-resistant credentials help
users sign in more easily on the devices they
regularly use.
For new users, the registration and bootstrapping process takes a user with no
existing enterprise credentials, and verifies their identity. It bootstraps them into
their first portable credential, and uses that portable credential to bootstrap other
local credentials on each of their computing devices. After registration, the admin
may enforce phishing-resistant authentication for users in Microsoft Entra ID.
For existing users, this phase gets users to register for phishing-resistant
passwordless on their existing devices directly, or using existing MFA credentials to
bootstrap phishing-resistant passwordless credentials. The end goal is the same as
new users - most users should have at least one portable credential, and then
local credentials on each computing device. If you're an admin who deploys
phishing-resistant passwordless for existing users, then you may be able to skip
ahead to the Onboarding Step 2: Bootstrapping a Portable Credential section.
Before you start, Microsoft recommends enabling passkey and other credentials for
enterprise users in the tenant. If users are motivated to self-register for strong
credentials, it's beneficial to allow it. At a minimum, you should enable the Passkey
(FIDO2) policy so that users can register for passkeys and security keys if they prefer
them.
Users should have at least two authentication methods registered. With another method
registered, the user has a backup method available if something happens to their
primary method, like when a device is lost or stolen. For example, it's a good practice for
users to have passkeys registered both on their phone, and locally on their workstation
in Windows Hello for Business.
7 Note
This guidance is tailored for currently existing support for passkeys in Microsoft
Entra ID, which includes device-bound passkeys in Microsoft Authenticator and
device-bound passkeys on physical security keys. Microsoft Entra ID plans to add
support for synced passkeys. For more information, see Public preview: Expanding
passkey support in Microsoft Entra ID . This guide will be updated to include
synced passkey guidance once available. For example, many organizations may
benefit from relying on sync for phase 3 in the preceding diagram rather than
bootstrapping entirely new credentials.
After verifying their identity through the proofing process, new hires are given a
Temporary Access Pass (TAP) that they can use to bootstrap their first portable
credential.
Refer to the following guides to enable Microsoft Entra Verified ID onboarding and TAP
issuance:
Refer to the following links for licensing details for Microsoft Entra Verified ID:
Some organizations might choose other methods than Microsoft Entra Verified ID to
onboard users and issue them their first credential. Microsoft recommends those
organizations still use TAPs, or another way that lets a user onboard without a password.
For example, you can provision FIDO2 security keys using Microsoft Graph API.
For new users or users without MFA, go through a process to issue users a Temporary
Access Pass (TAP). You can issue a TAP the same way you give new users their first
credential, or by using Microsoft Entra Verified ID integrations. Once users have a TAP,
they're ready to bootstrap their first phishing-resistant credential.
It's important for the user’s first passwordless credential to be a portable credential that
can be used to authenticate on other computing devices. For example, passkeys can be
used to authenticate locally on an iOS phone, but they can also be used to authenticate
on a Windows PC using a cross-device authentication flow. This cross-device capability
allows that portable passkey to be used to bootstrap Windows Hello for Business on the
Windows PC.
It's also important that each device the user regularly works on has a locally available
credential to give the user the smoothest user experience possible. Locally available
credentials reduce the time needed to authenticate because users don’t need to use
multiple devices, and there are fewer steps. Using the TAP from Step 1 to register a
portable credential that can bootstrap these other credentials enables the user to use
phishing-resistant credentials natively across the many devices they may possess.
ノ Expand table
ノ Expand table
Method Guidance
Security keys Security keys are turned off by default in Microsoft Entra ID. You can
enable FIDO2 security keys in the Authentication methods policy.
Consider registering keys on behalf of your users with the Microsoft
Entra ID provisioning APIs. For more information, see Provision FIDO2
security keys using Microsoft Graph API.
Your organization needs to determine which type of credential is preferred for each user
persona at this stage. Microsoft recommends:
ノ Expand table
Frontline N/A (use N/A (use N/A (use N/A (use N/A (use
worker portable portable portable portable portable
credential credential credential credential credential
instead) instead) instead) instead) instead)
Highly Windows Hello Platform SSO Passkey Passkey N/A (use smart
Regulated for Business or Secure Enclave (Authenticator (Authenticator card instead)
worker CBA Key or CBA app) or CBA app) or CBA
Use the following guidance to enable the recommended local credentials in your
environment for the relevant user personas for your organization:
ノ Expand table
Method Guidance
Windows Microsoft recommends using the Cloud Kerberos Trust method to deploy
Hello for Windows Hello for Business. For more information, see the Cloud Kerberos trust
Business deployment guide. The Cloud Kerberos Trust method applies to any environment
where users are synced from on-premises Active Directory to Microsoft Entra ID. It
helps synced users on PCs that are either Microsoft Entra joined or Microsoft Entra
hybrid joined.
Windows Hello for Business should only be used when each user on a PC is
signing into that PC as themselves. It shouldn't be used on kiosk devices that use
Method Guidance
Platform Platform SSO supports 3 different user authentication methods (Secure Enclave
SSO Secure key, smart card, and password). Deploy the Secure Enclave key method to mirror
Enclave Key your Windows Hello for Business on your Macs.
Platform SSO requires that Macs are enrolled in Mobile Device Management
(MDM). For specific instructions for Intune, see Configure Platform SSO for macOS
devices in Microsoft Intune.
Refer to your MDM vendor’s documentation if you use another MDM service
on your Macs.
Persona-specific considerations
Each persona has its own challenges and considerations that commonly come up during
phishing-resistant passwordless deployments. As you identify which personas you need
to accommodate, you should factor these considerations into your deployment project
planning. The following links have specific guidance for each persona:
Information workers
Frontline workers
IT pros/DevOps workers
Highly regulated workers
Create a list of test users and early adopters. These users should represent your
different user personas, and not just IT Admins.
Create a Microsoft Entra ID group, and add your test users to the group.
Enable your Authentication methods policies in Microsoft Entra ID, and scope the
test group to the methods that you enable.
Measure the registration rollout for your pilot users by using the Authentication
Methods Activity report.
Create Conditional Access policies to enforce the use phishing-resistant
passwordless credentials on each operating system type, and target your pilot
group.
Measure the success of the enforcement using Azure Monitor and Workbooks.
Gather feedback from users on the success of the rollout.
1. Information workers
2. Frontline workers
3. IT pros/DevOps workers
4. Highly regulated workers
Use the following sections to create end user communications for each persona group,
scope and rollout the passkeys registration feature, and user reporting and monitoring
to track rollout progress.
The Enrollment Readiness Phase tab of the workbook can help you evaluate readiness
for the following OSes and credentials:
Windows
Windows Hello for Business
FIDO2 Security Key
Authenticator App Passkey
Certificate-Based Authentication / Smart Card
macOS
Platform SSO Secure Enclave Key
FIDO2 Security Key
Authenticator App Passkey
Certificate-Based Authentication / Smart Card
iOS
FIDO2 Security Key
Authenticator App Passkey
Certificate-Based Authentication / Smart Card
Android
FIDO2 Security Key
Authenticator App Passkey
Certificate-Based Authentication / Smart Card
Use each exported list to triage users who may have registration issues. Responses to
registration issues should include assisting users in upgrading device OS versions,
replacing aging devices, and choosing alternative credentials where the preferred option
is not viable. For example, your organization may choose to provide physical FIDO2
security keys to Android 13 users who cannot use Passkeys in the Microsoft
Authenticator app.
Similarly, use the enrollment readiness report to assist you in building out lists of users
who are ready to begin enrollment communications and campaigns, in alignment with
your overall rollout strategy.
The first step of the enforcement readiness phase is creating a Conditional Access policy
in Report-Only mode. This policy will populate your sign-in logs with data regarding
whether or not access would have been blocked if you were to put users/devices in
scope for phishing-resistant enforcement. Create a new Conditional Access policy in
your tenant with these settings:
ノ Expand table
Setting Value
Create this policy as early as possible in your rollout, preferably before even beginning
your enrollment campaigns. This will ensure that you have a good historical dataset of
which users and sign-ins would have been blocked by the policy if it was enforced.
Next, use the workbook to analyze where user/device pairs are ready for enforcement.
Download lists of users who are ready for enforcement and add them to groups created
in alignment with your enforcement policies. Begin by selecting the read-only
Conditional Access policy in the policy filter:
The report will provide you with a list of users who would have been able to successfully
pass the phishing-resistant passwordless requirement on each device platform.
Download each list and put the appropriate users in enforcement group that aligns to
the device platform.
Repeat this process over time, until you reach the point where each enforcement group
contains most or all users. Eventually, you should be able to enable the report-only
policy to provide enforcement for all users and device platforms in the tenant. Once you
have reached this completed state you can remove the individual enforcement policies
for each device OS, reducing the number of Conditional Access policies needed.
Use the Further Data Analysis tab to investigate why certain users are not ready for
enforcement on various platforms. Select the Policy Not Satisfied box to filter the data
down to user sign-ins that would have been blocked by the report-only Conditional
Access policy.
Use the data provided by this report to determine which users would have been
blocked, which device OSes they were on, what type of client apps they were using, and
what resources they were trying to access. This data should help you target those users
for various remediation or enrollment actions, so that they can be effectively moved into
scope for enforcement.
Microsoft Entra ID reports (such as Authentication Methods Activity and Sign-in event
details for Microsoft Entra multifactor authentication) provide technical and business
insights that can help you measure and drive adoption.
From the Authentication methods activity dashboard, you can view registration and
usage.
Business and technical application owners should own and receive reports based on
organization requirements.
Microsoft Entra ID adds entries to audit logs when these conditions occur:
Microsoft Entra ID retains most auditing data for 30 days. We recommend longer
retention for auditing, trend analysis, and other business needs.
Access auditing data in the Microsoft Entra admin center or API and download into your
analysis systems. If you require longer retention, export and consume logs in a Security
Information and Event Management (SIEM) tool, such as Microsoft Sentinel, Splunk, or
Sumo Logic.
As your help desk ticket volume increases you should slow down the pace of your
deployments, user communications, and enforcement actions. As the ticket volume
decreases you can ramp these activities back up. Using this approach requires that you
maintain flexibility in your rollout plan.
For example, you could execute your deployments and then enforcements in waves that
have ranges of dates rather than specific dates:
As you execute these different phases, you may need to slow down depending on the
volume of help desk tickets opened and then resume when the volume has subsided. To
execute on this strategy, Microsoft recommends that you create a Microsoft Entra ID
security group for each wave, and add each group to your policies one at a time. This
approach helps to avoid overwhelming your support teams.
Enforce phishing-resistant methods for sign-in
This section focuses on phase 4.
Microsoft recommends that you build a report of all your user/device pairs by using
sign-in data from your tenant. You can use querying tools like Azure Monitor and
Workbooks. At minimum, try to identify all user/device pairs that match these
categories.
Use the previously covered Phishing-Resistant Passwordless Workbook to assist with the
enforcement phase, if possible.
For each user, create a list of which operating systems they regularly use for work. Map
the list to the readiness for phishing-resistant sign-in enforcement for that user/device
pair.
ノ Expand table
1
For each user/device pair where the device version isn't immediately ready for
enforcement, determine how to address the need to enforce phishing-resistance.
Consider the following options for older operating systems, virtual desktop
infrastructure (VDI), and other operating systems such as Linux:
The key task is to measure through data which users and personas are ready for
enforcement on particular platforms. Begin your enforcement actions on user/device
pairs that are ready for enforcement to "stop the bleeding," and reduce the amount of
phishable authentication occurring in your environment.
Then move on to other scenarios where the user/device pairs require readiness efforts.
Work your way through the list of user/device pairs until you enforce phishing-resistant
authentication across the board.
Create a set of Microsoft Entra ID groups to roll out enforcement gradually. Reuse the
groups from the previous step if you used the wave-based rollout approach.
Add each user to each group as you determine whether their device and operating
system is ready, or they don’t have a device of that type. At the end of the rollout, each
user should be in one of the groups.
After you deploy Microsoft Entra ID Protection, consider using Conditional Access token
protection. As users sign in with phishing-resistant passwordless credentials, attacks and
detections continue to evolve. For example, when user credentials can no longer be
easily phished, attackers may move on to try to exfiltrate tokens from user devices.
Token protection helps mitigate this risk by binding tokens to the hardware of the
device they were issued to.
Next steps
Considerations for specific personas in a phishing-resistant passwordless authentication
deployment in Microsoft Entra ID
Feedback
Was this page helpful? Yes No
Each persona has its own challenges and considerations that commonly come up during
phishing-resistant passwordless deployments. As you identify which personas you need
to accommodate, you should factor these considerations into your deployment project
planning. The next sections provide specific guidance for each persona.
Information workers
Information workers typically have the simplest requirements and are the easiest to
begin your phishing-resistant passwordless deployment with. However, there are still
some issues that frequently arise when deploying for these users. Common examples
include:
Information worker deployments, just like any other user persona, require proper
communication and support. This commonly involves convincing users to install certain
apps on their phones, distributing security keys where users won’t use apps, addressing
concerns about biometrics, and developing processes for helping users recover from
partial or total loss of their credentials.
When dealing with concerns about biometrics, make sure that you understand how
technologies like Windows Hello for Business handle biometrics. The biometric data is
stored only locally on the device and can't be converted back into raw biometric data
even if stolen:
1. Phase 1: Onboarding
a. Microsoft Entra Verified ID service used to acquire a Temporary Access Pass
2. Phase 2: Portable credential registration
a. Microsoft Authenticator app passkey (preferred)
b. FIDO2 security key
3. Phase 3: Local credential registration
a. Windows Hello for Business
b. Platform SSO Secure Enclave Key
Frontline workers
Frontline workers often have more complicated requirements due to increased needs for
the portability of their credentials and limitations on which devices they can carry in
retail or manufacturing settings. Security keys are a great option for frontline workers,
but have a cost that must be considered. In order to achieve phishing-resistance, be
sure to balance the cost challenges of security keys against the added deployment
burden of smart cards and certificate-based authentication. Consider if there may be
different frontline worker user personas in your environment. It's possible security keys
are better for some frontline workers, where smart cards are better for others.
1. Phase 1: Onboarding
a. FIDO2 security key on-behalf-of registration (preferred)
b. Microsoft Entra Verified ID service used to acquire a Temporary Access Pass
2. Phase 2: Portable credential registration
a. FIDO2 security key (preferred)
b. Smart card
c. Microsoft Authenticator app passkey
3. Phase 3 (Optional): Local credential registration
a. Optional: Windows Hello for Business
b. Optional: Platform SSO Secure Enclave Key
IT pros/DevOps workers
IT pros and DevOps workers are especially reliant on remote access and multiple user
accounts, which is why they're considered different from information workers. Many of
the challenges posed by phishing-resistant passwordless for IT pros are caused by their
increased need for remote access to systems and ability to run automations.
Understand the supported options for phishing-resistant with RDP especially for this
persona.
Make sure to understand where users are using scripts that run in the user context and
are therefore not using MFA today. Instruct your IT pros on the proper way to run
automations using service principals and managed identities. You should also consider
processes to allow IT pros and other professionals to request new service principals and
get the proper permissions assigned to them.
1. Phase 1: Onboarding
a. Microsoft Entra Verified ID service used to acquire a Temporary Access Pass
2. Phase 2: Portable credential registration
a. Microsoft Authenticator app passkey (preferred)
b. FIDO2 security key
3. Phase 3: Local credential registration
a. Windows Hello for Business
b. Platform SSO Secure Enclave Key
If your IT pro/DevOps workers have secondary accounts, you may need to handle those
accounts differently. For example, for secondary accounts you may choose to use
alternative portable credentials and forego local credentials on your computing devices
entirely:
1. Phase 1: Onboarding
a. Microsoft Entra Verified ID service used to acquire a Temporary Access Pass
(preferred)
b. Alternate process to provide TAPs for secondary accounts to the IT pro/DevOps
worker
2. Phase 2: Portable credential registration
a. Microsoft Authenticator app passkey (preferred)
b. FIDO2 security key
c. Smart card
3. Phase 3: Portable credentials used rather than local credentials
Highly regulated workers often use smart cards due to regulated environments already
having heavy adoption of PKI and smart card infrastructure. However, consider when
smart cards are desirable and required and when they can be balanced with more user-
friendly options, such as Windows Hello for Business.
1. Phase 1: Onboarding
a. Microsoft Entra Verified ID service used to acquire a Temporary Access Pass
(preferred)
b. Smart card registration on behalf of the user, following an identity proofing
process
2. Phase 2: Portable credential registration
a. Smart card (preferred)
b. FIDO2 security key
c. Microsoft Authenticator app passkey
3. Phase 3 (Optional): Local credential registration
a. Optional: Windows Hello for Business
b. Optional: Platform SSO Secure Enclave Key
7 Note
It's always recommended that users have at least two credentials registered. This
ensures the user has a backup credential available if something happens to their
other credentials. For highly regulated workers, it's recommended that you deploy
passkeys or Windows Hello for Business in addition to any smart cards you deploy.
Next steps
Deploy a phishing-resistant passwordless authentication deployment in Microsoft Entra
ID
Feedback
Was this page helpful? Yes No
Initializing and authenticating a remote desktop connection session from a local client to
a remote machine using phishing-resistant passwordless credentials
Utilizing phishing-resistant passwordless credentials inside of an established remote
desktop connection session
Step through the following sections to determine if support for phishing-resistant
passwordless is expected across all three components you're utilizing. Repeat this process
if you have multiple scenarios that require evaluation.
Client platform
There are several different commonly used operating systems for local clients that are
used to instantiate remote desktop sessions. Commonly used options include:
Windows 10+
Windows Server
macOS
iOS
Android
Linux
ノ Expand table
Windows Partial Yes Windows Server isn't recommended for client computing
Server devices.
macOS Yes Yes Not all Apple web frameworks support FIDO
iOS Yes Yes Not all Apple web frameworks support FIDO
Linux Maybe Yes Confirm FIDO support with the Linux distro vendor
Target platform
The target platform is critical for determining if phishing-resistant passwordless
authentication is supported for establishing the remote desktop connection session itself.
ノ Expand table
2. Only applies to Microsoft Entra joined servers running Windows Server 2025 or later
ノ Expand table
) Important
Client and target devices must be Microsoft Entra joined, Microsoft Entra hybrid
joined, or Microsoft Entra registered to the same tenant. Cross-tenant authentication
will not work, the client device will not be able to authenticate to the target device if
they are joined to different tenants.
Example 1
For example, here's how you might evaluate if your scenario is "my Information Workers need
to use their Windows devices to access Azure Virtual Desktop, need to authenticate the remote
desktop connection session using a Microsoft Authenticator passkey, and use the passkey
inside the remote desktop connection session in the Microsoft Edge browser":
ノ Expand table
In this example, both the remote desktop connection session itself and in-session apps can
take advantage of the user’s passkey. Phishing-resistant passwordless should work broadly.
Example 2
Here's how you might evaluate if your scenario is "my Information Workers need to use their
macOS devices to access Azure Virtual Desktop, need to authenticate the remote desktop
connection session using a Microsoft Authenticator passkey, and use the passkey inside the
remote desktop connection session":
ノ Expand table
In this example, users can use their passkey to establish the remote desktop connection
session, but can't use it inside of the remote desktop connection session because the Windows
App on macOS doesn't support this functionality yet. You can wait for better passkey support
in the remote desktop connection client or you can switch to another credential, such as
certificates with CBA.
Example 3
Here's how you might evaluate if your scenario is "my admins need to use their Windows
devices to access on-premises Windows Servers, need to authenticate the remote desktop
connection session using a certificate, and use the certificate inside the remote desktop
connection session":
ノ Expand table
In this example, users can use their certificate to establish the remote desktop connection
session and also use the certificate inside the remote desktop connection session. This scenario
won't work with a passkey however, since the domain-joined Windows server can't use a
passkey to set up a remote desktop connection session or inside the session.
Example 4
Here's how you might evaluate if your scenario is "my frontline workers need to use a Linux-
based thin client to access on-premises domain-joined Windows Virtual Desktop Infrastructure
(VDI) clients that are NOT Microsoft Entra hybrid joined, need to authenticate the remote
desktop connection session using a FIDO2 security key, and use the FIDO2 security key inside
the remote desktop connection session":
ノ Expand table
In this example, users likely can't use their FIDO2 security keys for remote desktop connection
at all because the thin client OS and remote desktop connection client don’t support
FIDO2/passkeys in every scenario required. Work with your thin client vendor to understand
their roadmap for support. Additionally, plan on Microsoft Entra hybrid joining or Microsoft
Entra joining the Target Platform virtual machines so that passkeys can be better supported.
Next steps
Deploy a phishing-resistant passwordless authentication deployment in Microsoft Entra ID
Enable passkeys (FIDO2) for your
organization
Article • 05/21/2025
For enterprises that use passwords today, passkeys (FIDO2) provide a seamless way for workers
to authenticate without entering a username or password. Passkeys (FIDO2) provide improved
productivity for workers, and have better security.
This article lists requirements and steps to enable passkeys in your organization. After you
complete these steps, users in your organization can then register and sign in to their
Microsoft Entra account using a passkey stored on a FIDO2 security key or in Microsoft
Authenticator.
For more information about enabling passkeys in Microsoft Authenticator, see How to enable
passkeys in Microsoft Authenticator.
For more information about passkey authentication, see Support for FIDO2 authentication with
Microsoft Entra ID.
7 Note
Requirements
Users must complete multifactor authentication (MFA) within the past five minutes before
they can register a passkey (FIDO2).
Users need a FIDO2 security key eligible for attestation with Microsoft Entra ID or
Microsoft Authenticator.
Devices must support passkey (FIDO2) authentication. For Windows devices that are
joined to Microsoft Entra ID, the best experience is on Windows 10 version 1903 or
higher. Hybrid-joined devices must run Windows 10 version 2004 or higher.
Passkeys (FIDO2) are supported across major scenarios on Windows, macOS, Android, and iOS.
For more information on supported scenarios, see Support for FIDO2 authentication in
Microsoft Entra ID.
7 Note
7 Note
The vendor must ensure that the AAGUID is identical across all substantially identical
security keys or passkey (FIDO2) providers made by that vendor, and different (with high
probability) from the AAGUIDs of all other types of security keys or passkey (FIDO2)
providers. To ensure this, the AAGUID for a given security key model or passkey (FIDO2)
provider should be randomly generated. For more information, see Web Authentication:
An API for accessing Public Key Credentials - Level 2 (w3.org) .
You can work with your security key vendor to determine the AAGUID of the passkey (FIDO2),
or see FIDO2 security keys eligible for attestation with Microsoft Entra ID. If the passkey
(FIDO2) is already registered, you can find the AAGUID by viewing the authentication method
details of the passkey (FIDO2) for the user.
3. Under the method Passkey (FIDO2), set the toggle to Enable. Select All users or Add
groups to select specific groups. Only security groups are supported.
Set Allow self-service set up to Yes. If set to No, users can't register a passkey by
using Security info , even if passkeys (FIDO2) are enabled by the Authentication
methods policy.
Set Enforce attestation to Yes if your organization wants to be assured that a FIDO2
security key model or passkey provider is genuine and comes from the legitimate
vendor.
For FIDO2 security keys, we require security key metadata to be published and
verified with the FIDO Alliance Metadata Service, and also meet Microsoft's
requirements for compatibility. For more information, including a list of
Microsoft-compatible security key models, see Become a Microsoft-compatible
FIDO2 security key vendor.
Passkeys in Microsoft Authenticator also support attestation. For more
information, see How passkey attestation works with Authenticator.
2 Warning
Enforce key restrictions should be set to Yes only if your organization wants to only
allow or disallow certain security key models or passkey providers, which are
identified by their AAGUID. You can work with your security key vendor to determine
the AAGUID of the passkey. If the passkey is already registered, you can find the
AAGUID by viewing the authentication method details of the passkey for the user.
2 Warning
Key restrictions set the usability of specific models or providers for both registration
and authentication. If you change key restrictions and remove an AAGUID that you
previously allowed, users who previously registered an allowed method can no
longer use it for sign-in.
7 Note
If you see an error when you try to save, replace multiple groups with a single group
in one operation, and then click Save again.
With these new APIs, organizations can build their own clients to provision passkey (FIDO2)
credentials on security keys on behalf of a user. To simplify this process, three main steps are
required.
1. Request creationOptions for a user: Microsoft Entra ID returns the necessary data for your
client to provision a passkey (FIDO2) credential. This includes information such as user
information, relying party ID, credential policy requirements, algorithms, registration
challenge and more.
2. Provision the passkey (FIDO2) credential with the creation Options: Use the
creationOptions and a client that supports the Client to Authenticator Protocol (CTAP) to
provision the credential. During this step, you need to insert the security key and set a
PIN.
3. Register the provisioned credential with Microsoft Entra ID: Use the formatted output
from the provisioning process to provide Microsoft Entra ID the necessary data to register
the passkey (FIDO2) credential for the targeted user.
JSON
GET
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authenticationMe
thodConfigurations/FIDO2
3. To disable attestation enforcement and enforce key restrictions to only allow the AAGUID
for RSA DS100 for example, perform a PATCH operation using the following request body:
JSON
PATCH
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authenticationMe
thodConfigurations/FIDO2
Request Body:
{
"@odata.type": "#microsoft.graph.fido2AuthenticationMethodConfiguration",
"isAttestationEnforced": false,
"keyRestrictions": {
"isEnforced": true,
"enforcementType": "allow",
"aaGuids": [
"7e3f3d30-3557-4442-bdae-139312178b39",
JSON
GET
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authenticationMe
thodConfigurations/FIDO2
Or
The following steps show how to create a custom authentication strength. It's a Conditional
Access policy that allows passkey (FIDO2) sign-in for only a specific security key model or
passkey (FIDO2) provider. For a list of FIDO2 providers, see FIDO2 security keys eligible for
attestation with Microsoft Entra ID.
Known issues
Guest users
Registration of passkey (FIDO2) credentials isn't supported for internal or external guest users,
including B2B collaboration users in the resource tenant.
UPN changes
If a user's UPN changes, you can no longer modify passkeys (FIDO2) to account for the change.
If the user has a passkey (FIDO2), they need to sign in to Security info , delete the old passkey
(FIDO2), and add a new one.
Next steps
Native app and browser support of passkey (FIDO2) passwordless authentication
This article shows how users can register a security key using the Passkey flow. For
registration on a mobile device, see Register a passkey using a mobile device.
7 Note
For more information about enabling passkeys in Microsoft Authenticator, see How to
enable passkeys in Microsoft Authenticator.
Manual registration
1. Users can register a passkey (FIDO2) as an authentication method by navigating
and completing the process from a browser at Security info .
2. Tap Add sign-in method > Choose a method > Passkey > Add.
3. Sign in with multifactor authentication (MFA) before adding a passkey, then tap
Next.
a. If you don't have at least one MFA method registered, you must add one.
b. An Authentication Policy Administrator can also issue a Temporary Access Pass
to allow a user to strongly authenticate and register a passkey.
4. A security dialog opens on your device and asks where to save your passkey.
7 Note
6. After you're redirected to Security info, you can change the default name for the
new sign-in method.
Next steps
Choosing authentication methods for your organization
Feedback
Was this page helpful? Yes No
This article shows how to register a security key with your iOS or Android device.
You can also register passkeys in Microsoft Authenticator on your mobile device. With
an Authenticator passkey, you can have seamless single sign-on (SSO) to other
Microsoft native apps, like Teams or Outlook. For more information, see How to enable
passkeys in Microsoft Authenticator.
iOS
3. Select Passkey.
4. Tap Add.
Depending on the screen size and orientation of your iOS device, you
may need to scroll down to see this option.
7 Note
If a PIN isn't configured for this security key, you need to first enroll a PIN
before you continue registration.
11. Reinsert or reconnect your security key to your iOS device.
12. Upon completion, you're redirected back to Security info and asked to
rename your passkey. Name the passkey something memorable to you and
select Done.
Related content
Choosing authentication methods for your organization
Feedback
Was this page helpful? Yes No
This article covers how users can sign in to Microsoft Entra ID with a passkey stored on a
FIDO2 security key. For how to sign in with a passkey in Microsoft Authenticator, see
Sign in with passkeys in Authenticator for Android and iOS devices.
1. Go to Office .
If you most recently used a passkey to sign in, you're automatically prompted to
sign in with a passkey. Otherwise, select Other ways to sign in, and then select
Face, fingerprint, PIN, or security key.
3. Your device opens a security window. To use your security key, follow the steps in
the operating system or browser dialog. Verify that it's you by scanning your
fingerprint or entering your PIN.
4. Once you're signed in, your device displays a screen similar to this one:
Known issues
Beginning with Windows 11 version 23H2, the operating system shows the
following prompt during sign-in. Below More choices, choose Security key and
select Next.
On earlier versions of Windows, the browser may show the QR pairing screen to
continue with using a passkey stored on a mobile device. To use a passkey stored
on a security key instead, insert your security key and touch it to continue.
Next steps
Support for FIDO2 authentication with Microsoft Entra ID
Feedback
Was this page helpful? Yes No
For more information about how to sign in with FIDO2 security keys on a Windows device, see
Enable FIDO2 security key sign-in to Windows 10 and 11 devices with Microsoft Entra ID.
7 Note
Web browsers
The following section covers support for passkey (FIDO2) authentication in web browsers
with Microsoft Entra ID.
ノ Expand table
Windows ✅ ✅ ✅ N/A
macOS ✅ ✅ ✅ ✅
Linux ✅ ✅ ✅ N/A
iOS ✅ ✅ ✅ ✅
Android ✅ ✅ ❌ N/A
macOS
Sign-in with passkey requires macOS Catalina 11.1 or later with Safari 14 or later
because Microsoft Entra ID requires user verification for multifactor authentication.
Near-field communication (NFC) and Bluetooth Low Energy (BLE) security keys aren't
supported on macOS by Apple.
New security key registration doesn't work on these macOS browsers because they
don't prompt to set up biometrics or PIN.
See Sign in when more than three passkeys are registered for Safari on macOS.
ChromeOS
NFC and BLE security keys aren't supported on ChromeOS by Google.
Security key registration isn't supported on ChromeOS or Chrome browser.
Linux
Sign-in with passkey in Microsoft Authenticator isn't supported in Firefox on Linux.
iOS
Sign-in with passkey requires iOS 14.3 or later because Microsoft Entra ID requires
user verification for multifactor authentication.
BLE security keys aren't supported on iOS by Apple.
NFC with FIPS 140-3 certified security keys isn't supported on iOS by Apple.
New security key registration doesn't work on iOS browsers because they don't
prompt to set up biometrics or PIN.
See Sign in when more than three passkeys are registered.
Android
Sign-in with passkey requires Google Play Services 21 or later because Microsoft
Entra ID requires user verification for multifactor authentication.
BLE security keys aren't supported on Android by Google.
Security key registration with Microsoft Entra ID isn't yet supported on Android.
Sign-in with passkey isn't supported in Firefox on Android.
Known issues
Next steps
Enable passwordless security key sign-in
Microsoft Entra ID attestation for FIDO2
security key vendors
Article • 05/21/2025
FIDO2 security keys enable phishing-resistant authentication. They can replace weak
credentials with strong hardware-backed public/private-key credentials that can't be reused,
replayed, or shared across services. Security keys support shared device scenarios, allowing you
to carry your credential with you and safely authenticate on any supported device.
In Microsoft Entra ID Authentication methods policy, administrators can enforce attestation for
FIDO2 security keys. When Enforce attestation is set to Yes, Microsoft requires extra metadata
from FIDO2 security keys that are registered with the tenant. As a vendor, your FIDO2 security
key is usable when attestation is enforced, if the following requirements are met.
7 Note
Attestation requirements
Microsoft relies on the FIDO Alliance Metadata Service (MDS) to determine security key
compatibility with Windows, Microsoft Edge browser, and online Microsoft accounts. Vendors
report data to the FIDO MDS.
During FIDO2 registration, Microsoft Entra ID requires security keys to provide an attestation
statement. For vendors, the expected attestation format is packed, as defined by the FIDO
standard .
The specific requirements vary based on how an administrator configures the FIDO2
authentication methods policy.
ノ Expand table
It must provide a valid packed attestation statement It must provide a valid packed attestation
and a complete certificate that chains back to the statement (but Microsoft will ignore attestation
attestation roots extracted from the FIDO Alliance verification results) and a complete certificate
Enforce attestation set to Yes Enforce attestation set to No
MDS, so that Microsoft can validate the key's (which doesn't need to be associated with a
metadata. particular certificate chain).
7 Note
Vendors are responsible to publish all root attestation certificates to the FIDO Alliance
MDS; otherwise, attestation verification can fail.
Your authenticator needs to have a FIDO2 certification. This can be at any level. To learn
more about the certification, visit the FIDO Alliance Certification Overview website .
Your product metadata needs to be uploaded to the FIDO Alliance MDS, and you need to
verify your metadata is in the MDS. The metadata must indicate that your authenticator
supports:
FIDO 2.0 or higher.
User verification or client PIN - Microsoft Entra ID requires user verification with
biometrics or PIN for all FIDO2 authentication attempts.
Resident keys (or discoverable credentials) - Resident keys are required for using a
security key to sign in to Microsoft Entra ID without entering a username.
Hash-Based Message Authenticator Codes (HMAC) secret extension or Pseudo-
Random Function (PRF) extension - An HMAC secret extension or PRF extension is
required for using a security key to unlock Windows in offline scenarios.
Timelines
Microsoft ingests the latest version of the FIDO Alliance MDS every month. There may be a
maximum four-week delay from the time that your FIDO2 security key appears in FIDO Alliance
MDS to when Microsoft recognizes the key model. If your key meets the Microsoft attestation
requirements, it automatically appears on the Microsoft FIDO2 partner page.
ATKey.ProS ba76a271-6eb6-4171- ✅ ✅ ❌ ❌
874d-b6428dbe3437
Nitrokey 3 AM 2cd2f727-f6ca-44da- ❌ ✅ ❌ ❌
8f48-5c2e5da000a2
This article lists steps to enable and enforce use of passkeys in Authenticator for
Microsoft Entra ID. First, you update the Authentication methods policy to allow users to
register and sign in with passkeys in Authenticator. Then you can use Conditional Access
authentication strengths policies to enforce passkey sign-in when users access a
sensitive resource.
Requirements
Microsoft Entra multifactor authentication (MFA).
https://cable.auth.com
7 Note
To learn more about FIDO2 support, see Support for FIDO2 authentication with
Microsoft Entra ID.
3. Under the method Passkey (FIDO2), select All users or Add groups to select
specific groups. Only security groups are supported.
4. On the Configure tab:
Set Allow self-service set up to Yes. If it's set to No, users can't register a
passkey by using Security info , even if passkeys (FIDO2) are enabled by the
Authentication methods policy.
iOS: Authenticator attestation uses the iOS App Attest service to ensure
the legitimacy of the Authenticator app before registering the passkey.
Android:
For Play Integrity attestation, Authenticator attestation uses the Play
Integrity API to ensure the legitimacy of the Authenticator app before
registering the passkey.
For Key attestation, Authenticator attestation uses key attestation by
Android to verify that the passkey being registered is hardware-
backed.
7 Note
For both iOS and Android, Authenticator attestation relies upon Apple
and Google services to verify the authenticity of the Authenticator app.
Heavy service usage can make passkey registration fail, and users might
need to try again. If Apple and Google services are down, Authenticator
attestation blocks registration that requires attestation until services are
restored. To monitor the status of Google Play Integrity service, see
Google Play Status Dashboard . To monitor the status of the iOS App
Attest service, see System Status .
7 Note
Users can only register attested passkeys directly in the Authenticator app.
Cross-device registration flows don't support registration of attested
passkeys.
Key restrictions set the usability of specific passkeys for both registration and
authentication. You can set Enforce key restrictions to No to allow users to
register any supported passkey, including passkey registration directly in the
Authenticator app. If you set Enforce key restrictions to Yes and already have
active passkey usage, you should collect and add the AAGUIDs of the
passkeys being used today.
If you change key restrictions and remove an AAGUID that you previously
allowed, users who previously registered an allowed method can no longer
use it for sign-in.
7 Note
If you turn off key restrictions, make sure you clear the Microsoft
Authenticator checkbox so that users aren't prompted to set up a
passkey in the Authenticator app on Security info .
JSON
GET
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authentica
tionMethodConfigurations/FIDO2
JSON
PATCH
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authentica
tionMethodConfigurations/FIDO2
Request Body:
{
"@odata.type":
"#microsoft.graph.fido2AuthenticationMethodConfiguration",
"isAttestationEnforced": true,
"keyRestrictions": {
"isEnforced": true,
"enforcementType": "allow",
"aaGuids": [
"90a3ccdf-635c-4729-a248-9b709135078f",
"de1e552d-db1d-4423-a619-566b625cdc84"
JSON
GET
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authentica
tionMethodConfigurations/FIDO2
Find AAGUIDs
Use the GetRegisteredPasskeyAAGUIDsForAllUsers.ps1 Microsoft Graph PowerShell script
to enumerate the AAGUIDs of all registered passkeys in the tenant.
PowerShell
# Define the output file [If the script is run more than once, delete the
file to avoid appending to it.]
$file = ".\AAGUIDs.txt"
Delete a passkey
If a user deletes a passkey in Authenticator, the passkey is also removed from the user's
sign-in methods. An Authentication Policy Administrator can also follow these steps to
delete a passkey from the user's authentication methods, but it won't remove the
passkey from Authenticator.
1. Sign in to the Microsoft Entra admin center , and search for the user whose
passkey must be removed.
Unless the user initiated the passkey deletion themselves in Authenticator, they
need to also remove the passkey in Authenticator on their device.
Related content
Support for passkey in Windows
Feedback
Was this page helpful? Yes No
This article covers issues that users might see when they use passkeys in Authenticator
and possible ways for administrators to resolve them.
Workarounds
Use the following workarounds for Authenticator passkey issues.
The policy forces targeted users to use a passkey to sign in to all cloud applications,
which includes the Authenticator app. It requires users to use a passkey when they try to
add a passkey in Authenticator on either Android or iOS.
You can filter for applications and transition the policy target from All resources
(formerly 'All cloud apps') to specific applications. Start with a review of
applications that are used in your tenant. Use filters to tag Authenticator and other
applications.
To further reduce support costs, you can run an internal campaign to help users
adopt passkeys before you enforce them. When you're ready to enforce passkey
usage, create two Conditional Access policies:
A policy for mobile operating system (OS) versions
A policy for desktop OS versions
Require a different authentication strength for each policy, and configure other
policy settings listed in the following table. You can enable a Temporary Access
Pass (TAP) for users or enable other authentication methods to help users register
the passkey.
A TAP limits the time when users can register a passkey. You can accept it only on
mobile platforms where you allow passkey registration.
ノ Expand table
Policy result Users who can't sign in with a Users who sign in to Authenticator
passkey in Authenticator are with a TAP or another allowed
directed to the My Sign-ins wizard method can register a passkey
mode. After registration, they're directly in Authenticator. No loop
asked to sign in to Authenticator occurs because the user meets the
on their mobile device. authentication requirements.
1For users to register new sign-in methods, your grant control for the mobile
policy needs to match your Conditional Access policy to register Security info .
7 Note
With either workaround, users must also satisfy any Conditional Access policy that
targets Register security info or they can't register the passkey. If you have other
conditions set up with the All resources policies, those conditions must be met
when the passkey is registered.
The policy forces users to sign in to all cloud applications by using an app that supports
Microsoft Intune app protection policies. Authenticator doesn't support this policy on
either Android or iOS.
You can filter for applications and transition the policy target from All resources
(formerly 'All cloud apps') to specific applications. Start with a review of
applications that are used in your tenant. Use filters to tag appropriate
applications.
You can use mobile device management (MDM) and the Require device to be
marked as compliant control. Authenticator can satisfy this grant control if MDM
fully manages the device and it's compliant. For example:
Condition: All devices (Windows, Linux, macOS, Windows, Android)
Targeted resource: All resources (formerly 'All cloud apps')
Grant control: Require approved client app, or Require app protection policy,
or Require device to be marked as compliant
You can grant users a temporary exemption from the Conditional Access policy.
We recommend that you use one or more compensating controls:
Allow the exemption for only a limited period of time. Communicate to the user
when they're allowed to register a passkey. Remove the exemption after the
time period. Then direct users to call the help desk if they missed their time.
Use another Conditional Access policy to require that users register only from a
specific network location or a compliant device.
7 Note
With any proposed workaround, users must also satisfy any Conditional Access
policy that targets Register security info or they can't register the passkey. If you
have other conditions set up with the All resources policies, they also must be met
before users can register a passkey.
Related content
For more information about passkeys in Authenticator, see Microsoft Authenticator
authentication method.
To enable passkeys in Authenticator as a way for users to sign in, see Enable
passkeys in Microsoft Authenticator.
Feedback
Was this page helpful? Yes No
This article shows how to register a passkey by using Authenticator on your iOS or
Android device by directly signing in to the Authenticator app or by using Security
info . For more information about the availability of Microsoft Entra ID passkey (FIDO2)
authentication across native apps, web browsers, and operating systems, see Support
for FIDO2 authentication with Microsoft Entra ID.
The easiest and fastest way to add a passkey is to add it directly in the Authenticator app.
Alternatively, you can add a passkey from your mobile device browser or through cross-
device registration by using another device, such as a laptop. Your mobile device needs
to run iOS version 17 or Android version 14, or later.
ノ Expand table
Cross-device registration ✅ ✅
iOS
1. Download Authenticator from the App Store, and go through the privacy
screens.
If you installed Authenticator for the first time on your device, on the
Secure Your Digital Life screen, tap Add work or school account.
On both operating systems, make sure that AutoFill Passwords and Passkeys
is turned on. Under Autofill From, make sure that Authenticator is selected.
6. After you return to Authenticator, tap Done to confirm that you added
Authenticator as a passkey provider. Then you can see Passkey added as a
sign-in method for your account. Tap Done again to finish.
7. Authenticator sets up passkey, passwordless, and MFA for sign-in according to
your work or school account policies. Tap your account to see information,
including your new passkey.
1. On the same iOS device as the Authenticator or by using another device, such
as a laptop, open a web browser and sign in with MFA to Security info .
2. On Security info, tap + Add sign-in method and select Passkey in Microsoft
Authenticator.
3. If you're asked to sign in with MFA, select Next.
5. You're prompted to open the Authenticator app and create your passkey
there. Open Authenticator and go through the privacy screens as needed.
6. Add your account in Authenticator on your iOS device.
If you installed Authenticator for the first time on your device, on the
Secure Your Digital Life screen, tap Add work or school account.
If you installed Authenticator on your device before but didn't add an
account, tap Add account or the + button, and select Work or school
account. Then tap Sign in.
If you already added an account in Authenticator, tap your account, and
then tap Create a passkey.
7. You need to complete multifactor authentication (MFA).
10. On your iOS 18 device, go to Settings > General > Autofill & Passwords. On
your iOS 17 device, go to Settings > Passwords > Password Options.
On both operating systems, make sure that AutoFill Passwords and Passkeys
is turned on. Under Autofill From, make sure that Authenticator is selected.
11. After you return to Authenticator, tap Done to confirm that you added
Authenticator as a passkey provider. Then you can see Passkey added as a
sign-in method for your account. Tap Done again to finish.
12. Authenticator sets up passkey, passwordless, and MFA for sign-in according to
your work or school account policies.
13. Return to your browser after you finish the passkey setup in Authenticator,
and select Next.
14. The wizard verifies that the passkey was created in Authenticator.
16. On Security info, you can see the new passkey that was added.
Alternate registration flow from Security info if you
have trouble (iOS)
If you can't sign in to Authenticator to register a passkey, you can register directly
from Security info with WebAuthn.
7 Note
If you sign in to Security info on a different device, you need Bluetooth and an
internet connection. Connectivity to the following two endpoints must be allowed
in your organization:
https://cable.ua5v.com
https://cable.auth.com
If your organization restricts Bluetooth usage, you can permit Bluetooth pairing
exclusively with passkey-enabled FIDO2 authenticators to allow cross-device
registration of passkeys. For more information, see Passkeys in Bluetooth-restricted
environments.
3. Select iPhone or iPad, and go through the rest of the flow to register a
passkey on the device.
7 Note
If you register your passkey with the Chrome browser on macOS, allow
login.microsoft.com to access your security key or device when prompted.
Troubleshooting
In some cases when you try to register a passkey, it gets stored locally in the
Authenticator app but isn't registered on the authentication server. For example,
the passkey provider might not be permitted or the connection might time out. If
you try to register a passkey and see an error that the passkey already exists, delete
the passkey that was created locally in Authenticator and retry registration.
Feedback
Was this page helpful? Yes No
This article explains the sign-in experience when you use passkeys in Authenticator with
Microsoft Entra ID. For more information about the availability of Microsoft Entra ID
passkey (FIDO2) authentication across native applications, web browsers, and operating
systems, see Support for FIDO2 authentication with Microsoft Entra ID.
ノ Expand table
Cross-device authentication ✅ ✅
1Support
for same-device registration in Microsoft Edge on Android is coming soon.
iOS
To sign in with a passkey in Authenticator, your iOS device needs to run iOS 17 or
later.
1. On your iOS device, open your browser and go to the resource you're trying
to access, such as Office .
If you selected Sign-in options, then select Face, fingerprint, PIN or security
key. Otherwise, skip to the next step.
7 Note
If you try to sign in without a username and multiple passkeys are saved
to your device, you're prompted to choose which passkey to use for sign-
in.
3. To select your passkey, follow the steps in the iOS operating system dialog.
Verify yourself by using Face ID or Touch ID, or by entering your device PIN.
This sign-in option requires Bluetooth and an internet connection for both devices.
If your organization restricts Bluetooth usage, an administrator can allow cross-
device sign-in for passkeys by permitting Bluetooth pairing exclusively with
passkey-enabled FIDO2 authenticators. For more information about how to
configure Bluetooth usage only for passkeys, see Passkeys in Bluetooth-restricted
environments.
1. On the other device where you want to sign in to Microsoft Entra ID, go to the
resource you're trying to access, such as Office .
If you selected Sign-in options, then select Face, fingerprint, PIN or security
key. Otherwise, skip to the next step.
7 Note
If you try to sign in without a username and multiple passkeys are saved
to your device, you're prompted to choose which passkey to use for sign-
in.
4. A QR code should appear on the screen. Now, on your iOS device, open the
camera app and scan the QR code.
The camera inside the iOS Authenticator app doesn't support scanning a
WebAuthn QR code. You need to use the system camera app.
Bluetooth and an internet connection are required for this step and must both
be enabled on your mobile and remote device.
6. To select your passkey, follow the steps in the iOS operating system dialog.
Verify yourself by using Face ID or Touch ID, or by entering your device PIN.
Feedback
Was this page helpful? Yes No
This article addresses frequently asked questions about passkey support in Microsoft
Authenticator. Keep checking back for updated content.
On Android, Authenticator uses the Android Keystore system API to securely store device-
bound passkeys. The Android Keystore system supports binding key material to the secure
hardware of an Android device, in this order of preference:
On Android, Authenticator only stores a passkey (private key) if the Android device has one of
these two secure hardware options. If neither hardware option exists, Authenticator passkey
registration fails, even if attestation is disabled.
https://cable.ua5v.com
https://cable.auth.com
Phone sign-in from Authenticator shows a message that asks the user to tap a number
in the app. It doesn't ask for a username or password. To complete the sign-in process in
the app, follow these steps:
1. In the Authenticator dialog, enter the number shown on the sign-in screen.
2. Select Approve.
3. Provide your PIN or biometric.
Multiple accounts
You can enable passwordless phone sign-in for multiple accounts in Authenticator on
any supported Android or iOS device. Consultants, students, and other users with
multiple accounts in Microsoft Entra ID can add each account to Authenticator and use
passwordless phone sign-in for all of them from the same device.
The Microsoft Entra accounts can be in the same tenant or different tenants. Guest
accounts aren't supported for multiple account sign-ins from one device.
Prerequisites
To use passwordless phone sign-in with Authenticator, you must meet the following
prerequisites:
The device must be registered with each tenant where it's used to sign in. For
example, the following device must be registered with Contoso and Wingtip Toys
to allow all accounts to sign in:
[email protected]
[email protected] and bsandhu@wingtiptoys
To use passwordless authentication in Microsoft Entra ID, first enable the combined
registration experience, and then enable users for the passwordless method.
To enable the authentication method for passwordless phone sign-in, follow these steps:
Each group is enabled by default to use Any mode. Any mode allows group members to
sign in with either a push notification or passwordless phone sign-in.
7 Note
If you see an error when you try to save, it might be because of the number of
users or groups being added. As a workaround, replace the users and groups that
you're trying to add with a single group in the same operation. Then select Save
again.
User registration
Users register for the passwordless authentication method of Microsoft Entra ID. Users
who already registered the Authenticator app for MFA can skip to the next section and
enable phone sign-in.
7 Note
Users can register Authenticator via combined registration only if the Authenticator
authentication mode is set to Any or Push.
To register the Authenticator app, follow these steps:
After users register for the Authenticator app, they need to enable phone sign-in:
An organization can direct its users to sign in with their phones, without using a
password. For further assistance configuring Authenticator and enabling phone sign-in,
see Sign in to your accounts by using the Authenticator app .
7 Note
If a policy restricts the user from using phone sign-in, the user can't enable it within
Authenticator.
To start the phone sign-in process for the first time, follow these steps:
After the user uses passwordless phone sign-in, the app continues to guide the user
through this method. The user also sees the option to choose another method.
Management
We recommend the Authentication methods policy as the best way to manage
Authenticator. Authentication Policy Administrators can edit this policy to enable or
disable Authenticator. Admins can include or exclude specific users and groups from
using it.
Admins can also configure parameters to better control how Authenticator is used. For
example, they can add a location or the app name to the sign-in request so that users
have greater context before they approve.
Known issues
The following known issues exist.
1. Open Authenticator.
2. Respond to any notification prompts.
Federated accounts
After a user enables any passwordless credential, the Microsoft Entra sign-in process
stops using login\_hint . The process no longer accelerates the user toward a federated
sign-in location.
This logic generally prevents a user in a hybrid tenant from being directed to Active
Directory Federation Services for sign-in verification. The option to select Use your
password instead is still available.
On-premises users
Admins can enable users for MFA through an on-premises identity provider. Users can
still create and use a single passwordless phone sign-in credential.
Related content
To learn about Microsoft Entra authentication and passwordless methods, see the
following articles:
Feedback
Was this page helpful? Yes No
This article explains how number matching in Authenticator push notifications improves
user sign-in security. Number matching is a key security upgrade to traditional second-
factor notifications in Authenticator.
MFA
Self-service password reset (SSPR)
Combined SSPR and MFA registration during Authenticator app setup
Active Directory Federation Services (AD FS) adapter
Network Policy Server (NPS) extension
Number matching isn't supported for push notifications for Apple Watch or Android
wearable devices. Wearable device users need to use their phone to approve
notifications when number matching is enabled.
Multifactor authentication
When users respond to an MFA push notification by using Authenticator, they see a
number. They need to enter that number into the app to complete the approval. For
more information about how to set up MFA, see Tutorial: Secure user sign-in events with
Microsoft Entra multifactor authentication.
SSPR
SSPR with Authenticator requires number matching when a user uses Authenticator.
During SSPR, the sign-in page shows a number that the user needs to enter into the
Authenticator notification. For more information about how to set up SSPR, see Tutorial:
Enable users to unlock their account or reset passwords.
Combined registration
Combined registration with Authenticator requires number matching. When a user goes
through combined registration to set up Authenticator, the user needs to approve a
notification to add the account. This notification shows a number that the user needs to
enter into the Authenticator notification. For more information about how to set up
combined registration, see Enable combined security information registration.
AD FS adapter
The AD FS adapter requires number matching on supported versions of Windows
Server. On earlier versions, users continue to see the Approve/Deny experience and
don't see number matching until they upgrade. The AD FS adapter supports number
matching only after they install one of the updates in the following table. For more
information about how to set up the AD FS adapter, see Configure Microsoft Entra
Multifactor Authentication Server to work with AD FS in Windows Server.
7 Note
ノ Expand table
Version Update
NPS extension
Although NPS doesn't support number matching, the latest NPS extension does support
time-based one-time password (TOTP) methods such as the TOTP available in
Authenticator, other software tokens, and hardware FOBs. TOTP sign-in provides better
security than the alternative Approve/Deny experience. Make sure that you run the
latest version of the NPS extension .
Anyone who performs a RADIUS connection with NPS extension version 1.2.2216.1 or
later is prompted to sign in with a TOTP method instead of Approve/Deny. Users must
have a TOTP authentication method registered to see this behavior. Without a TOTP
method registered, users continue to see Approve/Deny.
Organizations that run any of these earlier versions of the NPS extension can modify the
registry to require users to enter a TOTP:
1.2.2131.2
1.2.1959.1
1.2.1916.2
1.1.1892.2
1.0.1850.1
1.0.1.41
1.0.1.40
7 Note
NPS extensions versions earlier than 1.0.1.40 don't support TOTP enforced by
number matching. These versions continue to use Approve/Deny.
To create the registry entry to override the Approve/Deny options in push notifications
and require a TOTP instead:
2. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa .
Name: OVERRIDE_NUMBER_MATCHING_WITH_OTP
Value = TRUE
In addition:
The NPS server where the NPS extension is installed must be configured to use the
Password Authentication Protocol (PAP). For more information, see Determine
which authentication methods your users can use.
) Important
MSCHAPv2 doesn't support TOTP. If the NPS server isn't configured to use
PAP, user authorization fails with events in the AuthZOptCh log of the NPS
extension server in Event Viewer:
NPS extension for Azure MFA: Challenge requested in the Authentication
extension for the user npstesting_ap .
You can configure the NPS server to support PAP. If PAP isn't an option, set
OVERRIDE_NUMBER_MATCHING_WITH_OTP = FALSE to fall back to Approve/Deny
push notifications.
If your organization uses Remote Desktop Gateway and the user registered for a TOTP
code along with Authenticator push notifications, the user can't meet the Microsoft
Entra MFA challenge and Remote Desktop Gateway sign-in fails. In this case, set
OVERRIDE_NUMBER_MATCHING_WITH_OTP = FALSE to fall back to Approve/Deny push
FAQs
This section provides answers to common questions.
Regardless of their default method, any user who is prompted to sign in with
Authenticator push notifications sees number matching. If they're prompted for another
method, they won't see any change.
Related content
Authentication methods in Microsoft Entra ID
Feedback
Was this page helpful? Yes No
This article discusses how to improve the security of user sign-in by adding the
application name and geographic location of the sign-in to Authenticator passwordless
and push notifications.
Prerequisites
Your organization needs to enable Authenticator passwordless and push
notifications for some users or groups by using the new Authentication methods
policy. You can edit the Authentication methods policy by using the Microsoft
Entra admin center or Microsoft Graph API.
Additional context can be targeted to only a single group, which can be dynamic
or nested. The group can be synchronized from on-premises or cloud-only.
7 Note
Make sure that you use the new policy schema for Microsoft Graph APIs. In Graph
Explorer, you need to consent to the Policy.Read.All and
Policy.ReadWrite.AuthenticationMethod permissions.
Identify your single target group for each of the features. Then use the following API
endpoint to change displayAppInformationRequiredState or
displayLocationInformationRequiredState properties under featureSettings to
enabled and include or exclude the groups you want:
msgraph
GET
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authenticationM
ethodConfigurations/MicrosoftAuthenticator
The value of Authentication mode is either any or push , depending on whether or not
you also want to enable passwordless phone sign-in. In these examples, we use any , but
if you don't want to allow passwordless, use push .
You might need to PATCH the entire schema to prevent overwriting any previous
configuration. In that case, do a GET first. Then update only the relevant fields and then
PATCH . The following example shows how to update
displayAppInformationRequiredState and displayLocationInformationRequiredState
under featureSettings .
Only users who are enabled for Authenticator under includeTargets see the application
name or geographic location. Users who aren't enabled for Authenticator don't see
these features.
JSON
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"featureSettings": {
"displayAppInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "all_users"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
},
"displayLocationInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "all_users"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
}
},
"[email protected]":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any",
}
]
}
includeTarget for each featureSetting , change the ID from all_users to the object ID
You need to PATCH the entire schema to prevent overwriting any previous configuration.
We recommend that you do a GET first. Then update only the relevant fields and then
PATCH . The following example shows an update to displayAppInformationRequiredState
Only users who are enabled for Authenticator under includeTargets see the application
name or geographic location. Users who aren't enabled for Authenticator don't see
these features.
JSON
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"featureSettings": {
"displayAppInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "44561710-f0cb-4ac9-ab9c-e6c394370823"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
},
"displayLocationInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "a229e768-961a-4401-aadb-11d836885c11"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
}
},
"[email protected]":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any",
}
]
}
msgraph
GET
https://graph.microsoft.com/v1.0/authenticationMethodsPolicy/authenticationM
ethodConfigurations/MicrosoftAuthenticator
includeTarget for each featureSetting value, change the ID from all_users to the
You need to PATCH the entire schema to prevent overwriting any previous configuration.
We recommend that you do a GET first. Then update only the relevant fields and then
PATCH . The following example shows an update to displayAppInformationRequiredState
Only users who are enabled for Authenticator under includeTargets see the application
name or geographic location. Users who aren't enabled for Authenticator don't see
these features.
JSON
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"featureSettings": {
"displayAppInformationRequiredState": {
"state": "disabled",
"includeTarget": {
"targetType": "group",
"id": "44561710-f0cb-4ac9-ab9c-e6c394370823"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
},
"displayLocationInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "a229e768-961a-4401-aadb-11d836885c11"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
}
},
"[email protected]":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any",
}
]
}
You need to PATCH the entire schema to prevent overwriting any previous configuration.
We recommend that you do a GET first. Then update only the relevant fields and then
PATCH . The following example shows an update to displayAppInformationRequiredState
Only users who are enabled for Authenticator under includeTargets see the application
name or geographic location. Users who aren't enabled for Authenticator don't see
these features.
JSON
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"featureSettings": {
"displayAppInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "44561710-f0cb-4ac9-ab9c-e6c394370823"
},
"excludeTarget": {
"targetType": "group",
"id": "5af8a0da-5420-4d69-bf3c-8b129f3449ce"
}
},
"displayLocationInformationRequiredState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "a229e768-961a-4401-aadb-11d836885c11"
},
"excludeTarget": {
"targetType": "group",
"id": "b6bab067-5f28-4dac-ab30-7169311d69e8"
}
}
},
"[email protected]":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any",
}
]
}
You need to PATCH the entire schema to prevent overwriting any previous configuration.
We recommend that you do a GET first. Then update only the relevant fields and then
PATCH . The following example shows an update to displayAppInformationRequiredState
Only users who are enabled for Authenticator under includeTargets see the application
name or geographic location. Users who aren't enabled for Authenticator don't see
these features.
JSON
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"featureSettings": {
" displayAppInformationRequiredState ": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "1ca44590-e896-4dbe-98ed-b140b1e7a53a"
},
"excludeTarget": {
"targetType": "group",
"id": " 00000000-0000-0000-0000-000000000000"
}
}
},
"[email protected]":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any"
}
]
}
JSON
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"featureSettings": {
"displayAppInformationRequiredState": {
"state": "disabled",
"includeTarget": {
"targetType": "group",
"id": "44561710-f0cb-4ac9-ab9c-e6c394370823"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
},
"displayLocationInformationRequiredState": {
"state": "disabled",
"includeTarget": {
"targetType": "group",
"id": "a229e768-961a-4401-aadb-11d836885c11"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
}
},
"[email protected]":
"https://graph.microsoft.com/v1.0/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any",
}
]
}
3. On the Basics tab, select Yes and All users to enable the policy for everyone.
Change Authentication mode to Any.
Only users who are enabled for Authenticator here are included in the policy to
show the application name or geographic location of the sign-in, or excluded from
it. Users who aren't enabled for Authenticator can't see the application name or
geographic location.
4. On the Configure tab, for Show application name in push and passwordless
notifications, change Status to Enabled. Choose who to include or exclude from
the policy, and then select Save.
Then do the same for Show geographic location in push and passwordless
notifications.
You can configure the application name and geographic location separately. For
example, the following policy enables the application name and geographic
location for all users but excludes the Operations group from seeing the
geographic location.
Known issues
Additional context isn't supported for Network Policy Server (NPS) or Active
Directory Federation Services.
Users can modify the location reported by iOS and Android devices. As a result,
Authenticator is updating its security baseline for Location-Based Access Control
(LBAC) Conditional Access policies. Authenticator denies authentications where the
user might be using a different location than the actual GPS location of the mobile
device where Authenticator is installed.
In the November 2023 release of Authenticator, users who modify the location of
their device see a denial message in Authenticator when they do an LBAC
authentication. Beginning in January 2024, any users who run older Authenticator
versions are blocked from LBAC authentication with a modified location:
Authenticator version 6.2309.6329 or earlier on Android
Authenticator version 6.7.16 or earlier on iOS
To find which users run older versions of Authenticator, use Microsoft Graph APIs.
Related content
Authentication methods in Microsoft Entra ID - Microsoft Authenticator app
Feedback
Was this page helpful? Yes No
Authenticator Lite is another surface for Microsoft Entra users to complete multifactor
authentication (MFA) by using push notifications or time-based one-time passcodes
(TOTP) on your Android or iOS device. With Authenticator Lite, users can satisfy an MFA
requirement from the convenience of a familiar app. Authenticator Lite is currently
enabled in Outlook mobile .
Users receive a notification in Outlook mobile to approve or deny sign-in, or you can
copy a TOTP to use during sign-in.
7 Note
Prerequisites
Your organization needs to enable Authenticator (second factor) push notifications
for all users or select groups. We recommend that you enable Authenticator by
using the modern Authentication methods policy. You can edit the Authentication
methods policy by using the Microsoft Entra admin center or Microsoft Graph API.
Authenticator Lite isn't eligible for on-premises user accounts or organizations with
an active MFA server.
Tip
We recommend that you also enable system-preferred MFA when you enable
Authenticator Lite. With system-preferred MFA enabled, users try to sign in
with Authenticator Lite before they try less secure telephony methods like
SMS or voice call.
If your organization is using the Active Directory Federation Services (AD FS)
adapter or Network Policy Server (NPS) extensions, upgrade to the latest versions
for a consistent experience.
Users enabled for shared device mode on Outlook mobile aren't eligible for
Authenticator Lite.
ノ Expand table
Android 4.2310.1
iOS 4.2312.1
3. On the Enable and Target tab, select Enable and All users to enable the
Authenticator policy for everyone, or add select groups. Set the Authentication
mode for these users or groups to Any or Push.
Users who aren't enabled for Authenticator can't see the feature. Users who have
Authenticator downloaded on the same device on which Outlook is downloaded
aren't prompted to register for Authenticator Lite in Outlook. Android users who
use a personal and work profile on their device might be prompted to register if
Authenticator is present on a different profile from the Outlook application.
If your organization still manages authentication methods in the per-user MFA policy,
you need to disable Notification through mobile app as a verification option there in
addition to the preceding steps. We recommend that you do this step only after you
enable Authenticator in the Authentication methods policy.
You can continue to manage the remainder of your authentication methods in the per-
user MFA policy while Authenticator is managed in the modern Authentication methods
policy. However, we recommend that you migrate management of all authentication
methods to the modern Authentication methods policy. The ability to manage
authentication methods in the per-user MFA policy retires on September 30, 2025.
ノ Expand table
After you identify the single target group, use the following API endpoint to change the
CompanionAppsAllowedState property under featureSettings .
HTTP
https://graph.microsoft.com/beta/authenticationMethodsPolicy/authenticationM
ethodConfigurations/MicrosoftAuthenticator
Request
JSON
{
"@odata.context":
"https://graph.microsoft.com/beta/$metadata#authenticationMethodConfiguratio
ns/$entity",
"@odata.type":
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethodConfiguration",
"id": "MicrosoftAuthenticator",
"state": "enabled",
"isSoftwareOathEnabled": false,
"excludeTargets": [],
"featureSettings": {
"companionAppAllowedState": {
"state": "enabled",
"includeTarget": {
"targetType": "group",
"id": "s4432809-3bql-5m2l-0p42-8rq4707rq36m"
},
"excludeTarget": {
"targetType": "group",
"id": "00000000-0000-0000-0000-000000000000"
}
}
},
"[email protected]":
"https://graph.microsoft.com/beta/$metadata#authenticationMethodsPolicy/auth
enticationMethodConfigurations('MicrosoftAuthenticator')/microsoft.graph.mic
rosoftAuthenticatorAuthenticationMethodConfiguration/includeTargets",
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false,
"authenticationMode": "any"
}
]
}
User registration
If users are enabled for Authenticator Lite, they're prompted to register your account
directly from Outlook mobile. Authenticator Lite registration isn't available by using My
Sign-Ins . Users can also enable or disable Authenticator Lite from within Outlook
mobile. For more information about the user experience, see Authenticator Lite
support .
If users don't have any MFA methods registered, they're prompted to download
Authenticator when they begin the registration flow. For the most seamless experience,
provision users with a Temporary Access Pass (TAP) during Authenticator Lite
registration.
GET auditLogs/signIns
Outlook.
If a user has registered Authenticator Lite, the user's registered authentication methods
include Microsoft Authenticator (in Outlook).
ノ Expand table
The following screenshots show what users see when Authenticator Lite sends a push
notification.
AD FS adapter and NPS extension
Authenticator Lite enforces number matching in every authentication. If your tenant is
using an AD FS adapter or an NPS extension, your users might not be able to complete
Authenticator Lite notifications. For more information, see AD FS adapter and NPS
extension.
Common questions
The following sections list common questions.
Known issues
The following issues are known.
SSPR notifications
TOTP codes from Outlook work for SSPR, but the push notification won't work and
returns an error.
Related content
Authentication methods in Microsoft Entra ID
Feedback
Was this page helpful? Yes No
First-time registration
1. First-time users need to register a passkey (FIDO2) as an authentication method by
navigating and completing the process from a browser at Security info .
2. Tap Add sign-in method > Choose a method > Passkey > Add.
7 Note
Prompted registration
1. If your organization requires you to register a passkey (FIDO2), you’ll be prompted
after sign-in to add a passkey (FIDO2).
2. Tap Next, then you're directed to login.microsoft.com .
7 Note
4. A security window opens. Follow the remaining prompts to sign-in with the
method that you selected.
Next steps
Choosing authentication methods for your organization
Register security keys on behalf of users
Feedback
Was this page helpful? Yes No
Requirements
ノ Expand table
Prepare devices
Microsoft Entra joined devices must run Windows 10 version 1909 or higher.
Microsoft Entra hybrid joined devices must run Windows 10 version 2004 or newer.
) Important
Organizations with Microsoft Entra hybrid joined devices must also complete the
steps in the article, Enable FIDO2 authentication to on-premises resources before
Windows 10 FIDO2 security key authentication works.
Organizations with Microsoft Entra joined devices must do this before their
devices can authenticate to on-premises resources with FIDO2 security keys.
Configuration of security keys for sign-in isn't dependent on configuring Windows Hello
for Business.
7 Note
This will not enable security keys on already provisioned devices. In that case use
the next method (Targeted Intune deployment)
4. Select Next > Add and in Add Row, add the following Custom OMA-URI settings:
7 Note
Devices running Windows 10 Version 1903 must also enable shared PC mode
(EnableSharedPCMode). For more information about enabling this functionality, see
Set up a shared or guest PC with Windows 10.
Setting this policy to Enabled allows users to sign in with security keys.
Setting this policy to Disabled or Not Configured stops users from signing in with
security keys.
Next steps
Enable access to on-premises resources for Microsoft Entra ID and Microsoft Entra
hybrid joined devices
Feedback
Was this page helpful? Yes No
This topic shows how to enable passwordless authentication to on-premises resources for
environments with devices that run Windows 10 version 2004 or later. Devices can be Microsoft
Entra joined or Microsoft Entra hybrid joined. This passwordless authentication functionality
provides seamless single sign-on (SSO) to on-premises resources when you use Microsoft-
compatible security keys, or with Windows Hello for Business Cloud trust.
A Microsoft Entra Kerberos server object is created in your on-premises Active Directory
instance and then securely published to Microsoft Entra ID by using Microsoft Entra Connect.
The object isn't associated with any physical servers. It's simply a resource that can be used by
Microsoft Entra ID to generate Kerberos TGTs for your Active Directory domain.
1. A user signs in to a Windows 10 device with an FIDO2 security key and authenticates to
Microsoft Entra ID.
2. Microsoft Entra ID checks the directory for a Kerberos Server key that matches the user's
on-premises Active Directory domain.
Microsoft Entra ID generates a Kerberos TGT for the user's on-premises Active Directory
domain. The TGT includes the user's SID only, and no authorization data.
3. The TGT is returned to the client along with the user's Microsoft Entra Primary Refresh
Token (PRT).
4. The client machine contacts an on-premises Active Directory Domain Controller and
trades the partial TGT for a fully formed TGT.
5. The client machine now has a Microsoft Entra PRT and a full Active Directory TGT and can
access both cloud and on-premises resources.
Prerequisites
Before you begin the procedures in this article, your organization must complete the
instructions in Enable passkeys (FIDO2) for your organization.
Your Windows Server domain controllers must run Windows Server 2016 or later and
have patches installed for the following servers:
Windows Server 2016
Windows Server 2019
Users must have the following Microsoft Entra attributes populated through Microsoft
Entra Connect:
onPremisesSamAccountName ( accountName in Microsoft Entra Connect)
Microsoft Entra Connect synchronizes these attributes by default. If you change which
attributes to synchronize, make sure you select accountName , domainFQDN , and objectSID
for synchronization.
Supported scenarios
The scenario in this article supports SSO in both of the following instances:
Cloud resources such as Microsoft 365 and other Security Assertion Markup Language
(SAML)-enabled applications.
On-premises resources, and Windows-integrated authentication to websites. The
resources can include websites and SharePoint sites that require IIS authentication and/or
resources that use NTLM authentication.
Unsupported scenarios
The following scenarios aren't supported:
Windows Server Active Directory Domain Services (AD DS)-joined (on-premises only
devices) deployment.
Remote Desktop Protocol (RDP), virtual desktop infrastructure (VDI), and Citrix scenarios
by using a security key.
S/MIME by using a security key.
Run as by using a security key.
Log in to a server by using a security key.
Install the
AzureADHybridAuthenticationManagement
module
The AzureADHybridAuthenticationManagement module provides FIDO2 management
features for administrators.
PowerShell
7 Note
Run the following steps in each domain and forest in your organization that contain Microsoft
Entra users:
To get a list of the available clouds and the numeric value needed to change, run the following:
Get-AzureADKerberosServerEndpoint
Example Output:
Console
Set-AzureADKerberosServerEndpoint -TargetEndpoint 2
Tip
For Additional information comparing Azure commercial and sovereign clouds, See:
Differences between Azure Commercial and Azure sovereign clouds .
# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -
DomainCredential $domainCred
7 Note
# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
# Use the current windows login credential to access the on-premises AD.
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred
7 Note
PowerShell
# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
# Open an interactive sign-in prompt with given username to access the Microsoft
Entra ID.
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName -
DomainCredential $domainCred
7 Note
If you are working on a domain-joined machine with an account that has domain
administrator privileges and your organization protects password-based sign-in and
enforces modern authentication methods such as multifactor authentication, FIDO2, or
smart card technology, you must use the -UserPrincipalName parameter with the User
Principal Name (UPN) of a Hybrid Identity Administrator. And you can skip the "-
DomainCredential" parameter. > - Replace [email protected] in the
following example with the UPN of a Hybrid Identity Administrator.
PowerShell
# Create the new Microsoft Entra ID Kerberos Server object in Active Directory
# and then publish it to Azure Active Directory.
# Open an interactive sign-in prompt with given username to access the Microsoft
Entra ID.
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $userPrincipalName
PowerShell
7 Note
ノ Expand table
Property Description
ComputerAccount The computer account object of the Microsoft Entra Kerberos server object (the
DC).
UserAccount The disabled user account object that holds the Microsoft Entra Kerberos server
TGT encryption key. The domain name of this account is
CN=krbtgt_AzureAD,CN=Users,<Domain-DN> .
KeyVersion The key version of the Microsoft Entra Kerberos server TGT encryption key. The
version is assigned when the key is created. The version is then incremented
every time the key is rotated. The increments are based on replication metadata
and likely greater than one. For example, the initial KeyVersion could be 192272.
The first time the key is rotated, the version could advance to 212621. The
important thing to verify is that the KeyVersion for the on-premises object and
the CloudKeyVersion for the cloud object are the same.
KeyUpdatedOn The date and time that the Microsoft Entra Kerberos server TGT encryption key
was updated or created.
KeyUpdatedFrom The DC where the Microsoft Entra Kerberos server TGT encryption key was last
updated.
CloudId The ID from the Microsoft Entra object. Must match the ID from the first line of
the table.
Property Description
CloudDomainDnsName The DomainDnsName from the Microsoft Entra object. Must match the
DomainDnsName from the second line of the table.
CloudKeyVersion The KeyVersion from the Microsoft Entra object. Must match the KeyVersion
from the fifth line of the table.
CloudKeyUpdatedOn The KeyUpdatedOn from the Microsoft Entra object. Must match the
KeyUpdatedOn from the sixth line of the table.
2 Warning
There are other tools that could rotate the krbtgt keys. However, you must use the tools
mentioned in this document to rotate the krbtgt keys of your Microsoft Entra Kerberos
server. This ensures that the keys are updated in both on-premises Active Directory and
Microsoft Entra ID.
PowerShell
PowerShell
For example, let's say that your organization has an Active Directory forest with two domains,
contoso.com and fabrikam.com . If you choose to allow Microsoft Entra ID to issue Kerberos
TGTs for the entire forest, there are two KerberosDomain objects in Microsoft Entra ID, one
KerberosDomain object for contoso.com and the other for fabrikam.com . If you have multiple
Active Directory forests, there is one KerberosDomain object for each domain in each forest.
Follow the instructions in Create a Kerberos Server object in each domain and forest in your
organization that contains Microsoft Entra users.
Known behavior
If your password has expired, signing in with FIDO is blocked. The expectation is that users
reset their passwords before they can log in by using FIDO. This behavior also applies to hybrid
on-premises synced user sign-in with Windows Hello for Business cloud kerberos trust.
1. Open Feedback Hub, and make sure that you're signed in.
2. Submit feedback by selecting the following categories:
Check your current status by running dsregcmd /status in a Command Prompt window,
and check to ensure that both the AzureAdJoined and DomainJoined statuses are
showing as YES.
This delay in syncing is a known limitation of domain-joined devices and isn't FIDO-
specific.
7 Note
The /keylist switch in the nltest command is available in client Windows 10 v2004 and
later.
Next steps
Learn more about passwordless authentication
Deployment frequently asked questions
(FAQs) for hybrid FIDO2 security keys in
Microsoft Entra ID
Article • 03/04/2025
This article covers deployment frequently asked questions (FAQs) for Microsoft Entra
hybrid joined devices and passwordless sign-in to on-premises resources. With this
passwordless feature, you can enable Microsoft Entra authentication on Windows 10
devices for Microsoft Entra hybrid joined devices using FIDO2 security keys. Users can
sign into Windows on their devices with modern credentials like FIDO2 keys and access
traditional Active Directory Domain Services (AD DS) based resources with a seamless
single sign-on (SSO) experience to their on-premises resources.
Sign in to Microsoft Entra hybrid joined devices using FIDO2 security keys and get
SSO access to on-premises resources.
Sign in to Microsoft Entra joined devices using FIDO2 security keys and get SSO
access to on-premises resources.
To get started with FIDO2 security keys and hybrid access to on-premises resources, see
the following articles:
Security keys
My organization requires two factor authentication to access resources. What can I
do to support this requirement?
Where can I find compliant FIDO2 security keys?
What do I do if I lose my security key?
How is the data protected on the FIDO2 security key?
How does the registering of FIDO2 security keys work?
Is there a way for admins to provision the keys for the users directly?
For a consistent experience, make sure that devices have internet access and line of
sight to DCs.
*.microsoftonline.com
*.microsoftonline-p.com
*.msauth.net
*.msauthimages.net
*.msecnd.net
*.msftauth.net
*.msftauthimages.net
*.phonefactor.net
enterpriseregistration.windows.net
management.azure.com
policykeyservice.dc.ad.msft.net
secure.aadcdn.microsoftonline-p.com
For a full list of endpoints needed to use Microsoft online products, see Office 365 URLs
and IP address ranges.
Console
Dsregcmd /status
The following sample output shows that the device is Microsoft Entra joined as
AzureADJoined is set to YES:
Output
+---------------------+
| Device State |
+---------------------+
AzureADJoined: YES
EnterpriseJoined: NO
DomainedJoined: NO
The following sample output shows that the device is Microsoft Entra hybrid joined as
DomainedJoined is also set to YES. The DomainName is also shown:
Output
+---------------------+
| Device State |
+---------------------+
AzureADJoined: YES
EnterpriseJoined: NO
DomainedJoined: YES
DomainName: CONTOSO
On a Windows Server 2016 or 2019 domain controller, check that the following patches
are applied. If needed, run Windows Update to install them:
From a client device, run the following command to verify connectivity to an appropriate
domain controller with the patches installed:
Console
On a Windows Server 2016 or 2019 domain controller, check that the following patches
are applied. If needed, run Windows Update to install them:
Due to possible attack vectors from Microsoft Entra ID to Active Directory, it's not
recommended to unblock these accounts by relaxing the Password Replication Policy of
the computer object CN=AzureADKerberos,OU=Domain Controllers,<domain-DN>.
CN=AzureADKerberos,OU=Domain Controllers,<domain-DN>
CN=krbtgt_AzureAD,CN=Users,<domain-DN>
A User object that represents a RODC Kerberos Ticket Granting Ticket (TGT)
encryption key.
CN=900274c4-b7d2-43c8-90ee-00a9f650e335,CN=AzureAD,CN=System,<domain-DN>
Microsoft Entra ID
The Microsoft Entra Kerberos server is represented in Microsoft Entra ID as a
KerberosDomain object. Each on-premises AD DS environment is represented as a single
KerberosDomain object in the Microsoft Entra tenant.
For example, you may have an AD DS forest with two domains such as contoso.com and
fabrikam.com . If you allow Microsoft Entra ID to issue Kerberos Ticket Granting Tickets
(TGTs) for the entire forest, there are two KerberosDomain objects in Microsoft Entra ID -
one object for contoso.com and one for fabrikam.com .
If you have multiple AD DS forests, you have one KerberosDomain object for each
domain in each forest.
For more information, including instructions on how to view the objects, see create a
Kerberos Server object.
7 Note
Although there are other tools to rotate the krbtgt keys, you must use the
PowerShell cmdlets to rotate the krbtgt keys of your Microsoft Entra Kerberos
server. This method makes sure that the keys are updated in both the on-premises
AD DS environment and in Microsoft Entra ID.
ノ Expand table
Microsoft Entra ID combines the encrypted client key and message buffer into the PRT
response as additional properties. The payload is encrypted using the Microsoft Entra
Device session key.
ノ Expand table
tgt_client_key string Base64 encoded client key (secret). This key is the client secret used
to protect the TGT. In this passwordless scenario, the client secret is
generated by the server as part of each TGT request and then
returned to the client in the response.
tgt_key_type int The on-premises AD DS key type used for both the client key and
the Kerberos session key included in the KERB_MESSAGE_BUFFER.
Next steps
To get started with FIDO2 security keys and hybrid access to on-premises resources, see
the following articles:
Feedback
Was this page helpful? Yes No
This article covers frequently asked questions for Microsoft Entra hybrid joined devices
and passwordless sign-in to on-premises resources. With this passwordless feature, you
can enable Microsoft Entra authentication on Windows 10 devices for Microsoft Entra
hybrid joined devices using FIDO2 security keys. Users can sign into Windows on their
devices with modern credentials like FIDO2 keys and access traditional Active Directory
Domain Services (AD DS) based resources with a seamless single sign-on (SSO)
experience to their on-premises resources.
Sign in to Microsoft Entra hybrid joined devices using FIDO2 security keys and get
SSO access to on-premises resources.
Sign in to Microsoft Entra joined devices using FIDO2 security keys and get SSO
access to on-premises resources.
To get started with FIDO2 security keys and hybrid access to on-premises resources, see
the following articles:
Known issues
Users are unable to sign in using FIDO2 security keys as Windows Hello Face is too
quick and is the default sign-in mechanism
Users aren't able to use FIDO2 security keys immediately after they create a
Microsoft Entra hybrid joined machine
Users are unable to get SSO to my NTLM network resource after signing in with a
FIDO2 security key and receiving a credential prompt
If Windows Hello Face prevents the users from trying the FIDO2 security key sign-in
scenario, users can turn off Hello Face sign in by removing Face Enrollment in Settings >
Sign-In Options.
This behavior is a known limitation for domain-joined devices, and isn't specific to
FIDO2 security keys.
To check the current status, use the dsregcmd /status command. Check that both
AzureAdJoined and DomainJoined show YES.
If you're able to see a DC with this feature, the user's password may have changed since
they signed in, or there's another issue. Collect logs as detailed in the following section
for the Microsoft support team to debug.
Troubleshoot
There are two areas to troubleshoot - Window client issues, or deployment issues.
1. Open the Feedback hub app. Make sure that your name is on the bottom left of
the app, then select Create a new feedback item.
2. Select the Security and Privacy category, then the FIDO subcategory.
3. Toggle the check box for Send attached files and diagnostics to Microsoft along with
my feedback.
5. Lock and unlock the machine with FIDO2 security key. If the issue occurs, try to
unlock with other credentials.
6. Return to Feedback Hub, select Stop capture, and submit your feedback.
7. Go to the Feedback page, then the My Feedback tab. Select your recently submitted
feedback.
8. Select the Share button in the top-right corner to get a link to the feedback.
Include this link when you open a support case, or reply to the engineer assigned
to an existing support case.
Registry keys
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FIDO [*]
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\PassportForWork* [*]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Policies\PassportForWork* [*]
Diagnostic information
Event logs
%SystemRoot%\System32\winevt\Logs\Microsoft-Windows-
AAD%40Operational.evtx
%SystemRoot%\System32\winevt\Logs\Microsoft-Windows-
WebAuthN%40Operational.evtx
%SystemRoot%\System32\winevt\Logs\Microsoft-Windows-
HelloForBusiness%40Operational.evtx
Deployment Issues
To troubleshoot issues with deploying the Microsoft Entra Kerberos server, use the logs
for the new AzureADHybridAuthenticationManagement PowerShell module.
1. On the Microsoft Entra Connect Server or any other machine where the
AzureADHybridAuthenticationManagement module is installed, open PowerShell
and navigate to C:\Program Files\Microsoft Azure Active Directory
Connect\AzureADKerberos\
2. Run the following PowerShell commands to view the Microsoft Entra Kerberos
server from both Microsoft Entra ID and on-premises AD DS.
PowerShell
Import-Module ".\AzureAdKerberos.psd1"
The command outputs the properties of the Microsoft Entra Kerberos server from both
Microsoft Entra ID and on-premises AD DS. Review the properties to verify that
everything is in good order. Use the table below to verify the properties.
The first set of properties is from the objects in the on-premises AD DS environment.
The second half (the properties that begin with Cloud*) are from the Kerberos Server
object in Microsoft Entra ID:
ノ Expand table
Property Description
ComputerAccount The computer account object of the Microsoft Entra Kerberos server
object (the DC).
UserAccount The disabled user account object that holds the Microsoft Entra
Kerberos server TGT encryption key. The DN of this account is
CN=krbtgt_AzureAD,CN=Users,<Domain-DN>
KeyVersion The key version of the Microsoft Entra Kerberos server TGT encryption
key. The version is assigned when the key is created. The version is then
incremented every time the key is rotated. The increments are based on
replication meta-data and will likely be greater than one.
For example, the initial KeyVersion could be 192272. The first time the
key is rotated, the version could advance to 212621.
The important thing to verify is that the KeyVersion for the on-premises
object and the CloudKeyVersion for the cloud object are the same.
KeyUpdatedOn The date and time that the Microsoft Entra Kerberos server TGT
encryption key was updated or created.
KeyUpdatedFrom The DC where the Microsoft Entra Kerberos server TGT encryption key
was last updated.
Property Description
CloudId The Id from the Microsoft Entra Object. Must match the Id above.
CloudDomainDnsName The DomainDnsName from the Microsoft Entra Object. Must match the
DomainDnsName above.
CloudKeyVersion The KeyVersion from the Microsoft Entra Object. Must match the
KeyVersion above.
CloudKeyUpdatedOn The KeyUpdatedOn from the Microsoft Entra Object. Must match the
KeyUpdatedOn above.
Next steps
To get started with FIDO2 security keys and hybrid access to on-premises resources, see
the following articles:
Feedback
Was this page helpful? Yes No
The following images show how Microsoft Entra CBA simplifies the customer
environment by eliminating federated AD FS.
Benefits Description
Great user - Users who need certificate-based authentication can now directly
experience authenticate against Microsoft Entra ID and not have to invest in federated AD
FS.
- Portal UI enables users to easily configure how to map certificate fields to a
user object attribute to look up the user in the tenant (certificate username
bindings)
- Portal UI to configure authentication policies to help determine which
certificates are single-factor versus multifactor.
Easy to deploy - Microsoft Entra CBA is a free feature, and you don't need any paid editions of
and administer Microsoft Entra ID to use it.
- No need for complex on-premises deployments or network configuration.
- Directly authenticate against Microsoft Entra ID.
Secure - On-premises passwords don't need to be stored in the cloud in any form.
- Protects your user accounts by working seamlessly with Microsoft Entra
Conditional Access policies, including Phishing-Resistant multifactor
authentication (MFA requires licensed edition) and blocking legacy
authentication.
- Strong authentication support where users can define authentication policies
through the certificate fields, such as issuer or policy OID (object identifiers), to
determine which certificates qualify as single-factor versus multifactor.
- The feature works seamlessly with Conditional Access features and
authentication strength capability to enforce MFA to help secure your users.
Supported scenarios
The following scenarios are supported:
Unsupported scenarios
The following scenarios aren't supported:
Certificate Authority hints aren't supported, so the list of certificates that appears
for users in the certificate picker UI isn't scoped.
Only one CRL Distribution Point (CDP) for a trusted CA is supported.
The CDP can be only HTTP URLs. We don't support Online Certificate Status
Protocol (OCSP), or Lightweight Directory Access Protocol (LDAP) URLs.
Password as an authentication method can't be disabled and the option to sign in
using a password is displayed even with Microsoft Entra CBA method available to
the user.
Out of Scope
The following scenarios are out of scope for Microsoft Entra CBA:
Next steps
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
Windows smart card sign in using Microsoft Entra CBA
Certificate user IDs
How to migrate federated users
FAQ
Feedback
Was this page helpful? Yes No
This article explains how Microsoft Entra certificate-based authentication (CBA) works, and dives into
technical details on Microsoft Entra CBA configurations.
2. If the user isn't already signed in, the user is redirected to the Microsoft Entra ID User Sign-in
page at https://login.microsoftonline.com/ .
3. The user enters their username into the Microsoft Entra sign-in page, and then selects Next.
Microsoft Entra ID does home realm discovery using the tenant name and the username is used
to look up the user in the tenant.
4. Microsoft Entra ID checks whether CBA is enabled for the tenant. If CBA is enabled, the user sees
a link to Use a certificate or smartcard on the password page. If the user doesn't see the sign-in
link, make sure CBA is enabled on the tenant. For more information, see How do I enable
Microsoft Entra CBA?.
7 Note
If CBA is enabled on the tenant, all users see the link to Use a certificate or smart card on
the password page. However, only the users in scope for CBA can authenticate successfully
against an application that uses Microsoft Entra ID as their Identity provider (IdP).
If you enabled other authentication methods like Phone sign-in or Security keys, users might
see a different sign-in screen.
5. Once the user selects certificate-based authentication, the client is redirected to the certauth
endpoint, which is https://certauth.login.microsoftonline.com for public Microsoft Entra ID.
For Azure Government, the certauth endpoint is https://certauth.login.microsoftonline.us .
The endpoint performs TLS mutual authentication, and requests the client certificate as part of
the TLS handshake. An entry for this request appears in the sign-in log.
7 Note
The network administrator should allow access to the User sign-in page and certauth
endpoint *.certauth.login.microsoftonline.com for the customer's cloud environment.
Disable TLS inspection on the certauth endpoint to make sure the client certificate request
succeeds as part of the TLS handshake.
Make sure your TLS inspection disablement also works for the new url with issuer hints. Don't
hardcode the url with tenantId because it might change for B2B users. Use a regular expression
to allow both the old and new URL to work for TLS inspection disablement. For example,
depending on the proxy, use *.certauth.login.microsoftonline.com or
*certauth.login.microsoftonline.com . In Azure Government, use
*.certauth.login.microsoftonline.us or *certauth.login.microsoftonline.us .
Unless access is allowed, certificate-based authentication fails if you enable issuer hints.
6. Microsoft Entra ID requests a client certificate. The user picks the client certificate, and selects
Ok.
7. Microsoft Entra ID verifies the certificate revocation list to make sure the certificate isn't revoked
and is valid. Microsoft Entra ID identifies the user by using the username binding configured on
the tenant to map the certificate field value to the user attribute value.
8. If a unique user is found with a Conditional Access policy that requires multifactor
authentication, and the certificate authentication binding rule satisfies MFA, then Microsoft
Entra ID signs the user in immediately. If MFA is required but the certificate satisfies only a
single factor, either passwordless sign-in or FIDO2 is offered as a second factor if they're already
registered.
9. Microsoft Entra ID completes the sign-in process by sending a primary refresh token back to
indicate successful sign-in.
10. If the user sign-in is successful, the user can access the application.
7 Note
If your organization has firewalls or proxies with TLS inspection, acknowledge that you disabled
TLS inspection of the certauth endpoint capable of matching any name under
[*.]certauth.login.microsoftonline.com , customized according to the specific proxy in use.
7 Note
Authentication Policy Administrators should sign in with a certificate after they enable issuer hints to
initiate the propagation. Users see the following error message when CA trust store updates are in
propagation.
MFA with single-factor certificate-based
authentication
Microsoft Entra CBA is supported as both first factor and second factor for authentication. Some of
the supported combinations are:
7 Note
CBA as a second factor on iOS has known issues and is blocked on iOS. We are working on
fixing the issues and should be supported on iOS.
Users need to have a way to get MFA and register passwordless sign-in or FIDO2 in advance to
signing in with Microsoft Entra CBA.
) Important
A user is considered MFA capable when they're included in the CBA method settings. This means
the user can't use proof up as part of their authentication to register other available methods.
Make sure users without a valid certificate aren't included in the CBA method settings. For more
information about how authentication works, see Microsoft Entra multifactor authentication.
If the CBA-enabled user only has a Single Factor (SF) certificate and needs to complete MFA:
If the CBA-enabled user hasn't yet been issued a certificate and needs to complete MFA:
If the CBA-enabled user can't use an MF cert, such as on mobile device without smart card support,
and needs to complete MFA:
For passwordless sign-in to work, users should disable legacy notification through their mobile app.
1. Sign in to the Microsoft Entra admin center as at least an Authentication Policy Administrator.
) Important
In the preceding configuration, make sure you chose Passwordless option. You need to
change the Authentication mode for any groups added for PSI to Passwordless. If you
choose Any, CBA and PSI don't work.
3. Pick the correct user certificate in the client certificate picker and select OK.
4. Because the certificate is configured to be single-factor authentication strength, the user needs
a second factor to meet MFA requirements. The user sees available second factors, which in this
case is passwordless sign-in. Select Approve a request on my Microsoft Authenticator app.
5. You'll get a notification on your phone. Select Approve Sign-in?.
6. Enter the number you see on the browser or app screen into Microsoft Authenticator.
Certificate strengths
Authentication Policy Administrators can determine whether the certificates are single-factor or
multifactor strength. For more information, see the documentation that maps NIST Authentication
Assurance Levels to Microsoft Entra auth Methods , which builds upon NIST 800-63B SP 800-63B,
Digital Identity Guidelines: Authentication and Lifecycle Mgmt .
1. Issuer + policy OID rules take precedence over Policy OID rules. Policy OID rules take
precedence over certificate issuer rules.
2. Issuer + policy OID rules are evaluated first. If you have a custom rule with issuer CA1 and policy
OID 1.2.3.4.5 with MFA, only certificate A that satisfies both issuer value and policy OID is given
MFA.
3. Next, custom rules using policy OIDs are evaluated. If you have a certificate A with policy OID
1.2.3.4.5 and a derived credential B based on that certificate has a policy OID 1.2.3.4.5.6, and the
custom rule is defined as Policy OID with value 1.2.3.4.5 with MFA, only certificate A satisfies
MFA, and credential B satisfies only single-factor authentication. If the user used derived
credential during sign-in and was configured to have MFA, the user is asked for a second factor
for successful authentication.
4. If there's a conflict between multiple policy OIDs (such as when a certificate has two policy OIDs,
where one binds to single-factor authentication and the other binds to MFA) then treat the
certificate as a single-factor authentication.
5. Next, custom rules using issuer CA are evaluated.
6. If a certificate has both policy OID and Issuer rules matching, the policy OID is always checked
first, and if no policy rule is found then the issuer bindings are checked. Policy OID has a higher
strong authentication binding priority than the issuer.
7. If one CA binds to MFA, all user certificates that the CA issues qualify as MFA. The same logic
applies for single-factor authentication.
8. If one policy OID binds to MFA, all user certificates that include this policy OID as one of the
OIDs (A user certificate could have multiple policy OIDs) qualify as MFA.
9. One certificate issuer can only have one valid strong authentication binding (that is, a certificate
can't bind to both single-factor and MFA).
) Important
There's a known issue where a Microsoft Entra Authentication Policy Administrator configures a
CBA authentication policy rule using both Issuer and Policy OID impacts some device registration
scenarios including:
Device registration with Workplace Join, Microsoft Entra ID and Hybrid Microsoft Entra device
join scenarios aren't impacted. CBA authentication policy rules using either Issuer OR Policy OID
aren't impacted. To mitigate, Authentication Policy Administrators should :
Edit the certificate-based authentication policy rules currently using both Issuer and Policy
OID options and remove either the Issuer or OID requirement and save. OR
Remove the authentication policy rule currently using both Issuer and Policy OID and
create rules using only issuer or policy OID
Mapping types based on user names and email addresses are considered low-affinity. Microsoft Entra
ID implements three mappings considered low-affinity based on reusable identifiers. The others are
considered high-affinity bindings. For more information, see certificateUserIds.
ノ Expand table
1. Look up the user object by using the username or User Principal Name.
2. Get the list of all username bindings setup by the Authentication Policy Administrator in the CBA
authentication method configuration ordered by the 'priority' attribute. Today the concept of
priority isn't exposed in Portal UX. Graph returns the priority attribute for each binding and
they're used in the evaluation process.
3. If the tenant has high affinity binding enabled or if the certificate value matches a custom rule
that required high affinity binding, remove all the low affinity bindings from the list.
4. Evaluate each binding in the list until a successful authentication occurs.
5. If the X.509 certificate field of the configured binding is on the presented certificate, Microsoft
Entra ID matches the value in the certificate field to the user object attribute value.
a. If a match is found, user authentication is successful.
b. If a match isn't found, move to the next priority binding.
6. If the X.509 certificate field isn't on the presented certificate, move to the next priority binding.
7. Validate all the configured username bindings until one of them results in a match and user
authentication is successful.
8. If a match isn't found on any of the configured username bindings, user authentication fails.
) Important
If you configure multiple bindings, Microsoft Entra CBA authentication is only as secure as your
lowest affinity binding because CBA validates each binding to authenticate the user. To prevent a
scenario where a single certificate matches multiple Microsoft Entra accounts, an Authentication
Policy Administrator can:
For example, lets suppose you have two username bindings on PrincipalName mapped to UPN and
SubjectKeyIdentifier (SKI) to certificateUserIds. If you want a certificate to only be used for a single
account, an Authentication Policy Administrator must make sure that account has the UPN that is
present in the certificate, and implement the SKI mapping in the certificateUserId attribute of the
same account.
Cloud only accounts For cloud-only accounts you can map multiple certificates (up to 5) for use by
populating the certificateUserIds field (Authorization info in the User Portal) with unique values
identifying each certificate. If the organization is using high affinity bindings say Issuer +
SerialNumber, values within CertificateUserIds may look like the following:
X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>cD2eF3gH4iJ5kL6mN7-oP8qR9sT
X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>eF3gH4iJ5kL6mN7oP8-qR9sT0uV
In this example the first value represents X509Certificate1 and the second value represents
X509Certificate2. The user may present either certificate at sign-in and as long as the CBA Username
Binding is set to point to the certificateUserIds field to look for the particular binding type (that is,
Issuer+SerialNumber in this example), then the user successfully signs in.
Hybrid Synchronized accounts For synchronized accounts you can map multiple certificates for use
by populating the altSecurityIdentities field in AD the values identifying each certificate. If the
organization is using high affinity (that is, strong authentication) bindings say Issuer + SerialNumber,
this could look like the following:
X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>cD2eF3gH4iJ5kL6mN7-oP8qR9sT
X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>eF3gH4iJ5kL6mN7oP8-qR9sT0uV
In this example the first value represents X509Certificate1 and the second value represents
X509Certificate2. These values must then be synchronized to the certificateUserIds field in Microsoft
Entra ID.
It isn't a very secure configuration to use same credential to authenticate into different Microsoft
Entra accounts and it's recommended not to allow one certificate for multiple Microsoft Entra
user accounts.
Cloud only accounts For cloud-only accounts you need to create multiple username bindings and
map unique values to each user account that is to use the certificate. Each account is authenticated
into using a different username binding. This applies within the boundary of a single directory/tenant
(that is, Authentication Policy Administrators can map the certificate for use in another
directory/tenant as well, as long as the values remain unique per account too).
Populate the certificateUserIds field (Authorization info in the User Portal) with a unique value
identifying the desired certificate. If the organization is using high affinity bindings (that is, strong
authentication) bindings say Issuer + SerialNumber and SKI, this could look like the following:
Username bindings:
X509:<SKI>cD2eF3gH4iJ5kL6mN7-oP8qR9sT
Now, when either user presents the same certificate at sign-in the user is successfully sign-in because
their account matches a unique value on that certificate. One account is authenticated into using
Issuer+SerialNumber and the other using SKI binding.
7 Note
The number of accounts that can be used in this manner is limited by the number of username
bindings configured on the tenant. If the organization is using only High Affinity bindings the
number of accounts supported is limited to 3. If the organization is also utilizing low affinity
bindings then this number increases to 7 accounts (1 PrincipalName, 1 RFC822Name, 1
SubjectKeyIdentifier, 1 SHA1PublicKey, 1 Issuer+Subject, 1 Issuer+SerialNumber, 1 Subject).
Hybrid Synchronized accounts For synchronized accounts the approach is different. While
Authentication Policy Administrators can map unique values to each user account that use the
certificate, the common practice of populating all values to each account in Microsoft Entra ID makes
this difficult. Instead, Microsoft Entra Connect should filter the desired values per account to unique
values populated into the account in Microsoft Entra ID. The uniqueness rule applies within the
boundary of a single directory/tenant (that is, Authentication Policy Administrators can map the
certificate for use in another directory/tenant as well, as long as the values remain unique per account
too). Further, the organization may have multiple AD forests contributing users into a single Microsoft
Entra tenant. In this case, Microsoft Entra Connect applies the filter to each of these AD forests with
the same goal to populate only a desired unique value to the cloud account.
Populate the altSecurityIdentities field in AD with the values identifying the desired certificate and to
include the desired certificate value for that user account type (such as detailee, admin, developer,
and so on). Select a key attribute in AD which tells the synchronization which user account type the
user is evaluating (such as msDS-cloudExtensionAttribute1). Populate this attribute with the user type
value you desire such as detailee, admin, or developer. If this is the user’s primary account, the value
can be left empty/null.
X509:<SHA1-PUKEY>cD2eF3gH4iJ5kL6mN7oP8qR9sT
X509:<PN>[email protected]
X509:<PN>[email protected]
X509:<SHA1-PUKEY>>cD2eF3gH4iJ5kL6mN7oP8qR9sT
X509:<PN>[email protected]
These values must then be synchronized to the certificateUserIds field in Microsoft Entra ID.
1. Configure Microsoft Entra Connect to add the alternativeSecurityIds field to the Metaverse
2. For each AD Forest, configure a new custom inbound rule with a high precedence (low number
below 100). Add an Expression transform with the altSecurityIdentities field as the source. The
target expression uses the Key Attribute that you selected and populated as well as the
mapping to the User Types that you defined.
3. For example:
PowerShell
In the example above, altSecurityIdentities and the key attribute msDS-cloudExtensionAttribute1is are
first checked to see if they're populated. If not, altSecurityIdentities is checked to see if it's populated.
If it's empty then we set it to NULL. Otherwise the account falls into the default case and in this
example we filter to only the Issuer+SerialNumber mapping. If the key attribute is populated, then
the value is checked to see if it's equal to one of our defined user types. In this example if that value
is detailee, then we filter to the SHA1PublicKey value from altSecurityIdentities. If the value is
developer, then we filter to the SubjectKeyIssuer value from altSecurityIdentities. There may be
multiple certificate values of a specific type. For example, multiple PrincipalName values or multiple
SKI or SHA1-PUKEY values. The filter gets all the values and sync into Microsoft Entra ID – not just the
first one it finds.
1. A second example that shows how to push an empty value if the control attribute is empty is:
PowerShell
If the value in altSecurityIdentities doesn't match any of the search values in the control attribute,
then an AuthoritativeNull is passed. This ensures that prior or subsequent rules which populate
alternativeSecurityId are ignored and the result is empty in Microsoft Entra ID.
1. Configure a new custom outbound rule with a low precedence (high number above 160 –
bottom of list).
2. Add a direct transform with the alternativeSecurityIds field as the source and the
certificateUserIds field as the target.
3. Run a synchronization cycle to complete the population of the data in Microsoft Entra ID.
Ensure that CBA in each tenant is configured with the Username Bindings pointing to the
certificateUserIds field for the field types that you have mapped from the certificate. Now any of
these users may present the certificate at sign-in and after the unique value from the certificate is
validated against the certificateUserIds field, that user is successfully signed-in.
Microsoft Entra ID downloads and caches the customers certificate revocation list (CRL) from their
certificate authority to check if certificates are revoked during the authentication of the user.
Authentication Policy Administrators can configure the CRL distribution point during the setup
process of the trusted issuers in the Microsoft Entra tenant. Each trusted issuer should have a CRL
that can be referenced by using an internet-facing URL.
) Important
The maximum size of a CRL for Microsoft Entra ID to successfully download on an interactive
sign-in and cache is 20 MB in public Microsoft Entra ID and 45 MB in Azure US Government
clouds, and the time required to download the CRL must not exceed 10 seconds. If Microsoft
Entra ID can't download a CRL, certificate-based authentications using certificates issued by the
corresponding CA fail. As a best practice to keep CRL files within size limits, keep certificate
lifetimes within reasonable limits and to clean up expired certificates. For more information, see
Is there a limit for CRL size?.
When a user performs an interactive sign-in with a certificate, and the CRL exceeds the interactive
limit for a cloud, their initial sign-in fails with the following error:
"The Certificate Revocation List (CRL) downloaded from {uri} has exceeded the maximum allowed size
({size} bytes) for CRLs in Microsoft Entra ID. Try again in few minutes. If the issue persists, contact your
tenant administrators."
After the error, Microsoft Entra ID attempts to download the CRL subject to the service-side limits (45
MB in public Microsoft Entra ID and 150 MB in Azure US Government clouds).
) Important
If an Authentication Policy Administrator skips the configuration of the CRL, Microsoft Entra ID
doesn't perform any CRL checks during the certificate-based authentication of the user. This can
be helpful for initial troubleshooting, but shouldn't be considered for production use.
As of now, we don't support Online Certificate Status Protocol (OCSP) because of performance and
reliability reasons. Instead of downloading the CRL at every connection by the client browser for
OCSP, Microsoft Entra ID downloads once at the first sign-in and caches it. This action improves the
performance and reliability of CRL verification. We also index the cache so the search is much faster
every time. Customers must publish CRLs for certificate revocation.
1. Microsoft Entra ID attempts to download the CRL at the first sign-in event of any user with a
certificate of the corresponding trusted issuer or certificate authority.
2. Microsoft Entra ID caches and reuses the CRL for any subsequent usage. It honors the Next
update date and, if available, Next CRL Publish date (used by Windows Server CAs) in the CRL
document.
3. The user certificate-based authentication fails if:
A CRL is configured for the trusted issuer and Microsoft Entra ID can't download the CRL,
due to availability, size, or latency constraints.
7 Note
Microsoft Entra ID checks the CRL of the issuing CA and other CAs in the PKI trust chain up to
the root CA. We have a limit of up to 10 CAs from the leaf client certificate for CRL validation in
the PKI chain. The limitation is to make sure a bad actor doesn't bring down the service by
uploading a PKI chain with a huge number of CAs with a bigger CRL size. If the tenant's PKI chain
has more than 5 CAs, andif there's a CA compromise, Authentication Policy Administrators
should remove the compromised trusted issuer from the Microsoft Entra tenant configuration.
) Important
Due to the nature of CRL caching and publishing cycles, it's highly recommended that, if there's
a certificate revocation, to also revoke all sessions of the affected user in Microsoft Entra ID.
As of now, there's no way to manually force or retrigger the download of the CRL.
To ensure that the revocation persists, you must set the Effective Date of the CRL to a date after the
value set by StsRefreshTokensValidFrom and ensure the certificate in question is in the CRL.
The following steps outline the process for updating and invalidating the authorization token by
setting the StsRefreshTokensValidFrom field.
https
The date you set must be in the future. If the date is not in the future, the
StsRefreshTokensValidFrom property is not set. If the date is in the future,
StsRefreshTokensValidFrom is set to the current time (not the date indicated by Set-MsolUser
command).
Once enabled, any CBA fail is because the end user certificate was issued by a CA with no CRL
configured.
An Authentication Policy Administrator can exempt a CA if its CRL has issues that should be fixed.
Select Add Exemption and select any CAs that should be exempted.
The CAs in the exempted list aren't required to have CRL configured and the end-user certificates that
they issue don't fail authentication.
7 Note
There's a known issue with the object picker where the selected items aren't displayed correctly.
Use the Certificate Authorities tab to select or remove CAs.
You can use the built-in Phishing-resistant MFA authentication strength. That policy only allows
authentication methods that are phishing-resistant like CBA, FIDO2 security keys, and Windows Hello
for Business.
You can also create a custom authentication strength to allow only CBA to access sensitive resources.
You can allow CBA as a single-factor, multifactor, or both. For more information, see Conditional
Access authentication strength.
Let's walk through two scenarios, one where the certificate satisfies single-factor authentication and
another where the certificate satisfies MFA.
For the test scenarios, choose a user with a Conditional Access policy that requires MFA. Configure
the user binding policy by mapping SAN Principal Name to UserPrincipalName.
When users sign-in with CBA fails, please copy the log details from 'More Details' link in the error
page. For more detailed info, look at understanding CBA error page
1. Sign in to the Microsoft Entra admin center as the test user by using CBA. The authentication
policy is set where Issuer subject rule satisfies single-factor authentication.
Let's look closer at some of the entries you can find in the Sign-in logs.
The first entry requests the X.509 certificate from the user. The status Interrupted means that
Microsoft Entra ID validated that CBA is enabled in the tenant and a certificate is requested for
authentication.
The Activity Details shows this is just part of the expected sign-in flow where the user selects a
certificate.
1. Sign in to the Microsoft Entra admin center using CBA. Since the policy was set to satisfy
multifactor authentication, the user sign-in is successful without a second factor.
You'll see several entries in the Sign-in logs, including an entry with Interrupted status.
The Activity Details shows this is just part of the expected sign-in flow where the user selects a
certificate.
The entry with Interrupted status has more diagnostic info on the Additional Details tab.
The following table has a description of each field.
ノ Expand table
Field Description
User certificate subject name Refers to the subject name field in the certificate.
User certificate binding Certificate: Principal Name; User Attribute: userPrincipalName; Rank: 1
This shows which SAN PrincipalName certificate field was mapped to
userPrincipalName user attribute and was priority 1.
Select More details to get logging information that can be sent to an Authentication Policy
Administrator, who in turn can get more information from the Sign-in logs.
Select Other ways to sign in to try other methods available to the user to sign in.
7 Note
If you retry CBA in a browser, it'll keep failing due to the browser caching issue. Users need to
open a new browser session and sign in again.
Certificate-based authentication in
MostRecentlyUsed (MRU) methods
Once a user authenticates successfully using CBA, the user's MostRecentlyUsed (MRU) authentication
method is set to CBA. Next time, when the user enters their UPN and selects Next, the user is taken
to the CBA method directly, and need not select Use the certificate or smart card.
To reset the MRU method, the user needs to cancel the certificate picker, select Other ways to sign
in, and select another method available to the user and authenticate successfully.
Next steps
Overview of Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
Windows smart card logon using Microsoft Entra CBA
Certificate user IDs
How to migrate federated users
FAQ
Troubleshoot Microsoft Entra CBA
Feedback
Was this page helpful? Yes No
During sign-in, users also see an option to authenticate with a certificate instead of
entering a password. If multiple matching certificates are present on the device, the user
can pick which one to use. The certificate is validated against the user account and if
successful, they sign in.
Follow these instructions to configure and use Microsoft Entra CBA for tenants in Office
365 Enterprise and US Government plans. You should already have a public key
infrastructure (PKI) configured.
Prerequisites
Make sure that the following prerequisites are in place:
Configure at least one certificate authority (CA) and any intermediate CAs in
Microsoft Entra ID.
The user must have access to a user certificate (issued from a trusted Public Key
Infrastructure configured on the tenant) intended for client authentication to
authenticate against Microsoft Entra ID.
Each CA should have a certificate revocation list (CRL) that can be referenced from
internet-facing URLs. If the trusted CA doesn't have a CRL configured, Microsoft
Entra ID doesn't perform any CRL checking, revocation of user certificates doesn't
work, and authentication isn't blocked.
) Important
Make sure the PKI is secure and can't be easily compromised. In the event of a
compromise, the attacker can create and sign client certificates and compromise
any user in the tenant, both users whom are synchronized from on-premises and
cloud-only users. However, a strong key protection strategy, along with other
physical and logical controls, such as HSM activation cards or tokens for the secure
storage of artifacts, can provide defense-in-depth to prevent external attackers or
insider threats from compromising the integrity of the PKI. For more information,
see Securing PKI.
) Important
Please visit the Microsoft recommendations for best practices for Microsoft
Cryptographic involving algorithm choice, key length and data protection. Please
make sure to use one of the recommended algorithms, key length and NIST
approved curves.
) Important
TLS 1.3 is the latest version of the internet’s most deployed security protocol, which
encrypts data to provide a secure communication channel between two endpoints.
TLS 1.3 eliminates obsolete cryptographic algorithms, enhances security over older
versions, and aims to encrypt as much of the handshake as possible. We highly
recommend for developers to start testing TLS 1.3 in their applications and services.
7 Note
) Important
Microsoft recommends that you use roles with the fewest permissions. This practice
helps improve security for your organization. Global Administrator is a highly
privileged role that should be limited to emergency scenarios or when you can't
use an existing role.
Optionally, you can also configure authentication bindings to map certificates to single-
factor or multifactor authentication, and configure username bindings to map the
certificate field to an attribute of the user object. Authentication Policy Administrators
can configure user-related settings. Once all the configurations are complete, enable
Microsoft Entra CBA on the tenant.
7 Note
If you use the old trust store to configure CAs, we recommended you configure a
PKI-based trust store.
An admin must configure the trusted CAs that issue user certificates. Only least-
privileged administrators are needed to make changes. A PKI-based trust store has
RBAC role Privilege Authentication Administrator.
Upload PKI feature of the PKI-based trust store is available only with Microsoft Entra ID
P1 or P2 license. However, with free license as well, admins can upload all the CAs
individually instead of the PKI file and configure the PKI-based trust store.
3. Browse to Protection > Show more > Security Center (or Identity Secure Score) >
Public key infrastructure (Preview).
6. Click Create.
7. Select Columns to add or delete columns.
1. To delete a PKI, select the PKI and select Delete. If the PKI has CAs in it, enter the
name of the PKI to acknowledge the deletion of all CAs within it and select Delete.
d. For Certificate Revocation List URL, set the internet-facing URL for the CA base
CRL that contains all revoked certificates. If the URL isn't set, authentication with
revoked certificates doesn't fail.
e. For Delta Certificate Revocation List URL, set the internet-facing URL for the
CRL that contains all revoked certificates since the last base CRL was published.
f. The Issuer hints flag is enabled by default. Turn off Issuer hints if the CA
shouldn't be included in issuer hints.
g. Select Save.
Upload all CAs with upload PKI into PKI container object
To generate the SHA256 checksum of the PKI .p7b file, run this command:
PowerShell
Edit a CA
1. To edit CA, select ... on the CA row and select Edit.
2. Enter new values for Certificate Authority type (root/intermediate), CRL URL, Delta
CRL URL, Issuer Hints enabled flag as necessary and select Save.
Restore a PKI
1. Select the Deleted PKIs tab.
2. Select the PKI and select Restore PKI.
Restore a CA
1. Select the Deleted CAs tab.
2. Select the CA file and select Restore certificate authority.
Issuer hints send back a Trusted CA Indication as part of the Transport Layer Security
(TLS) handshake. The trusted CA list is set to the subject of the CAs uploaded by the
tenant in the Entra trust store. For more information about issuer hints, see
Understanding Issuer Hints.
By default, the subject names of all CAs in the Microsoft Entra trust store are sent as
hints. If you want to send back a hint with only specific CAs, set the issuer hint attribute
isIssuerHintEnabled to true .
There's a character limit of 16 KB for the issuer hints (subject name of the CA) that the
server can send back to the TLS client. As a good practice, set the attribute
isIssuerHintEnabled to true only for the CAs that issue user certificates.
If multiple intermediate CAs from the same root certificate issue the end user
certificates, then by default all the certificates show up in the certificate picker. But if you
set isIssuerHintEnabled to true for specific CAs, only the proper user certificates appear
in the certificate picker. To enable isIssuerHintEnabled, edit the CA, and update the
value to true .
Configure certificate authorities using the Microsoft
Graph APIs
Microsoft Graph APIs can be used to configure CAs. The following examples show how
to use Microsoft Graph to run Create, Read, Update, or Delete (CRUD) operations for a
PKI or CA.
HTTP
PATCH
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations/
Content-Type: application/json
{
"displayName": "ContosoPKI"
}
HTTP
GET
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations
ConsistencyLevel: eventual
HTTP
GET
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations/{PKI-id}/
ConsistencyLevel: eventual
HTTP
PATCH
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations/{PKI-id}/certificateAuthorities/{CA-id}
Content-Type: application/json
{
"uploadUrl":"https://CBA/demo/CBARootPKI.p7b,
"sha256FileHash":
"AAAAAAD7F909EC2688567DE4B4B0C404443140D128FE14C577C5E0873F68C0FE861E6F"
}
HTTP
GET
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations/{PKI-id}/certificateAuthorities
ConsistencyLevel: eventual
HTTP
GET
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations/{PKI-id}/certificateAuthorities/{CA-id}
ConsistencyLevel: eventual
HTTP
PATCH
https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certifica
teBasedAuthConfigurations/{PKI-id}/certificateAuthorities/{CA-id}
Content-Type: application/json
{
"isIssuerHintEnabled": true
}
Configure certificate authorities (CA) using PowerShell For this configuration, you can
use [Microsoft Graph PowerShell] (/powershell/microsoftgraph/installation).
PowerShell
Audit log
Any CRUD operations on a PKI or CA within the trust store are logged into the Microsoft
Entra audit logs.
FAQs
Question: Why does upload PKI fail?
Answer: Check if the PKI file is valid and can be accessed without any issues. The max
size of PKI file should be
Question: What is the service level agreement (SLA) for PKI upload?
Answer: PKI upload is an asynchronous operation and may take up to 30 minutes for
completion.
PowerShell
) Important
A user is considered capable for MFA when the user is in scope for Certificate-
based authentication in the Authentication methods policy. This policy
requirement means a user can't use proof up as part of their authentication to
register other available methods. If the users don't have access to certificates, they
get locked out and can't register other methods for MFA. Authentication Policy
Administrators need to enable CBA only for users who have valid certificates. Don't
include All users for CBA. Only use groups of users with valid certificates available.
For more information, see Microsoft Entra multifactor authentication.
To enable CBA in the Microsoft Entra admin center, complete the following steps:
2. Browse to Groups > All groups > select New group and create a group for CBA
users.
6. Choose specific groups like the one you created, and click Select. Use specific
groups rather than All users.
7 Note
The network administrator should allow access to certauth endpoint for the
customer's cloud environment in addition to login.microsoftonline.com . Disable
TLS inspection on the certauth endpoint to make sure the client certificate request
succeeds as part of the TLS handshake.
) Important
Admin should set the tenant default to a value that is applicable for most
certificates and create custom rules only for specific certificates that needs different
protection level and/or affinity binding than tenant default. All the authentication
methods configuration go into the same policy file so creating multiple redundant
rules can hit the policy file limit.
Authentication binding rules map certificate attributes, such as Issuer, or Policy Object
ID (OID), or Issuer and Policy OID, to a value and select default protection level as well as
affinity binding for that rule. To modify tenant default settings and create custom rules
in the Microsoft Entra admin center, complete the following steps:
7 Note
The default protection level value is in effect if no custom rules are added. If
custom rules are added, the protection level defined at the rule level is
honored instead.
6. You can also set up custom authentication binding rules to help determine the
protection level for client certificates that need different values for protection level
or affinity binding than tenant default. The rules can be configured using either the
issuer Subject or Policy OID or both fields in the certificate.
Authentication binding rules map the certificate attributes (issuer or Policy OID) to
a value, and select default protection level for that rule. Multiple rules can be
created. For the config below let us assume the tenant default is Multifactor
authentication and Low affinity binding.
b. Select Multifactor authentication but High affinity binding, and then click Add.
When prompted, click I acknowledge to finish adding the rule.
To create a rule by Policy OID, select Policy OID.
b. Select Single-factor authentication, Low affinity binding, and then click Add.
When prompted, click I acknowledge to finish adding the rule.
f. Authenticate with a certificate that has policy OID of 3.4.5.6 and Issued by
CN=CBATestRootProd. Authentication should pass and get a multifactor claim.
) Important
Device registration with Workplace Join, Microsoft Entra ID and Hybrid Microsoft
Entra device join scenarios aren't impacted. CBA authentication policy rules using
either Issuer OR Policy OID aren't impacted. To mitigate, admins should:
Edit the certificate-based authentication policy rules that use both Issuer and
Policy OID options. Remove either the Issuer or Policy OID requirement and
Save. -Or-
Remove the authentication policy rule that uses both Issuer and Policy OID.
Create rules that use only Issuer or Policy OID.
1. Add an authentication binding policy. The policy requires that any certificate
issued by CN=CBATestRootProd with policyOID 1.2.3.4.6 needs only high affinity
binding. Issuer and serial number are used.
2. Select the certificate field. In this example, let's select Issuer and Serial number.
4. Select Save.
The sign-in log shows which binding was used for sign-in, and the details from the
certificate.
5. Select Ok to save any custom rule.
) Important
Enter the PolicyOID by using the object identifier format . For example, if the
certificate policy says All Issuance Policies, enter the OID as 2.5.29.32.0 when you
add the rule. The string All Issuance Policies is invalid for the rules editor and
doesn't take effect.
An Authentication Policy Administrator can override the default and create a custom
mapping. To determine how to configure username binding, see How username binding
works.
For other scenarios that use the certificateUserIds attribute, see Certificate user IDs.
) Important
1. Create the username binding by selecting one of the X.509 certificate fields to bind
with one of the user attributes. The username binding order represents the priority
level of the binding. The first one has the highest priority, and so on.
If the specified X.509 certificate field is found on the certificate, but Microsoft Entra
ID doesn't find a user object using that value, the authentication fails. Microsoft
Entra ID tries the next binding in the list.
2. Select Next.
If you enabled other authentication methods like Phone sign-in or FIDO2, users
might see a different sign-in screen.
4. Pick the correct user certificate in the client certificate picker UI and select OK.
5. Users should be signed into MyApps portal .
2. Create a policy OID rule, with protection level as multifactor authentication and
value set to one of the policy OIDs in your certificate. For example, 1.2.3.4.
10. The policy OID in the certificate matches the configured value of 1.2.3.4, and
satisfies multifactor authentication. Similarly, the issuer in the certificate matches
the configured value of CN=WoodgroveCA, and satisfies single-factor
authentication.
11. Because the policy OID rule takes precedence over the issuer rule, the certificate
satisfies multifactor authentication.
12. The Conditional Access policy for the user requires MFA and the certificate satisfies
multifactor, so the user can sign in to the application.
For cloud only users, use the Microsoft Entra admin center or Microsoft Graph APIs
to update the value in CertificateUserIds.
For on-premises synced users, use Microsoft Entra Connect to sync the values from
on-premises by following Microsoft Entra Connect Rules or syncing AltSecId value.
) Important
The format of the values of Issuer, Subject, and SerialNumber should be in the
reverse order of their format in the certificate. Don't add any space in the Issuer or
Subject.
C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate
To get the correct value for serial number, run the following command, and store the
value shown in CertificateUserIds. The command syntax is:
For example:
X509 Certificate:
Version: 3
Serial Number: 48efa06ba8127299499b069f133441b2
b2 41 34 13 9f 06 9b 49 99 72 12 a8 6b a0 ef 48
b24134139f069b49997212a86ba0ef48
CertificateUserId:
X509:
<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCe
rtificate<SR> b24134139f069b49997212a86ba0ef48
CertificateUserId:
X509:
<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCe
rtificate<S>
DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession
Subject manual mapping
Here's an example for Subject manual mapping. The Subject value is:
CertificateUserId:
X509:<S>DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession
4. Select Configure.
) Important
Be careful with the tenant-wide affinity setting. You can lock out the entire
tenant if you change the Required Affinity Binding for the tenant and you
don't have proper values in the user object. Similarly, if you create a custom
rule that applies to all users and requires high affinity binding, users in the
tenant can get locked out.
6. To test, select Required Affinity Binding to be Low.
7. Add a high affinity binding like SKI. Select Add rule under Username binding.
9. Update all user objects CertificateUserIds attribute to have the correct value of SKI
from the user certificate. For more information, see Supported patterns for
CertificateUserIDs.
13. Test with a certificate with policy OID 9.8.7.5 and the user should be authenticated
with SKI binding and get MFA with only the certificate.
HTTP
GET
https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
GET
https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy/a
uthenticationMethodConfigurations/X509Certificate
Request body:
HTTP
PATCH
https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/a
uthenticationMethodConfigurations/x509Certificate
Content-Type: application/json
{
"@odata.type":
"#microsoft.graph.x509CertificateAuthenticationMethodConfiguration",
"id": "X509Certificate",
"state": "enabled",
"certificateUserBindings": [
{
"x509CertificateField": "PrincipalName",
"userProperty": "onPremisesUserPrincipalName",
"priority": 1
},
{
"x509CertificateField": "RFC822Name",
"userProperty": "userPrincipalName",
"priority": 2
},
{
"x509CertificateField": "PrincipalName",
"userProperty": "certificateUserIds",
"priority": 3
}
],
"authenticationModeConfiguration": {
"x509CertificateAuthenticationDefaultMode":
"x509CertificateSingleFactor",
"rules": [
{
"x509CertificateRuleType": "issuerSubject",
"identifier": "CN=WoodgroveCA ",
"x509CertificateAuthenticationMode":
"x509CertificateMultiFactor"
},
{
"x509CertificateRuleType": "policyOID",
"identifier": "1.2.3.4",
"x509CertificateAuthenticationMode":
"x509CertificateMultiFactor"
}
]
},
"includeTargets": [
{
"targetType": "group",
"id": "all_users",
"isRegistrationRequired": false
}
]
}
7. You get a 204 No content response code. Rerun the GET request to make sure the
policies are updated correctly.
8. Test the configuration by signing in with a certificate that satisfies the policy.
PowerShell
PowerShell
PowerShell
$body = @{
"@odata.type" =
"#microsoft.graph.x509CertificateAuthenticationMethodConfiguration"
"id" = "X509Certificate"
"state" = "enabled"
"certificateUserBindings" = @(
@{
"@odata.type" = "#microsoft.graph.x509CertificateUserBinding"
"x509CertificateField" = "SubjectKeyIdentifier"
"userProperty" = "certificateUserIds"
"priority" = 1
},
@{
"@odata.type" = "#microsoft.graph.x509CertificateUserBinding"
"x509CertificateField" = "PrincipalName"
"userProperty" = "UserPrincipalName"
"priority" = 2
},
@{
"@odata.type" = "#microsoft.graph.x509CertificateUserBinding"
"x509CertificateField" = "RFC822Name"
"userProperty" = "userPrincipalName"
"priority" = 3
}
)
"authenticationModeConfiguration" = @{
"@odata.type" =
"#microsoft.graph.x509CertificateAuthenticationModeConfiguration"
"x509CertificateAuthenticationDefaultMode" =
"x509CertificateMultiFactor"
"rules" = @(
@{
"@odata.type" = "#microsoft.graph.x509CertificateRule"
"x509CertificateRuleType" = "policyOID"
"identifier" = "1.3.6.1.4.1.311.21.1"
"x509CertificateAuthenticationMode" =
"x509CertificateMultiFactor"
}
)
}
"includeTargets" = @(
@{
"targetType" = "group"
"id" = $group.Id
"isRegistrationRequired" = $false
}
) } | ConvertTo-Json -Depth 5
PowerShell
Feedback
Was this page helpful? Yes No
The best way to configure the certificate authorities (CAs) is with the PKI-based trust
store (Preview). You can delegate configuration with a PKI-based trust store to least
privileged roles. For more information see, Step 1: Configure the certificate authorities
with PKI-based trust store (Preview).
As an alternative, a Global Administrator can follow steps in this topic to configure CAs
by using the Microsoft Entra admin center, or Microsoft Graph REST APIs and the
supported software development kits (SDKs), such as Microsoft Graph PowerShell.
) Important
Microsoft recommends that you use roles with the fewest permissions. This practice
helps improve security for your organization. Global Administrator is a highly
privileged role that should be limited to emergency scenarios or when you can't
use an existing role.
The public key infrastructure (PKI) infrastructure or PKI admin should be able to provide
the list of issuing CAs.
To make sure you configured all the CAs, open the user certificate and click Certification
path tab. Make sure every CA until the root is uploaded to the Microsoft Entra ID trust
store. Microsoft Entra certificate-based authentication (CBA) fails if there are missing
CAs.
) Important
Microsoft recommends that you use roles with the fewest permissions. This practice
helps improve security for your organization. Global Administrator is a highly
privileged role that should be limited to emergency scenarios or when you can't
use an existing role.
2. Browse to Protection > Show more > Security Center (or Identity Secure Score) >
Certificate authorities.
c. For Certificate Revocation List URL, set the internet-facing URL for the CA base
CRL that contains all revoked certificates. If the URL isn't set, authentication with
revoked certificates doesn't fail.
d. For Delta Certificate Revocation List URL, set the internet-facing URL for the
CRL that contains all revoked certificates since the last base CRL was published.
e. Select Add.
7 Note
Upload of a new CA fails if any existing CA expired. You should delete any expired
CA, and retry to upload the new CA.
Configure certificate authorities (CA) using PowerShell
Only one CRL Distribution Point (CDP) for a trusted CA is supported. The CDP can only
be HTTP URLs. Online Certificate Status Protocol (OCSP) or Lightweight Directory Access
Protocol (LDAP) URLs aren't supported.
To configure your certificate authorities in Microsoft Entra ID, for each certificate
authority, upload the following:
C#
class TrustedCAsForPasswordlessAuth
{
CertificateAuthorityInformation[] certificateAuthorities;
}
class CertificateAuthorityInformation
{
CertAuthorityType authorityType;
X509Certificate trustedCertificate;
string crlDistributionPoint;
string deltaCrlDistributionPoint;
string trustedIssuer;
string trustedIssuerSKI;
}
enum CertAuthorityType
{
RootAuthority = 0,
IntermediateAuthority = 1
}
PowerShell
Install-Module Microsoft.Graph
As a first configuration step, you need to establish a connection with your tenant. As
soon as a connection to your tenant exists, you can review, add, delete, and modify the
trusted certificate authorities that are defined in your directory.
Connect
To establish a connection with your tenant, use Connect-MgGraph:
PowerShell
Connect-MgGraph
Retrieve
To retrieve the trusted certificate authorities that are defined in your directory, use Get-
MgOrganizationCertificateBasedAuthConfiguration.
PowerShell
Get-MgOrganizationCertificateBasedAuthConfiguration
Add
7 Note
Upload of new CAs will fail when any of the existing CAs are expired. Tenant Admin
should delete the expired CAs and then upload the new CA.
Follow the preceding steps to add a CA in the Microsoft Entra admin center.
AuthorityType
crlDistributionPoint
Download the CRL and compare the CA certificate and the CRL information. Make sure
the crlDistributionPoint value in the preceding PowerShell example is valid for the CA
you want to add.
The following table and graphic show how to map information from the CA certificate to
the attributes of the downloaded CRL.
ノ Expand table
Subject = Issuer
Tip
The value for crlDistributionPoint in the preceding example is the http location for
the CA’s Certificate Revocation List (CRL). This value can be found in a few places:
In the CRL Distribution Point (CDP) attribute of a certificate issued from the
CA.
To validate the CA configuration, install the MSIdentity Tools PowerShell module, and
run Test-MsIdCBATrustStoreConfiguration . This PowerShell cmdlet reviews the
Microsoft Entra tenant CA configuration. It reports errors and warnings for common
misconfigurations.
Related content
How to configure Microsoft Entra certificate-based authentication
Feedback
Was this page helpful? Yes No
Microsoft Entra users can authenticate using X.509 certificates on their smart cards
directly against Microsoft Entra ID at Windows sign-in. There's no special configuration
needed on the Windows client to accept the smart card authentication.
User experience
Follow these steps to set up Windows smart card sign-in:
1. Join the machine to either Microsoft Entra ID or a hybrid environment (hybrid join).
3. Make sure the user is either on managed authentication or using Staged Rollout.
5. Select the smart card icon, enter the PIN, and authenticate the user.
Users will get a primary refresh token (PRT) from Microsoft Entra ID after the successful
sign-in. Depending on the CBA configuration, the PRT will contain the multifactor claim.
Some customers may maintain different and sometimes may have non-routable UPN
values in Active Directory (such as [email protected]) In these cases the value sent
by Windows may not match the users Microsoft Entra UPN. To support these scenarios
where Microsoft Entra ID can't match the value sent by Windows, a subsequent lookup
is performed for a user with a matching value in their onPremisesUserPrincipalName
attribute. If the sign-in is successful, Windows will cache the users Microsoft Entra UPN
and is sent in subsequent sign-ins.
7 Note
In all cases, a user supplied username login hint (X509UserNameHint) will be sent if
provided. For more information, see User Name Hint
) Important
For more information about the Windows flow, see Certificate Requirements and
Enumeration (Windows).
Windows 11 - kb5017383
Windows 10 - kb5017379
Windows Server 20H2- kb5017380
Windows Server 2022 - kb5017381
Windows Server 2019 - kb5017379
Supported browsers
ノ Expand table
✅ ✅ ✅ ✅
7 Note
Microsoft Entra CBA supports both certificates on-device as well as external storage
like security keys on Windows.
Next steps
Overview of Microsoft Entra CBA
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
Certificate user IDs
How to migrate federated users
FAQ
Feedback
Was this page helpful? Yes No
This topic covers Microsoft Entra certificate-based authentication (CBA) support for
macOS and iOS devices.
ノ Expand table
✅ ✅ ✅ ✅
Prerequisites
iOS version must be iOS 9 or later.
Microsoft Authenticator is required for Office applications and Outlook on iOS.
Supported platforms
Only native browsers are supported
Applications using latest MSAL libraries or Microsoft Authenticator can do CBA
Edge with profile, when users add account and logged in a profile support CBA
Microsoft first party apps with latest MSAL libraries or Microsoft Authenticator can
do CBA
Browsers
ノ Expand table
❌ ❌ ✅ ❌
ノ Expand table
Applications Support
Company Portal ✅
Microsoft Teams ✅
Applications Support
Office (mobile) ✅
OneNote ✅
OneDrive ✅
Outlook ✅
Power BI ✅
Yammer ✅
To determine if your email application supports Microsoft Entra CBA, contact your
application developer.
As for iOS 16/iPadOS 16.1, Apple devices provide native driver support for USB-C or
Lightning connected CCID-compliant smart cards. This means Apple devices on iOS
16/iPadOS 16.1 see a USB-C or Lightning connected CCID-compliant device as a smart
card without the use of additional drivers or third-party apps. Microsoft Entra CBA works
on these USB-A, USB-C, or Lightning connected CCID-compliant smart cards.
The user should be successfully logged in and redirected to the Outlook homepage.
The iOS certificate picker shows all the certificates on both iOS device and the ones
copied from YubiKey into iOS device. Depending on the certificate user picks, they may
be taken to YubiKey authenticator to enter a PIN, or directly authenticated.
Users should see a dialog informing you that too many PIN attempts have been
made. This dialog also pops up during subsequent attempts to select Use
Certificate or smart card.
YubiKey Manager can reset a YubiKey’s PIN.
After CBA fails, the CBA option in the ‘Other ways to sign in’ link
also fails. Is there a workaround?
This issue happens because of certificate caching. We're working on an update to clear
the cache. As a workaround, select Cancel, retry sign-in, and choose a new certificate.
ノ Expand table
Supported browsers
ノ Expand table
iOS ❌ ❌ ✅ ✅ ❌ ❌
ノ Expand table
Provider iOS
YubiKey ✅
Known issues
On iOS, users with certificate-based authentication will see a "double prompt",
where they must select the option to use certificate-based authentication twice.
On iOS, users with Microsoft Authenticator App will also see hourly login prompt
to authenticate with CBA if there's an Authentication Strength policy enforcing
CBA, or if they use CBA as the second factor.
On iOS, an auth strength policy requiring CBA and an MAM app protection policy
will end up in a loop between device registration and MFA satisfaction. Due to the
bug on iOS, when a user uses CBA to satisfy MFA requirement, the MAM policy is
not satisfied with error being thrown by server saying device registration is
required, even though the device is registered. This incorrect error causes re-
registration and the request is stuck in loop of using CBA to sign in and device
need registration. Due to the above issues, CBA as a second factor is blocked on
iOS and will be unblocked as soon as the fixes are fixed.
Next steps
Overview of Microsoft Entra CBA
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on Android devices
Windows smart card logon using Microsoft Entra CBA
Certificate user IDs
How to migrate federated users
FAQ
Feedback
Was this page helpful? Yes No
Prerequisites
Android version must be Android 5.0 (Lollipop) or later.
Microsoft first-party apps with latest MSAL libraries or Microsoft Authenticator can
do CBA.
Third party applications using latest MSAL libraries or integrated with Microsoft
Authenticator can do CBA.
1. Open Outlook.
2. Select Add account and enter your user principal name (UPN).
3. Click Continue.
4. Select Use Certificate or smart card.
5. Select Certificate on the device in the dialog**.**
6. The certificate picker appears.
7. Select the certificate associated with the user’s account. Click Continue.
8. User is allowed to access the Outlook resource if the authentication is successful.
Have the roaming nature of a security key, which allows users to use the same
certificate on different devices.
Are hardware-secured with a PIN, which makes them phishing-resistant.
Provide multifactor authentication with a PIN as second factor to access the private
key of the certificate.
Satisfy the industry requirement to have MFA on separate device.
Help in future proofing where multiple credentials can be stored including Fast
Identity Online 2 (FIDO2) keys.
Because Microsoft Entra CBA with YubiKey on Android mobile is enabled by using the
latest MSAL, YubiKey Authenticator app isn't required for Android support.
7 Note
For a smooth CBA flow, plug in YubiKey as soon as the application is opened and
accept the consent dialog from YubiKey before selecting the link Use Certificate or
smart card. If you want to experience only a single connection, consider having
users plug in the YubiKey by using USB instead of NFC, which only needs to be
done once at the beginning of login.
ノ Expand table
Applications Support
Company Portal ✅
Microsoft Teams ✅
Office (mobile) ✅
OneNote ✅
OneDrive ✅
Outlook ✅
Power BI ✅
Yammer ✅
ノ Expand table
7 Note
Although Edge as a browser isn't supported, Edge as a profile (for account login) is
an MSAL app that supports CBA on Android.
Operating systems
ノ Expand table
ノ Expand table
Provider Android
YubiKey ✅
What will happen if the user has certificates both on the Android
device and YubiKey?
If the user has certificates both on the android device and YubiKey, then if the
YubiKey is plugged in before user clicks Use Certificate or smart card, the user will
be shown the certificates in the YubiKey.
If the YubiKey isn't plugged in before user clicks Use Certificate or smart card, the
user will be asked to select between certificates on device or physical smart card. If
the user chooses Certificate on device, the user will be shown the certificates on
the device. If the user chooses Certificates on physical smart card, plug in or hold
the YubiKey to the back, and the user will be shown the certificates in the YubiKey.
Users should see a dialog informing you that too many PIN attempts have been
made. This dialog also pops up during subsequent attempts to select Use
Certificate or smart card.
Users should contact the admin to reset a YubiKey PIN.
Microsoft Entra CBA supports using YubiKey with USB and NFC.
Once CBA fails, clicking on the CBA option again in the ‘Other ways
to sign in’ link on the error page fails.
This issue happens because of certificate caching. As a workaround, clicking cancel and
restarting the login flow will let the user choose a new certificate and successfully login.
1. Open Microsoft Authenticator app, click the three dots icon in the top right corner
and select Send Feedback.
2. Click Having Trouble?.
3. For Select an option, select Add or sign into an account.
4. Describe any details you want to add.
5. Click the send arrow in the top right corner. Note the code provided in the dialog
that appears.
Next steps
Overview of Microsoft Entra CBA
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Windows SmartCard logon using Microsoft Entra CBA
Certificate user IDs
How to migrate federated users
FAQ
Feedback
Was this page helpful? Yes No
7 Note
Although each value must be unique in Microsoft Entra ID, you can map a single
certificate to multiple accounts by implementing multiple username bindings. For more
information, see Multiple username bindings.
ノ Expand table
PrincipalName X509:<PN>[email protected]
PrincipalName X509:<PN>bob@woodgrove
RFC822Name X509:<RFC822>[email protected]
IssuerAndSubject X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-
CA<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
Subject X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=mfatest
SKI X509:<SKI>aB1cD2eF3gH4iJ5kL6mN7oP8qR
SHA1PublicKey X509:<SHA1-PUKEY>cD2eF3gH4iJ5kL6mN7oP8qR9sT
Certificate mapping Examples of values in certificateUserIds
Field
IssuerAndSerialNumber X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>eF3gH4iJ5kL6mN7oP8qR9sT0uV
To get the correct value for serial number, run this command and store the
value shown in certificateUserIds:
Syntax:
Certutil –dump –v [~certificate path~] >> [~dumpFile path~]
Example:
certutil -dump -v firstusercert.cer >> firstCertDump.txt
Synchronized users must have at least Hybrid Identity Administrator role to update
certificateUserIds. Only Microsoft Entra Connect can be used to update certificateUserIds by
synchronizing the value from on-premises.
7 Note
Active Directory administrators can make changes that impact the certificateUserIds value
in Microsoft Entra ID for any synchronized account. Administrators can include accounts
with delegated administrative privilege over synchronized user accounts, or administrative
rights over the Microsoft Entra Connect servers.
More information at Microsoft Entra PowerShell Installation and Microsoft Graph PowerShell.
1. Start PowerShell.
2. Install and import the Microsoft Graph PowerShell SDK.
PowerShell
PowerShell
Get-EntraUserCBAAuthorizationInfo
Get-EntraUserCBAAuthorizationInfo helps retrieve authorization information for a Microsoft
Entra ID user, including certificate-based authentication identifiers.
PowerShell
Response:
ノ Expand table
Attribute Value
Id aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
UserPrincipalName [email protected]
UserType Member
AuthorizationInfo @{CertificateUserIds=System.Object[];
RawAuthorizationInfo=System.Collections.Hashtable}
This command retrieves the authorization information for the user with the specified User
Principal Name.
PowerShell
Response:
ノ Expand table
PN PrincipalName [email protected]
S Subject [email protected]
PowerShell
Response: [email protected]
This example retrieves the authorization information and then filters to display only the
Principal Name certificate values.
Get-EntraUserCertificateUserIdsFromCertificate
Returns an object with the certificate values needed to configure CertificateUserIDs for
Certificate-Based Authentication in Microsoft Entra ID.
Syntax: Get-EntraUserCertificateUserIdsFromCertificate [-Path] <string> [[-Certificate]
<System.Security.Cryptography.X509Certificates.X509Certificate2> [-CertificateMapping]
<string>] [<CommonParameters>]
PowerShell
Response:
ノ Expand table
Name Value
This example shows how to get all possible certificate mappings as an object.
Example 2: Retrieve certificate object from a certificate path and certificate mapping
PowerShell
Response: X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=user
PowerShell
$text = "-----BEGIN CERTIFICATE-----
MIIDiz...=
-----END CERTIFICATE-----"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($text)
$certificate =
[System.Security.Cryptography.X509Certificates.X509Certificate2]::new($bytes)
Get-EntraUserCertificateUserIdsFromCertificate -Certificate $certificate -
CertificateMapping 'Subject'
Response: X509:<S>DC=com,DC=contoso,OU=UserAccounts,CN=user
Set-EntraUserCBACertificateUserId
Sets certificate-based authentication user IDs for a user in Microsoft Entra ID using a certificate
file or object.
<string[]> [<CommonParameters>]
PowerShell
This example sets the certificate user IDs for the specified user using a certificate file, mapping
both the Subject and PrincipalName fields. You can use Get-EntraUserCBAAuthorizationInfo
command to view updated details.
PowerShell
This example sets the certificate user IDs for the specified user using a certificate object,
mapping the RFC822Name and SKI fields. You can use Get-EntraUserCBAAuthorizationInfo
command to view updated details.
Look up certificateUserIds
Authorized callers can run Microsoft Graph queries to find all the users with a given
certificateUserId value. On the Microsoft Graph user object, the collection of certificateUserIds
is stored in the authorizationInfo property.
msgraph
GET https://graph.microsoft.com/v1.0/users?$select=authorizationinfo
ConsistencyLevel: eventual
msgraph
GET https://graph.microsoft.com/v1.0/users/{user-object-id}?
$select=authorizationinfo
ConsistencyLevel: eventual
msgraph
GET https://graph.microsoft.com/v1.0/users?
$select=authorizationinfo&$filter=authorizationInfo/certificateUserIds/any(x:x eq
'X509:<PN>[email protected]')&$count=true
ConsistencyLevel: eventual
You can also use the not and startsWith operators to match the filter condition. To filter
against the certificateUserIds object, the request must include the $count=true query string,
and the ConsistencyLevel header must be set to eventual .
Update certificateUserIds
Run a PATCH request to update the certificateUserIds for a given user.
Request body
HTTP
PATCH https://graph.microsoft.com/v1.0/users/{user-object-id}
Content-Type: application/json
{
"authorizationInfo": {
"certificateUserIds": [
"X509:<PN>123456789098765@mil"
]
}
}
PowerShell
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph.Authentication
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
PowerShell
PowerShell
PowerShell
#Create a new variable to prepare the change. Ensure that you list any
existing values you want to keep as this operation will overwrite the
existing value
$params = @{
authorizationInfo = @{
certificateUserIds = @(
"X509:<SKI>gH4iJ5kL6mN7oP8qR9sT0uV1wX",
"X509:<PN>[email protected]"
)
}
}
PowerShell
PowerShell
$userObjectId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
$user = Get-MgUser -UserId $userObjectId -Property AuthorizationInfo
PowerShell
$user.AuthorizationInfo.certificateUserIds = @("X509:
<SKI>iJ5kL6mN7oP8qR9sT0uV1wX2yZ", "X509:<PN>[email protected]")
Update-MgUser -UserId $userObjectId -AuthorizationInfo
$user.AuthorizationInfo
To use these mapping methods, you need to populate the altSecurityIdentities attribute of user
objects in the on-premises Active Directory. In addition, after you apply certificate-based
authentication changes on Windows domain controllers as described in KB5014754 , you may
have implemented some of the nonreusable mapping methods (Type=strong) mapping
methods to meet the on-premises Active Directory strong certificate binding enforcement
requirements.
To prevent synchronization errors, make sure the values being synchronized follow one of the
supported formats for the certificateUserIds.
Before you begin, make sure all user accounts that are synchronized from on-premises Active
Directory have:
No duplicate values
Carefully consider if a duplicate value is meant to map a single certificate to multiple on-
premises Active Directory accounts. For more information, see Multiple username
bindings.
7 Note
Ensure that the provisioning process for populating the values in on-premises Active
Directory implements proper hygiene. Only values associated with current valid
certificates are populated.
Values are removed when the corresponding certificate is expired or revoked.
Values larger than 1024 characters aren't populated.
Duplicate values aren't provisioned.
Use Microsoft Entra Connect Health to monitor synchronization.
1. On the Microsoft Entra Connect server, find and start the Synchronization Rules Editor.
3. Find the rule Out to Microsoft Entra ID – User Identity, select Edit, and select Yes to
confirm.
4. Enter a high number in the Precedence field, and then select Next.
5. Select Transformations > Add transformation. You may need to scroll down the list of
transformations before you can create a new one.
Synchronize X509:<PN>PrincipalNameValue
To synchronize X509:<PN>PrincipalNameValue, create an outbound synchronization rule, and
choose Expression in the flow type. Choose the target attribute as certificateUserIds, and in
the source field, add the following expression. If your source attribute isn't userPrincipalName,
you can change the expression accordingly.
"X509:<PN>"&[userPrincipalName]
Synchronize X509:<RFC822>RFC822Name
To synchronize X509:<RFC822>RFC822Name, create an outbound synchronization rule and
choose Expression in the flow type. Choose the target attribute as certificateUserIds, and in
the source field, add the following expression. If your source attribute isn't userPrincipalName,
you can change the expression accordingly.
"X509:<RFC822>"&[userPrincipalName]
2. Select OK to confirm.
) Important
For more information about declarative provisioning expressions, see Microsoft Entra Connect:
Declarative Provisioning Expressions.
1. Open Metaverse Designer and select the person object. To create the
alternativeSecurityId attribute, select New attribute. Select String (non-indexable) to
create an attribute size up to 1024 characters, which is the maximum supported length for
certificateUserIds. If you select String (indexable), the maximum size of an attribute value
is 448 characters. Make sure you select Multi-valued.
2. Open Metaverse Designer, and select alternativeSecurityId to add it to the person object.
3. Create an inbound synchronization rule to transform from altSecurityIdentities to
alternativeSecurityId attribute.
ノ Expand table
Option Value
Name Descriptive name of the rule, such as: In from Active Directory -
altSecurityIdentities
Then select Transformations and create a direct mapping to the target attribute
alternativeSecurityId from the source attribute altSecurityIdentities, as shown in the
following screenshot.
4. Create an outbound synchronization rule to transform from the alternativeSecurityId
attribute to the certificateUserIds attribute in Microsoft Entra ID.
ノ Expand table
Option Value
Name Descriptive name of the rule, such as: Out to Microsoft Entra ID -
certificateUserIds
Precedence Choose a high number not currently used above all default rules,
such as 150
Then select Transformations and create a direct mapping to the target attribute
certificateUserIds from the source attribute alternativeSecurityId, as shown in the
following screenshot.
6. To verify success, view the Authorization info of a user in Microsoft Entra ID.
To map a subset of values from the altSecurityIdentities attribute, replace the Transformation in
step 4 with an Expression. To use an Expression, proceed to the Transformations tab and
change your FlowType option to Expression, the target attribute to certificateUserIds, and then
input the expression into the Source field. The following example filters only values that align
to the SKI and SHA1PublicKey Certificate mapping fields:
Expression code:
PowerShell
IIF(IsPresent([alternativeSecurityId]),
Where($item,[alternativeSecurityId],BitOr(InStr($item, "X509:
<SKI>"),InStr($item, "X509:<SHA1-PUKEY>"))>0),[alternativeSecurityId]
)
Administrators can filter values from altSecurityIdentities that align with the supported
patterns. Ensure that the CBA configuration is updated to support the username bindings that
are synchronized to certificateUserIds and enable authentication using these values.
Next steps
Overview of Microsoft Entra CBA
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
Windows smart card logon using Microsoft Entra CBA
How to migrate federated users
FAQ
Migrate from federation to Microsoft
Entra certificate-based authentication
(CBA)
Article • 02/28/2025
This article explains how to migrate from running federated servers such as Active
Directory Federation Services (AD FS) on-premises to cloud authentication using
Microsoft Entra certificate-based authentication (CBA).
Staged Rollout
A tenant admin could cut the federated domain fully over to Microsoft Entra CBA
without pilot testing. This is done by enabling the CBA auth method in Microsoft Entra
ID and converting the entire domain to managed authentication. However, if customer
wants to test a small batch of users authenticate against Microsoft Entra CBA before the
full domain cutover to managed, they can make use of staged rollout feature.
Watch this quick video demonstrating the migration from ADFS certificate-based
authentication to Microsoft Entra CBA
https://www.youtube-nocookie.com/embed/jsKQxo-xGgA
7 Note
When Staged rollout is enabled for a user, the user is considered a managed user
and all authentication happens at Microsoft Entra ID. For a federated Tenant, if CBA
is enabled on Staged Rollout, password authentication only works if PHS is enabled
too. Otherwise, password authentication fails.
Enable Staged Rollout for certificate-based
authentication on your tenant
To configure Staged Rollout, follow these steps:
7 Note
Microsoft recommends using separate groups to manage staged rollout for Entra
certificate-based authentication and the certificate-based authentication method
policy
Microsoft Entra Connect requires a special role named Hybrid Identity Administrator,
which grants the necessary permissions. You need this role for permission to write to the
new cloud attribute.
7 Note
If they're in a managed domain (not federated), there's no risk from the federated
IdP.
If they're in a federated domain, but a subset of accounts is being moved to
Microsoft Entra CBA by Staged Rollout, they're subject to risks related to the
federated Idp until the federated domain is fully switched to cloud authentication.
When a domain is federated in Microsoft Entra ID, a high level of trust is being placed
on the Federated IdP. AD FS is one example, but the notion holds true for any federated
IdP. Many organizations deploy a federated IdP such as AD FS exclusively to accomplish
certificate based authentication. Microsoft Entra CBA completely removes the AD FS
dependency in this case. With Microsoft Entra CBA, customers can move their
application estate to Microsoft Entra ID to modernize their IAM infrastructure and
reduce costs with increased security.
From a security perspective, there's no change to the credential, including the X.509
certificate, CACs, PIVs, and so on, or to the PKI being used. The PKI owners retain
complete control of the certificate issuance and revocation lifecycle and policy. The
revocation check and the authentication happen at Microsoft Entra ID instead of
federated Idp. These checks enable passwordless, phishing-resistant authentication
directly to Microsoft Entra ID for all users.
In the browser example, the user most often types in their Microsoft Entra UPN. The
Microsoft Entra UPN is used for realm and user discovery. The certificate used then must
match this user by using one of the configured username bindings in the policy.
In Windows sign-in, the match depends on if the device is hybrid or Microsoft Entra
joined. But in both cases, if username hint is provided, Windows sends the hint as a
Microsoft Entra UPN. The certificate used then must match this user by using one of the
configured username bindings in the policy.
Next steps
Overview of Microsoft Entra CBA
Technical deep dive for Microsoft Entra CBA
How to configure Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
Windows smart card sign-in using Microsoft Entra CBA
Certificate user IDs
FAQ
Feedback
Was this page helpful? Yes No
This article addresses frequently asked questions about how Microsoft Entra certificate-based
authentication (CBA) works. Keep checking back for updated content.
ノ Expand table
CA Certificate Info = Downloaded CRL Info
Subject = Issuer
Interactive sign in download limit: 20 MB (Azure Global includes GCC), 45 MB for (Azure
US government, includes GCC High, Dept. of Defense)
Service download limit: 65 MB (Azure Global includes GCC), 150 MB for (Azure US
government, includes GCC High, Dept. of Defense)
"The Certificate Revocation List (CRL) downloaded from {uri} has exceeded the maximum
allowed size ({size} bytes) for CRLs in Microsoft Entra ID. Try again in few minutes. If the issue
persists, contact your tenant administrators."
We're reviewing the impact of these limits and have plans to remove them.
This command returns all user objects that have the value '[email protected]' value in
certificateUserIds:
HTTP
GET https://graph.microsoft.com/v1.0/users?$filter=certificateUserIds/any(x:x eq
'[email protected]')
Next steps
If your question isn't answered here, see the following related topics:
Overview of Microsoft Entra CBA
Technical deep dive for Microsoft Entra CBA
Microsoft Entra CBA on iOS devices
Microsoft Entra CBA on Android devices
How to configure Microsoft Entra CBA
Windows smart card logon using Microsoft Entra CBA
Certificate user IDs
How to migrate federated users
Get started with certificate-based
authentication in Microsoft Entra ID
with federation
Article • 01/28/2025
Configuring this feature eliminates the need to enter a username and password
combination into certain mail and Microsoft Office applications on your mobile device.
7 Note
This topic:
Provides steps to configure and utilize CBA for users of tenants in Office 365
Enterprise, Business, Education, and US Government plans.
Assumes that you already have a public key infrastructure (PKI) and AD FS
configured.
Requirements
To configure CBA with federation, the following statements must be true:
CBA with federation is only supported for Federated environments for browser
applications, native clients using modern authentication, or MSAL libraries. The one
exception is Exchange Active Sync (EAS) for Exchange Online (EXO), which can be
used for federated and managed accounts. To configure Microsoft Entra CBA
without needing federation, see How to configure Microsoft Entra certificate-based
authentication.
The root certificate authority and any intermediate certificate authorities must be
configured in Microsoft Entra ID.
Each certificate authority must have a certificate revocation list (CRL) that can be
referenced via an internet-facing URL.
You must have at least one certificate authority configured in Microsoft Entra ID.
You can find related steps in the Configure the certificate authorities section.
For Exchange ActiveSync clients, the client certificate must have the user's routable
email address in Exchange online in either the Principal Name or the RFC822 Name
value of the Subject Alternative Name field. Microsoft Entra ID maps the RFC822
value to the Proxy Address attribute in the directory.
Your client device must have access to at least one certificate authority that issues
client certificates.
A client certificate for client authentication must have been issued to your client.
) Important
The maximum size of a CRL for Microsoft Entra ID to successfully download and
cache is 20MB, and the time required to download the CRL must not exceed 10
seconds. If Microsoft Entra ID can't download a CRL, certificate based
authentications using certificates issued by the corresponding CA will fail. Best
practices to ensure CRL files are within size constraints are to keep certificate
lifetimes to within reasonable limits and to clean up expired certificates.
Android
iOS
C#
class TrustedCAsForPasswordlessAuth
{
CertificateAuthorityInformation[] certificateAuthorities;
}
class CertificateAuthorityInformation
{
CertAuthorityType authorityType;
X509Certificate trustedCertificate;
string crlDistributionPoint;
string deltaCrlDistributionPoint;
string trustedIssuer;
string trustedIssuerSKI;
}
enum CertAuthorityType
{
RootAuthority = 0,
IntermediateAuthority = 1
}
PowerShell
Install-Module Microsoft.Graph
As a first configuration step, you need to establish a connection with your tenant. As
soon as a connection to your tenant exists, you can review, add, delete, and modify the
trusted certificate authorities that are defined in your directory.
Connect
To establish a connection with your tenant, use Connect-MgGraph:
PowerShell
Connect-MgGraph
Retrieve
To retrieve the trusted certificate authorities that are defined in your directory, use Get-
MgOrganizationCertificateBasedAuthConfiguration.
PowerShell
Get-MgOrganizationCertificateBasedAuthConfiguration
) Important
Microsoft recommends that you use roles with the fewest permissions. This practice
helps improve security for your organization. Global Administrator is a highly
privileged role that should be limited to emergency scenarios or when you can't
use an existing role.
To add, modify, or remove a CA, use the Microsoft Entra admin center:
2. Browse to Protection > Show more > Security Center (or Identity Secure Score) >
Certificate authorities.
c. For Certificate Revocation List URL, set the internet-facing URL for the CA base
CRL that contains all revoked certificates. If the URL isn't set, authentication with
revoked certificates won't fail.
d. For Delta Certificate Revocation List URL, set the internet-facing URL for the
CRL that contains all revoked certificates since the last base CRL was published.
e. Select Add.
4. To delete a CA certificate, select the certificate and select Delete.
If a more instant revocation is required (for example, if a user loses a device), the
authorization token of the user can be invalidated. To invalidate the authorization token,
set the StsRefreshTokensValidFrom field for this particular user using Windows
PowerShell. You must update the StsRefreshTokensValidFrom field for each user you
want to revoke access for.
To ensure that the revocation persists, you must set the Effective Date of the CRL to a
date after the value set by StsRefreshTokensValidFrom and ensure the certificate in
question is in the CRL.
The following steps outline the process for updating and invalidating the authorization
token by setting the StsRefreshTokensValidFrom field.
https
The date you set must be in the future. If the date is not in the future, the
StsRefreshTokensValidFrom property is not set. If the date is in the future,
StsRefreshTokensValidFrom is set to the current time (not the date indicated by Set-
MsolUser command).
An EAS profile can be configured and placed on the device through the utilization of
Mobile device management (MDM) such as Microsoft Intune or by manually placing the
certificate in the EAS profile on the device.
Testing EAS client applications on Android
1. Configure an EAS profile in the application that satisfies the requirements in the
prior section.
2. Open the application, and verify that mail is synchronizing.
Next steps
Additional information about certificate-based authentication on Android devices.
Feedback
Was this page helpful? Yes No
Configuring this feature eliminates the need to enter a username and password
combination into certain mail and Microsoft Office applications on your mobile device.
Apps Support
Microsoft Teams
OneNote
OneDrive
Outlook
Power BI
Yammer
Implementation requirements
The device OS version must be Android 5.0 (Lollipop) and above.
A federation server must be configured.
For Microsoft Entra ID to revoke a client certificate, the AD FS token must have the
following claims:
http://schemas.microsoft.com/ws/2008/06/identity/claims/<serialnumber> (The
Microsoft Entra ID adds these claims to the refresh token if they're available in the AD FS
token (or any other SAML token). When the refresh token needs to be validated, this
information is used to check the revocation.
As a best practice, you should update your organization's AD FS error pages with the
following information:
Office apps with modern authentication enabled send 'prompt=login' to Microsoft Entra
ID in their request. By default, Microsoft Entra ID translates 'prompt=login' in the request
to AD FS as 'wauth=usernamepassworduri' (asks AD FS to do U/P Auth) and 'wfresh=0'
(asks AD FS to ignore SSO state and do a fresh authentication). If you want to enable
certificate-based authentication for these apps, you need to modify the default
Microsoft Entra behavior. Set the 'PromptLoginBehavior' in your federated domain
settings to 'Disabled'. You can use New-MgDomainFederationConfiguration to perform
this task:
PowerShell
Feedback
Was this page helpful? Yes No
Using certificates eliminates the need to enter a username and password combination
into certain mail and Microsoft Office applications on your mobile device.
Apps Support
Company Portal
Microsoft Teams
Office (mobile)
OneNote
OneDrive
Outlook
Power BI
Yammer
Requirements
To use CBA with iOS, the following requirements and considerations apply:
The following Active Directory Federation Services (AD FS) requirements and
considerations apply:
The AD FS server must be enabled for certificate authentication and use federated
authentication.
The certificate needs to have to use Enhanced Key Usage (EKU) and contain the
UPN of the user in the Subject Alternative Name (NT Principal Name).
Configure AD FS
For Microsoft Entra ID to revoke a client certificate, the AD FS token must have the
following claims. Microsoft Entra ID adds these claims to the refresh token if they're
available in the AD FS token (or any other SAML token). When the refresh token needs
to be validated, this information is used to check the revocation:
http://schemas.microsoft.com/ws/2008/06/identity/claims/<serialnumber> - add
As a best practice, you also should update your organization's AD FS error pages with
the following information:
To update the default behavior, set the 'PromptLoginBehavior' in your federated domain
settings to Disabled. You can use the New-MgDomainFederationConfiguration cmdlet to
perform this task, as shown in the following example:
PowerShell
Next steps
To configure certificate-based authentication in your environment, see Get started with
certificate-based authentication for instructions.
Feedback
Was this page helpful? Yes No
To simplify and secure sign-in to applications and services, Microsoft Entra ID provides
multiple authentication options. SMS-based authentication lets users sign-in without
providing, or even knowing, their user name and password. After their account is
created by an identity administrator, they can enter their phone number at the sign-in
prompt. They receive an SMS authentication code that they can provide to complete the
sign-in. This authentication method simplifies access to applications and services,
especially for Frontline workers.
This article shows you how to enable SMS-based authentication for select users or
groups in Microsoft Entra ID. For a list of apps that support using SMS-based sign-in,
see App support for SMS-based authentication.
Known issues
Here are some known issues:
First, let's enable SMS-based authentication for your Microsoft Entra tenant.
7 Note
Each user that's enabled in SMS authentication method policy must be licensed, even if
they don't use it. Make sure you have the appropriate licenses for the users you enable
in the authentication method policy, especially when you enable the feature for large
groups of users.
When a phone number is set for SMS-based sign-in, it's also then available for use with
Microsoft Entra multifactor authentication and self-service password reset.
2. From the navigation menu on the left-hand side of the Microsoft Entra window,
select Users.
3. Select the user you enabled for SMS-based authentication in the previous section,
such as Contoso User, then select Authentication methods.
Enter the user's phone number, including the country code, such as +1 xxxxxxxxx.
The Microsoft Entra admin center validates the phone number is in the correct
format.
Then, from the Phone type drop-down menu, select Mobile, Alternate mobile, or
Other as needed.
The phone number must be unique in your tenant. If you try to use the same
phone number for multiple users, an error message is shown.
When successfully provisioned, a check mark appears for SMS Sign-in enabled.
3. At the sign-in prompt, enter the phone number associated with the user in the
previous section, then select Next.
4. An SMS message is sent to the phone number provided. To complete the sign-in
process, enter the 6-digit code provided in the SMS message at the sign-in
prompt.
5. The user is now signed in without the need to provide a username or password.
A user that has a phone number already set for their account is displayed a button to
Enable for SMS sign-in in their My Profile page. Select this button, and the account is
enabled for use with SMS-based sign-in and the previous Microsoft Entra multifactor
authentication or SSPR registration.
For more information on the end-user experience, see SMS sign-in user experience for
phone number .
Next steps
For a list of apps that support using SMS-based sign-in, see App support for SMS-
based authentication.
For more ways to sign-in to Microsoft Entra ID without a password, such as the
Microsoft Authenticator App or FIDO2 security keys, see Passwordless
authentication options for Microsoft Entra ID.
You can also use the Microsoft Graph REST API to enable or disable SMS-based
sign-in.
Feedback
Was this page helpful? Yes No
ノ Expand table
Microsoft Teams ● ●
Company portal ● ●
Microsoft Edge ●
Microsoft Power BI ●
Microsoft Stream ●
Microsoft Azure ● ●
*SMS sign-in isn't available for office applications, such as Word, Excel, etc., when accessed
directly on the web, but is available when accessed through the Office 365 web app
The above mentioned Microsoft apps support SMS sign-in is because they use the
Microsoft Identity login ( https://login.microsoftonline.com/ ), which allows users to
enter phone number and SMS code.
ノ Expand table
Native mobile Microsoft apps (except Microsoft Outlook, Edge, Power BI, Stream,
Teams, Company portal, and Microsoft Azure) SharePoint, Power Apps, Word, and so on.
Microsoft 365 web apps (accessed directly on web) Outlook , Word , Excel , PowerPoint
Integrate Non-Microsoft web apps with Microsoft Entra ID and use Microsoft Entra
authentication. Use Security Assertion Markup Language SAML or OpenID Connect
OIDC to integrate with Microsoft Entra SSO.
Integrate Non-Microsoft on-premises apps with Microsoft Entra ID using Microsoft
Entra application proxy
Integrate Non-Microsoft client apps with Microsoft identity platform for
authentication
Sample app iOS
Sample app Android
Next steps
How to enable SMS-based sign-in for users
See the following links to enable SMS sign-in for native mobile apps using MSAL
Libraries:
iOS
Android
Integrate SAAS application with Microsoft Entra ID
Recommended content
Add an application to your Microsoft Entra ID
Overview of MSAL libraries to acquire token from Microsoft identity platform to
authenticate users
Configure Microsoft Managed Home Screen with Microsoft Entra ID
Feedback
Was this page helpful? Yes No
Two-way SMS for Azure Multi-Factor Authentication Server was originally deprecated in
2018, and no longer supported after February 24, 2021, except for organizations that
received a support extension until August 2, 2021. Administrators should enable another
method for users who still use two-way SMS.
Email notifications and Service Health notifications (portal toasts) were sent to affected
admins on December 8, 2020 and January 28, 2021. The alerts went to the Owner, Co-
Owner, Admin, and Service Admin RBAC roles tied to the subscriptions. If you've already
completed the following steps, no action is necessary.
Required actions
1. Enable the mobile app for your users, if you haven't done so already. For more
information, see Enable mobile app authentication with MFA Server.
2. Notify your end users to visit your MFA Server User portal to activate the mobile
app. The Microsoft Authenticator app is the recommended verification option
since it's more secure than two-way SMS. For more information, see It's Time to
Hang Up on Phone Transports for Authentication .
3. Change the user settings from two-way text message to mobile app as the default
method.
FAQ
1. In MFA Server, filter the user list for two-way text message.
2. Select all users.
There are limitations to when one-way SMS can be used that make the mobile app a
better alternative because it doesn’t require the verification code prompt. If you still
want to use one-way SMS in some scenarios, then you could leave these checked, but
change the Company Settings section, General tab User Defaults Text Message to
One-Way instead of Two-Way. Lastly, if you use Directory Synchronization that defaults
to SMS, you’d need to change it to One-Way instead of Two-Way.
How can I check which users are still using two-way SMS?
To list these users, start MFA Server, select the Users section, click Filter User List, and
filter for Text Message Two-Way.
Feedback
Was this page helpful? Yes No
7 Note
Sign-in to Microsoft Entra ID with email as an alternate login ID is a public preview feature
of Microsoft Entra ID. For more information about previews, see Supplemental Terms of
Use for Microsoft Azure Previews .
Many organizations want to let users sign in to Microsoft Entra ID using the same credentials
as their on-premises directory environment. With this approach, known as hybrid
authentication, users only need to remember one set of credentials.
Some organizations haven't moved to hybrid authentication for the following reasons:
By default, the Microsoft Entra user Principal Name (UPN) is set to the same value as the
on-premises UPN.
Changing the Microsoft Entra UPN creates a mismatch between on-premises and
Microsoft Entra environments that could cause problems with certain applications and
services.
Due to business or compliance reasons, the organization doesn't want to use the on-
premises UPN to sign in to Microsoft Entra ID.
To move toward hybrid authentication, you can configure Microsoft Entra ID to let users sign in
with their email as an alternate login ID. For example, if Contoso rebranded to Fabrikam, rather
than continuing to sign in with the legacy [email protected] UPN, email as an alternate login ID
can be used. To access an application or service, users would sign in to Microsoft Entra ID using
their non-UPN email, such as [email protected] .
This article shows you how to enable and use email as an alternate login ID.
Before you begin
Here's what you need to know about email as an alternate login ID:
Preview limitations
In the current preview state, the following limitations apply to email as an alternate login ID:
User experience - Users may see their UPN, even when they signed-in with their non-
UPN email. The following example behavior may be seen:
User is prompted to sign in with UPN when directed to Microsoft Entra sign-in with
login_hint=<non-UPN email> .
When a user signs-in with a non-UPN email and enters an incorrect password, the
"Enter your password" page changes to display the UPN.
On some Microsoft sites and apps, such as Microsoft Office, the Account Manager
control typically displayed in the upper right may display the user's UPN instead of the
non-UPN email used to sign in.
Unsupported flows - Some flows are currently not compatible with non-UPN emails, such
as the following:
Microsoft Entra ID Protection doesn't match non-UPN emails with Leaked Credentials
risk detection. This risk detection uses the UPN to match credentials that have been
leaked. For more information, see How To: Investigate risk.
When a user is signed-in with a non-UPN email, they cannot change their password.
Microsoft Entra self-service password reset (SSPR) should work as expected. During
SSPR, the user may see their UPN if they verify their identity using a non-UPN email.
Unsupported scenarios - The following scenarios are not supported. Sign-in with non-
UPN email for:
Microsoft Entra hybrid joined devices
Microsoft Entra joined devices
Microsoft Entra registered devices
Single Sign-On and App Protection Policies on Mobile Platform
Legacy authentication such as POP3 and SMTP
Unsupported apps - Some third-party applications may not work as expected if they
assume that the unique_name or preferred_username claims are immutable or will always
match a specific user attribute, such as UPN.
Logging - Changes made to the feature's configuration in HRD policy are not explicitly
shown in the audit logs.
Staged rollout policy - The following limitations apply only when the feature is enabled
using staged rollout policy:
The feature does not work as expected for users that are included in other staged
rollout policies.
Staged rollout policy supports a maximum of 10 groups per feature.
Staged rollout policy does not support nested groups.
Staged rollout policy does not support dynamic membership groups.
Contact objects inside the group will block the group from being added to a staged
rollout policy.
Duplicate values - Within a tenant, a cloud-only user's UPN can be the same value as
another user's proxy address synced from the on-premises directory. In this scenario, with
the feature enabled, the cloud-only user will not be able to sign in with their UPN. More
on this issue in the Troubleshoot section.
For organizations where the on-premises UPN is the user's preferred sign-in email, this
approach was great. Those organizations would set the Microsoft Entra UPN to the exact same
value as the on-premises UPN, and users would have a consistent sign-in experience.
Alternate Login ID for AD FS
However, in some organizations the on-premises UPN isn't used as a sign-in identifier. In the
on-premises environments, you would configure the local AD DS to allow sign-in with an
alternate login ID. Setting the Microsoft Entra UPN to the same value as the on-premises UPN
isn't an option as Microsoft Entra ID would then require users to sign in with that value.
ノ Expand table
Option Description
Alternate Login ID for AD FS Enable sign-in with an alternate attribute (such as Mail) for AD
FS users.
Alternate Login ID in Microsoft Entra Synchronize an alternate attribute (such as Mail) as the Microsoft
Connect Entra UPN.
Email as an Alternate Login ID Enable sign-in with verified domain ProxyAddresses for Microsoft
Entra users.
In both configuration options, the user submits their username and password to Microsoft
Entra ID, which validates the credentials and issues a ticket. When users sign in to Microsoft
Entra ID, it removes the need for your organization to host and manage an AD FS
infrastructure.
One of the user attributes that's automatically synchronized by Microsoft Entra Connect is
ProxyAddresses. If users have an email address defined in the on-premises AD DS environment
as part of the ProxyAddresses attribute, it's automatically synchronized to Microsoft Entra ID.
This email address can then be used directly in the Microsoft Entra sign-in process as an
alternate login ID.
) Important
Only emails in verified domains for the tenant are synchronized to Microsoft Entra ID. Each
Microsoft Entra tenant has one or more verified domains, for which you have proven
ownership, and are uniquely bound to your tenant.
For more information, see Add and verify a custom domain name in Microsoft Entra ID.
Email as an alternate login ID applies to Microsoft Entra B2B collaboration under a "bring your
own sign-in identifiers" model. When email as an alternate login ID is enabled in the home
tenant, Microsoft Entra users can perform guest sign in with non-UPN email on the resource
tenant endpoint. No action is required from the resource tenant to enable this functionality.
7 Note
When an alternate login ID is used on a resource tenant endpoint that does not have the
functionality enabled, the sign-in process will work seamlessly, but SSO will be interrupted.
7 Note
This configuration option uses HRD policy. For more information, see
homeRealmDiscoveryPolicy resource type.
Once users with the ProxyAddresses attribute applied are synchronized to Microsoft Entra ID
using Microsoft Entra Connect, you need to enable the feature for users to sign in with email as
an alternate login ID for your tenant. This feature tells the Microsoft Entra login servers to not
only check the sign-in identifier against UPN values, but also against ProxyAddresses values for
the email address.
You can use either Microsoft Entra admin center or Graph PowerShell to set up the feature.
With the policy applied, it can take up to one hour to propagate and for users to be able to
sign in using their alternate login ID.
PowerShell
7 Note
This configuration option uses HRD policy. For more information, see
homeRealmDiscoveryPolicy resource type.
Once users with the ProxyAddresses attribute applied are synchronized to Microsoft Entra ID
using Microsoft Entra Connect, you need to enable the feature for users to sign-in with email
as an alternate login ID for your tenant. This feature tells the Microsoft Entra login servers to
not only check the sign-in identifier against UPN values, but also against ProxyAddresses values
for the email address.
PowerShell
Install-Module Microsoft.Graph
For more information on installation, see Install the Microsoft Graph PowerShell SDK.
PowerShell
PowerShell
Get-MgPolicyHomeRealmDiscoveryPolicy
PowerShell
$AzureADPolicyDefinition = @(
@{
"HomeRealmDiscoveryPolicy" = @{
"AlternateIdLogin" = @{
"Enabled" = $true
}
}
} | ConvertTo-JSON -Compress
)
$AzureADPolicyParameters = @{
Definition = $AzureADPolicyDefinition
DisplayName = "BasicAutoAccelerationPolicy"
AdditionalProperties = @{ IsOrganizationDefault = $true }
}
New-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
When the policy has been successfully created, the command returns the policy ID, as
shown in the following example output:
PowerShell
Definition
DeletedDateTime Description DisplayName Id
IsOrganizationDefault
---------- --------
------- ----------- ----------- -- ---------------
------
{{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}}
BasicAutoAccelerationPolicy HRD_POLICY_ID True
PowerShell
Definition
DeletedDateTime Description DisplayName Id
IsOrganizationDefault
---------- --------
------- ----------- ----------- -- ---------------
------
{{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}}
BasicAutoAccelerationPolicy HRD_POLICY_ID True
If the policy exists but the AlternateIdLogin attribute that isn't present or enabled, or if
other attributes exist on the policy you wish to preserve, update the existing policy using
the Update-MgPolicyHomeRealmDiscoveryPolicy cmdlet.
) Important
When you update the policy, make sure you include any old settings and the new
AlternateIdLogin attribute.
The following example adds the AlternateIdLogin attribute and preserves the
AllowCloudPasswordValidation attribute that was previously set:
PowerShell
$AzureADPolicyDefinition = @(
@{
"HomeRealmDiscoveryPolicy" = @{
"AllowCloudPasswordValidation" = $true
"AlternateIdLogin" = @{
"Enabled" = $true
}
}
} | ConvertTo-JSON -Compress
)
$AzureADPolicyParameters = @{
HomeRealmDiscoveryPolicyId = "HRD_POLICY_ID"
Definition = $AzureADPolicyDefinition
DisplayName = "BasicAutoAccelerationPolicy"
AdditionalProperties = @{ "IsOrganizationDefault" = $true }
}
Update-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
Confirm that the updated policy shows your changes and that the AlternateIdLogin
attribute is now enabled:
PowerShell
Get-MgPolicyHomeRealmDiscoveryPolicy
7 Note
With the policy applied, it can take up to an hour to propagate and for users to be able to
sign-in using email as an alternate login ID.
Removing policies
To remove an HRD policy, use the Remove-MgPolicyHomeRealmDiscoveryPolicy cmdlet:
PowerShell
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId
"HRD_POLICY_ID"
7 Note
This configuration option uses staged rollout policy. For more information, see
featureRolloutPolicy resource type.
Staged rollout policy allows tenant administrators to enable features for specific Microsoft
Entra groups. It is recommended that tenant administrators use staged rollout to test user
sign-in with an email address. When administrators are ready to deploy this feature to their
entire tenant, they should use HRD policy.
PowerShell
Install-Module Microsoft.Graph.Beta
PowerShell
The command returns information about your account, environment, and tenant ID.
3. List all existing staged rollout policies using the following cmdlet:
PowerShell
Get-MgBetaPolicyFeatureRolloutPolicy
4. If there are no existing staged rollout policies for this feature, create a new staged rollout
policy and take note of the policy ID:
PowerShell
$MgPolicyFeatureRolloutPolicy = @{
Feature = "EmailAsAlternateId"
DisplayName = "EmailAsAlternateId Rollout Policy"
IsEnabled = $true
}
New-MgBetaPolicyFeatureRolloutPolicy @MgPolicyFeatureRolloutPolicy
5. Find the directoryObject ID for the group to be added to the staged rollout policy. Note
the value returned for the Id parameter, because it will be used in the next step.
PowerShell
6. Add the group to the staged rollout policy as shown in the following example. Replace
the value in the -FeatureRolloutPolicyId parameter with the value returned for the policy
ID in step 4 and replace the value in the -OdataId parameter with the Id noted in step 5. It
may take up to 1 hour before users in the group can sign in to Microsoft Entra ID with
email as an alternate login ID.
PowerShell
New-MgBetaDirectoryFeatureRolloutPolicyApplyToByRef `
-FeatureRolloutPolicyId "ROLLOUT_POLICY_ID" `
-OdataId
"https://graph.microsoft.com/v1.0/directoryObjects/{GROUP_OBJECT_ID}"
For new members added to the group, it may take up to 24 hours before they can sign in to
Microsoft Entra ID with email as an alternate login ID.
Removing groups
To remove a group from a staged rollout policy, run the following command:
PowerShell
Remove-MgBetaPolicyFeatureRolloutPolicyApplyToByRef -FeatureRolloutPolicyId
"ROLLOUT_POLICY_ID" -DirectoryObjectId "GROUP_OBJECT_ID"
Removing policies
To remove a staged rollout policy, first disable the policy then remove it from the system:
PowerShell
Update-MgBetaPolicyFeatureRolloutPolicy -FeatureRolloutPolicyId
"ROLLOUT_POLICY_ID" -IsEnabled:$false
Remove-MgBetaPolicyFeatureRolloutPolicy -FeatureRolloutPolicyId
"ROLLOUT_POLICY_ID"
Troubleshoot
If users have trouble signing in with their email address, review the following troubleshooting
steps:
1. Make sure it's been at least 1 hour since email as an alternate login ID was enabled. If the
user was recently added to a group for staged rollout policy, make sure it's been at least
24 hours since they were added to the group.
2. If using HRD policy, confirm that the Microsoft Entra ID HomeRealmDiscoveryPolicy has
the AlternateIdLogin definition property set to "Enabled": true and the
IsOrganizationDefault property set to True:
PowerShell
Get-MgBetaPolicyHomeRealmDiscoveryPolicy | Format-List *
If using staged rollout policy, confirm that the Microsoft Entra ID FeatureRolloutPolicy has
the IsEnabled property set to True:
PowerShell
Get-MgBetaPolicyFeatureRolloutPolicy
3. Make sure the user account has their email address set in the ProxyAddresses attribute in
Microsoft Entra ID.
Sign-in logs
You can review the sign-in logs in Microsoft Entra ID for more information. Sign-ins with email
as an alternate login ID will emit proxyAddress in the Sign-in identifier type field and the
inputted username in the Sign-in identifier field.
1. Open a PowerShell session as an administrator, then install Microsoft Graph by using the
Install-Module cmdlet:
PowerShell
Install-Module Microsoft.Graph.Authentication
PowerShell
PowerShell
PowerShell
PowerShell
Next steps
To learn more about hybrid identity, such as Microsoft Entra application proxy or Microsoft
Entra Domain Services, see Microsoft Entra hybrid identity for access and management of on-
prem workloads.
For more information on hybrid identity operations, see how password hash sync or pass-
through authentication synchronization work.
Protecting authentication methods in
Microsoft Entra ID
Article • 04/29/2025
7 Note
The Microsoft managed value for Authenticator Lite will move from disabled to enabled
on June 26th, 2023. All tenants left in the default state Microsoft managed will be enabled
for the feature on June 26th.
Microsoft Entra ID adds and improves security features to better protect customers against
increasing attacks. As new attack vectors become known, Microsoft Entra ID can respond by
enabling protection by default to help customers stay ahead of emerging security threats.
For example, in response to increasing MFA fatigue attacks, Microsoft recommended ways for
customers to defend users . One recommendation to prevent users from accidental
multifactor authentication (MFA) approvals is to enable number matching. As a result, default
behavior for number matching will be explicitly Enabled for all Microsoft Authenticator users.
You can learn more about new security features like number matching in our blog post
Advanced Microsoft Authenticator security features are now generally available! .
There are two ways for protection of a security feature to be enabled by default:
After a security feature is released, customers can use the Microsoft Entra admin center or
Graph API to test and roll out the change on their own schedule. To help defend against
new attack vectors, Microsoft Entra ID can enable protection of a security feature by
default for all tenants on a certain date, and there won't be an option to disable
protection. Microsoft schedules default protection far in advance to give customers time
to prepare for the change. Customers can't opt out if Microsoft schedules protection by
default.
Protection can be Microsoft managed, which means Microsoft Entra ID can enable or
disable protection based upon the current landscape of security threats. Customers can
choose whether to allow Microsoft to manage the protection. They can change from
Microsoft managed to explicitly make the protection Enabled or Disabled at any time.
7 Note
As MFA fatigue attacks rise, number matching becomes more critical to sign-in security. As a
result, Microsoft will change the default behavior for push notifications in Microsoft
Authenticator.
The option to let Microsoft Entra ID manage the setting is a convenient way for an organization
to allow Microsoft to enable or disable a feature by default. Organizations can more easily
improve their security posture by trusting Microsoft to manage when a feature should be
enabled by default. By configuring a setting as Microsoft managed (named default in Graph
APIs), IT admins can trust Microsoft to enable a security feature they haven't explicitly disabled.
For example, an admin can enable location and application name in push notifications to give
users more context when they approve MFA requests with Microsoft Authenticator. The
additional context can also be explicitly disabled, or set as Microsoft managed. Today, the
Microsoft managed configuration for location and application name is Disabled, which
effectively disables the option for any environment where an admin chooses to let Microsoft
Entra ID manage the setting.
As the security threat landscape changes over time, Microsoft can change the Microsoft
managed configuration for location and application name to Enabled. For customers who want
to rely upon Microsoft to improve their security posture, setting security features to Microsoft
managed is an easy way stay ahead of security threats. They can trust Microsoft to determine
the best way to configure security settings based on the current threat landscape.
The following table lists each setting that can be set to Microsoft managed and whether that
setting is enabled or disabled by default.
ノ Expand table
Setting Configuration
Registration campaign Enabled for text message and voice call users
As threat vectors change, Microsoft Entra ID can announce default protection for a Microsoft
managed setting in release notes and on commonly read forums like Tech Community .
For more information, see our blog post It's Time to Hang Up on Phone Transports for
Authentication which discusses moving away from using text message and voice calls. This
change leads to default enablement for the registration campaign to help users set up
Authenticator for modern authentication.
Next steps
Authentication methods in Microsoft Entra ID - Microsoft Authenticator
Enable combined security information
registration in Microsoft Entra ID
Article • 03/04/2025
To help you understand the functionality and effects of the new experience, see the
Combined security information registration concepts.
This policy applies only when a user accesses a combined registration page. This
policy doesn't enforce MFA enrollment when a user accesses other applications.
You can create an MFA registration policy by using Microsoft Entra ID Protection -
Configure MFA Policy.
For more information about creating trusted locations in Conditional Access, see What is
the location condition in Microsoft Entra Conditional Access?.
4. Enter a name for this policy, such as Combined Security Info Registration on Trusted
Networks.
5. Under Assignments, select Users. Choose the users and groups you want this
policy to apply to.
2 Warning
6. Under Cloud apps or actions, select User actions. Check Register security
information, then select Done.
7. Under Conditions > Locations, configure the following options:
a. Configure Yes.
b. Include Any location.
c. Exclude All trusted locations.
8. Under Access controls > Grant, choose Require multifactor authentication, then
Select.
Next steps
If you need help, see troubleshoot combined security info registration or learn What is
the location condition in Microsoft Entra Conditional Access?
Review how you can enable self-service password reset and enable Microsoft Entra
multifactor authentication in your tenant.
Feedback
Was this page helpful? Yes No
The information in this article is meant to guide admins who are troubleshooting issues
reported by users of the combined registration experience.
Audit logs
The events logged for combined registration are in the Authentication Methods service
in the Microsoft Entra audit logs.
The following table lists all audit events generated by combined registration:
ノ Expand table
User Success User registered all This event occurs when a user has successfully
registered all required security completed registration.
required info.
security info
User Failure User canceled This event occurs when a user cancels
registered all security info registration from interrupt mode.
registration.
Activity Status Reason Description
required
security info
User Success User registered This event occurs when a user registers an
registered method. individual method. Method can be Authenticator
security info app, Phone, Email, Security questions, App
password, Alternate phone, and so on.
User reviewed Success User successfully This event occurs when a user selects Looks
security info reviewed security good on the security info review page.
info.
User reviewed Failure User failed to This event occurs when a user selects Looks
security info review security good on the security info review page but
info. something fails on the backend.
User deleted Success User deleted This event occurs when a user deletes an
security info method. individual method. Method can be Authenticator
app, Phone, Email, Security questions, App
password, Alternate phone, and so on.
User deleted Failure User failed to This event occurs when a user tries to delete a
security info delete method. method but the attempt fails for some reason.
Method can be Authenticator app, Phone, Email,
Security questions, App password, Alternate
phone, and so on.
User changed Success User changed the This event occurs when a user changes the
default default security default method. Method can be Authenticator
security info info for method. app notification, A code from my authenticator
app or token, Call +X XXXXXXXXXX, Text a code
to +X XXXXXXXXX, and so on.
User changed Failure User failed to This event occurs when a user tries to change the
default change the default method but the attempt fails for some
security info default security reason. Method can be Authenticator app
info for method. notification, A code from my authenticator app or
token, Call +X XXXXXXXXXX, Text a code to +X
XXXXXXXXX, and so on.
I'm not seeing the 1. Check if the user has a Microsoft Entra admin role. If yes, view the SSPR
methods I admin policy differences.
expected to see. 2. Determine whether the user is being interrupted because of multifactor
authentication (MFA) registration enforcement or SSPR registration
enforcement. See the flowchart under "Combined registration modes" to
determine which methods should be shown.
3. Determine how recently the MFA or SSPR policy was changed. If the
change was recent, it might take some time for the updated policy to
propagate.
I don't have the option to 1. Determine whether the method is enabled for MFA or for SSPR.
add a particular method. 2. If the method is enabled, save the policies again and wait 1-2
hours before testing again.
3. If the method is enabled, ensure that the user hasn't already set
up the maximum number of that method that they're allowed to set
up.
Next steps
Learn more about combined registration for self-service password reset and
Microsoft Entra multifactor authentication
Feedback
Was this page helpful? Yes No
You can nudge users to set up Microsoft Authenticator during sign-in. Users go through
their regular sign-in, perform multifactor authentication as usual, and then get
prompted to set up Microsoft Authenticator. You can include or exclude users or groups
to control who gets nudged to set up the app. This allows targeted campaigns to move
users from less secure authentication methods to Authenticator.
You can also define how many days a user can postpone, or "snooze," the nudge. If a
user taps Skip for now to postpone the app setup, they get nudged again on the next
MFA attempt after the snooze duration has elapsed. You can decide whether the user
can snooze indefinitely or up to three times (after which registration is required).
7 Note
As users go through their regular sign-in, Conditional Access policies that govern
security info registration apply before the user is prompted to set up Authenticator.
For example, if a Conditional Access policy requires security info updates can only
occur on an internal network, then users won't be prompted to set up
Authenticator unless they are on the internal network.
Prerequisites
Your organization must have enabled Microsoft Entra multifactor authentication.
Every edition of Microsoft Entra ID includes Microsoft Entra multifactor
authentication. No other license is needed for a registration campaign.
Users can't have already set up the Authenticator app for push notifications on
their account.
Admins need to enable users for the Authenticator app using one of these policies:
MFA Registration Policy: Users will need to be enabled for Notification through
mobile app.
Authentication Methods Policy: Users will need to be enabled for the
Authenticator app and the Authentication mode set to Any or Push. If the policy
is set to Passwordless, the user won't be eligible for the nudge. For more
information about how to set the Authentication mode, see Enable
passwordless sign-in with Microsoft Authenticator.
User experience
1. First, you need to successfully authenticate using Microsoft Entra multifactor
authentication (MFA).
2. If you've enabled for Authenticator push notifications and don't have it already set
up, you'll get prompted to set up Authenticator to improve your sign-in
experience.
7 Note
3. For State:
If the registration campaign state is set to Enabled or Microsoft managed, you can
configure the experience for end users by using Limited number of snoozes:
If Limited number of snoozes is Enabled, users can skip the interrupt prompt
3 times, after which they're forced to register Authenticator.
If Limited number of snoozes is Disabled, users can snooze an unlimited
number of times and avoid registering Authenticator.
Days allowed to snooze sets the period between two successive interrupt
prompts. For example, if it's set to 3 days, users who skipped registration don't get
prompted again until after 3 days.
4. Select any users or groups to exclude from the registration campaign, and then
click Save.
1. Sign in to Graph Explorer and ensure you've consented to the Policy.Read.All and
Policy.ReadWrite.AuthenticationMethod permissions.
JSON
GET
https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
To update the policy, perform a PATCH on the Authentication Methods Policy with
only the updated registrationEnforcement section:
JSON
PATCH
https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
ノ Expand table
ノ Expand table
Name Possible values Description
ノ Expand table
Examples
Here are a few sample JSONs you can use to get started!
If you want to include ALL users in your tenant, update the following JSON
example with the relevant GUIDs of your users and groups. Then paste it in Graph
Explorer and run PATCH on the endpoint.
JSON
{
"registrationEnforcement": {
"authenticationMethodsRegistrationCampaign": {
"snoozeDurationInDays": 1,
"enforceRegistrationAfterAllowedSnoozes": true,
"state": "enabled",
"excludeTargets": [],
"includeTargets": [
{
"id": "all_users",
"targetType": "group",
"targetedAuthenticationMethod":
"microsoftAuthenticator"
}
]
}
}
}
If you want to include certain users or groups in your tenant, update the following
JSON example with the relevant GUIDs of your users and groups. Then paste the
JSON in Graph Explorer and run PATCH on the endpoint.
JSON
{
"registrationEnforcement": {
"authenticationMethodsRegistrationCampaign": {
"snoozeDurationInDays": 1,
"enforceRegistrationAfterAllowedSnoozes": true,
"state": "enabled",
"excludeTargets": [],
"includeTargets": [
{
"id": "*********PLEASE ENTER GUID***********",
"targetType": "group",
"targetedAuthenticationMethod":
"microsoftAuthenticator"
},
{
"id": "*********PLEASE ENTER GUID***********",
"targetType": "user",
"targetedAuthenticationMethod":
"microsoftAuthenticator"
}
]
}
}
}
If you want to include AND exclude certain users or groups in your tenant, update
the following JSON example with the relevant GUIDs of your users and groups.
Then paste it in Graph Explorer and run PATCH on the endpoint.
JSON
{
"registrationEnforcement": {
"authenticationMethodsRegistrationCampaign": {
"snoozeDurationInDays": 1,
"enforceRegistrationAfterAllowedSnoozes": true,
"state": "enabled",
"excludeTargets": [
{
"id": "*********PLEASE ENTER GUID***********",
"targetType": "group"
},
{
"id": "*********PLEASE ENTER GUID***********",
"targetType": "user"
}
],
"includeTargets": [
{
"id": "*********PLEASE ENTER GUID***********",
"targetType": "group",
"targetedAuthenticationMethod":
"microsoftAuthenticator"
},
{
"id": "*********PLEASE ENTER GUID***********",
"targetType": "user",
"targetedAuthenticationMethod":
"microsoftAuthenticator"
}
]
}
}
}
3. In the Users page, identify the specific user you want to target.
4. When you tap the specific user, you’ll see their Object ID, which is the user’s GUID.
Identify the GUIDs of groups to insert in the JSONs
1. Sign in to the Microsoft Entra admin center as at least an Authentication Policy
Administrator.
3. In the Groups page, identify the specific group you want to target.
Limitations
The nudge won't appear on mobile devices that run Android or iOS.
Yes, we support embedded browser views in certain applications. We don't nudge users
in out of the box experiences or in browser views embedded in Windows settings.
You can enable the campaign for as long as you like. Whenever you want to be done
running the campaign, use the admin center or APIs to disable the campaign.
No. The snooze duration for the prompt is a tenant-wide setting and applies to all
groups in scope.
The feature aims to empower admins to get users set up with MFA using the
Authenticator app and not passwordless phone sign-in.
Will a user who signs in with a 3rd party authenticator app see the nudge?
Yes. If a user is enabled for the registration campaign and doesn't have Microsoft
Authenticator set up for push notifications, the user is nudged to set up Authenticator.
Will a user who has Authenticator set up only for TOTP codes see the nudge?
Yes. If a user is enabled for the registration campaign and Authenticator app isn't set up
for push notifications, the user is nudged to set up push notification with Authenticator.
If a user just went through MFA registration, are they nudged in the same sign-in
session?
No. To provide a good user experience, users won't be nudged to set up the
Authenticator in the same session that they registered other authentication methods.
No. The feature, for now, aims to nudge users to set up the Authenticator app only.
Is there a way for me to hide the snooze option and force my users to setup the
Authenticator app?
Set the Limited number of snoozes to Enabled such that users can postpone the app
setup up to three times, after which setup is required.
No. The nudge only works for users who are doing MFA using the Microsoft Entra
multifactor authentication service.
Yes. If they have been scoped for the nudge using the policy.
It's the same as snoozing. If setup is required for a user after they snoozed three times,
the user is prompted the next time they sign in.
Why don't some users see a nudge when there is a Conditional Access policy for
"Register security information"?
A nudge won't appear if a user is in scope for a Conditional Access policy that blocks
access to the Register security information page.
Do users see a nudge when there is a terms of use (ToU) screen presented to the user
during sign-in?
A nudge won't appear if a user is presented with the terms of use (ToU) screen during
sign-in.
Do users see a nudge when Conditional Access custom controls are applicable to the
sign-in?
A nudge won't appear if a user is redirected during sign-in due to Conditional Access
custom controls settings.
Are there any plans to discontinue SMS and Voice as methods usable for MFA?
Next steps
Enable passwordless sign-in with Microsoft Authenticator
Feedback
Was this page helpful? Yes No
Self-service password reset (SSPR) gives users in Microsoft Entra ID the ability to change or
reset their password, with no administrator or helpdesk involvement. If a user's account is
locked or they forget their password, they can follow prompts to unblock themselves and get
back to work. This ability reduces helpdesk calls and loss of productivity when a user can't sign
in to their device or an application.
To improve the SSPR experience for users, you can customize the look and feel of the password
reset page, email notifications, or sign-in pages. Customization options help to make it clear to
users that they're in the right place and give them confidence that they're accessing company
resources.
This article shows you how to customize the SSPR e-mail link for users, company branding, and
the Active Directory Federation Services (AD FS) sign-in page link. Anyone who is assigned the
Authentication Policy Administrator role can customize most of these options.
If this contact link is left in the default state, an email is sent to your administrators and
asks them to help in changing the user's password. The following sample e-mail shows
this default e-mail message:
If this contact link is customized, it sends the user to a webpage or sends an email to the
address specified by the administrator for assistance.
If you customize this link, we recommend that you set it to something that users are
already familiar with for support.
2 Warning
If you customize this setting with an email address and account that needs a
password reset, the user might be unable to ask for assistance.
To find out more about the different administrator roles and how to assign them, see Assign
administrator roles in Microsoft Entra ID.
Customize the helpdesk link to provide a web URL address that users can use to get
assistance. This option is under Password Reset > Customization > Custom helpdesk
email or URL.
Enable self-service password reset for all users. This option is under Password Reset >
Properties. If you don't want users to reset their own passwords, you can scope access to
an empty group. We don't recommend this option.
SSPR honors browser language settings. When there's a customization for browser language,
the page appears in the browser language customization. Otherwise, it falls to the default
locale customization.
Directory name
To make things look more personalized, you can change the organization name in the portal
and in the automated communications.
To change the directory name attribute in the Microsoft Entra admin center:
) Important
Microsoft recommends that you use roles with the fewest permissions. This practice helps
improve security for your organization. Global Administrator is a highly privileged role that
should be limited to emergency scenarios or when you can't use an existing role.
This organization name option is the most visible in automated emails, as in the following
examples:
Provide users with a link to the page for them to enter the SSPR workflow, such as
https://passwordreset.microsoftonline.com . To add a link to the AD FS sign-in page, use the
PowerShell
Related content
To understand the use of SSPR in your environment, see Reporting options for Microsoft
Entra password management.
If you or users have problems with SSPR, see Troubleshoot self-service password reset.
Prepopulate user authentication contact
information for Microsoft Entra self-service
password reset (SSPR)
Article • 04/27/2025
To use Microsoft Entra self-service password reset (SSPR), authentication information for a user
must be present. Most organizations have users register their authentication data themselves
while collecting information for multifactor authentication.
You can prepopulate authentication contact information if you meet the following
requirements:
There must be a space between the country code and the phone number.
Password reset doesn't support phone extensions. Even in the +1 4251234567X12345
format, extensions are removed before the call is placed.
Fields populated
If you use the default settings in Microsoft Entra Connect, the following mappings are made to
populate authentication contact information for SSPR.
ノ Expand table
If the Phone field is populated and Mobile phone is enabled in the SSPR policy, the user
sees that number on the password reset registration page and during the password reset
workflow.
If the Email field is populated and Email is enabled in the SSPR policy, the user sees that
email on the password reset registration page and during the password reset workflow.
Authentication Phone
Authentication Email
Security Questions and Answers
If you provided a value for Mobile phone or Alternate email, users can immediately use those
values to reset their passwords, even if they haven't registered for the service.
Users also see those values when they register for the first time, and they can modify them if
they want to. After they successfully register, these values are persisted in the Authentication
Phone and Authentication Email fields, respectively.
Alternate email
Mobile phone
Office phone
Can be set only if you're not synchronizing with an on-premises directory.
You can use Microsoft Graph PowerShell to interact with Microsoft Entra ID. You can also use
the Microsoft Graph REST API for managing authentication methods.
To quickly install from recent versions of PowerShell that support Install-Module , run the
following commands. The first line checks to see if the module is already installed.
PowerShell
Get-Module Microsoft.Graph
Install-Module Microsoft.Graph
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "User.ReadWrite.All"
After the module is installed, use the following steps to configure each field.
Set the authentication data with Microsoft Graph PowerShell
PowerShell
PowerShell
Next step
After the authentication contact information is prepopulated for users, complete the following
tutorial to enable self-service password reset:
By using self-service password reset (SSPR) in Microsoft Entra ID, users can change or reset
their password with no administrator or helpdesk involvement. Typically, users open a web
browser on another device to access the SSPR portal . To improve the experience on
computers that run Windows 7, 8, 8.1, 10, and 11, you can enable users to reset their password
on the Windows sign-in screen.
This article shows administrators how to enable SSPR for Windows devices in an enterprise.
If your IT team hasn't enabled the ability to use SSPR from your Windows device or you have
problems during sign-in, reach out to your helpdesk for more assistance.
General limitations
The following limitations apply to using SSPR from the Windows sign-in screen:
Password reset isn't currently supported from a Remote Desktop or from Hyper-V
enhanced sessions.
Some non-Microsoft credential providers are known to cause problems with this feature.
Disabling user account control via modification of the EnableLUA registry key is known to
cause issues.
This feature doesn't work for networks with 802.1x network authentication deployed and
the option Perform immediately before user logon. For networks with 802.1x network
authentication deployed, we recommend that you use machine authentication to enable
this feature.
Microsoft Entra hybrid-joined machines must have network connectivity line of sight to a
domain controller to use the new password and update cached credentials. The devices
must either be on the organization's internal network or on a virtual private network with
network access to an on-premises domain controller. If SSPR is the only requirement, the
network connection line to the domain controller isn't required.
If you use an image, before you run sysprep ensure that the web cache is cleared for the
built-in administrator before you perform the CopyProfile step. For more information,
see Performance poor when using custom default user profile .
The following settings are known to interfere with the ability to use and reset passwords
on Windows 10 devices:
If lock screen notifications are turned off, Reset password won't work.
HideFastUserSwitching is set to Enabled or 1.
DontDisplayLastUserName is set to Enabled or 1.
The combination of the following specific three settings can cause this feature to not
work.
Interactive logon: Do not require CTRL+ALT+DEL is set to Disabled (only for
Windows 10 version 1710 and earlier).
DisableLockScreenAppNotifications is set to Enabled or 1.
7 Note
These limitations also apply to Windows Hello for Business PIN reset from the device lock
screen.
2. Create a new device configuration profile by going to Device configuration > Profiles
and then selecting + Create Profile:
3. Select Create, and then provide a meaningful name for the profile, such as Windows 11
sign-in screen SSPR.
Optionally, provide a meaningful description of the profile, and then select Next.
4. Under Configuration settings, select Add and provide the following OMA-URI setting to
enable the reset password link:
Enter a meaningful name to explain what the setting is doing, such as Add SSPR
link.
Optionally, enter a meaningful description of the setting.
Set OMA-URI to
./Device/Vendor/MSFT/Policy/Config/Authentication/AllowAadPasswordReset .
5. You can assign the policy to specific users, devices, or groups. Assign the profile that you
want for your environment. Best practice is to assign it to a test group of devices first, and
then select Next.
For more information, see Assign user and device profiles in Microsoft Intune.
6. Configure the applicability rules that you want for your environment, such as Assign
profile if OS edition is Windows 10 Enterprise, and then select Next.
2. Select Windows + R to open the Run dialog, and then run regedit as an administrator.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\AzureADAccount
"AllowPasswordReset"=dword:00000001
The account itself has a randomly generated password, which is validated against an
organization's password policy. The password doesn't show up for device sign-in and is
automatically removed after the user resets their password. Multiple defaultuser profiles
might exist, but you can safely ignore them.
user authentication, it might fail with the error "Something went wrong. Please, try again later."
This error occurs because the local user account isn't authorized to use the authenticated
proxy.
You can also use per-user proxy configuration for SSPR if you modify the registry
template for the default account. The commands are:
The error "Something went wrong" can also occur when anything interrupts connectivity
to the URL https://passwordreset.microsoftonline.com/n/passwordreset . For example,
this error can occur when antivirus software runs on the workstation without exclusions
for the URLs passwordreset.microsoftonline.com , ajax.aspnetcdn.com , and
ocsp.digicert.com . Disable this software temporarily to test if the issue is resolved or not.
1. Download the appropriate installer for the Windows version that you want to enable.
2. Sign in to the machine where you want to install, and run the installer.
4. After the reboot, on the Windows sign-in screen, choose a user and select Forgot
password? to initiate the password reset workflow.
If you have problems when you use SSPR from the Windows sign-in screen, events are logged
on the machine and in Microsoft Entra ID. Microsoft Entra events include information about the
IP address and the ClientType parameter where the password reset occurred.
If more logging is required, change a registry key on the machine to enable verbose logging.
Enable verbose logging for troubleshooting purposes only by using the following registry key
value:
When users attempt to sign in, they see a Reset password or Forgot password link that opens
the SSPR experience on the sign-in screen. Now users can reset their password without having
to use another device to access a web browser.
For more information on how to use this feature, see Reset your work or school password .
Related content
To simplify the user registration experience, you can prepopulate user authentication contact
information for SSPR.
Plan a Microsoft Entra multifactor
authentication deployment
Article • 02/14/2025
This deployment guide shows you how to plan and implement a Microsoft Entra
multifactor authentication roll-out.
ノ Expand table
Scenario Prerequisite
Hybrid identity scenarios Deploy Microsoft Entra Connect and synchronize user identities
between the on-premises Active Directory Domain Services (AD
DS) and Microsoft Entra ID.
Enable more than one MFA method so that users have a backup method available
in case their primary method is unavailable. Methods include:
When choosing authenticating methods that will be used in your tenant consider the
security and usability of these methods:
To learn more about the strength and security of these methods and how they work, see
the following resources:
What authentication and verification methods are available in Microsoft Entra ID?
Video: Choose the right authentication methods to keep your organization safe
For the best flexibility and usability, use the Microsoft Authenticator app. This
authentication method provides the best user experience and multiple modes, such as
passwordless, MFA push notifications, and OATH codes. The Microsoft Authenticator
app also meets the National Institute of Standards and Technology (NIST) Authenticator
Assurance Level 2 requirements.
You can control the authentication methods available in your tenant. For example, you
may want to block some of the least secure methods, such as SMS.
ノ Expand table
In the Microsoft Entra admin center, you configure Conditional Access policies under
Protection > Conditional Access.
To learn more about creating Conditional Access policies, see Conditional Access policy
to prompt for Microsoft Entra multifactor authentication when a user signs in. This helps
you to:
Become familiar with the user interface
Get a first impression of how Conditional Access works
For end-to-end guidance on Microsoft Entra Conditional Access deployment, see the
Conditional Access deployment plan.
For administrators
To specific applications
For all users
For Azure management
From network locations you don't trust
Named locations
To manage your Conditional Access policies, the location condition of a Conditional
Access policy enables you to tie access controls settings to the network locations of your
users. We recommend using Named Locations so that you can create logical groupings
of IP address ranges or countries and regions. This creates a policy for all apps that
blocks sign-in from that named location. Be sure to exempt your administrators from
this policy.
Risk-based policies
If your organization uses Microsoft Entra ID Protection to detect risk signals, consider
using risk-based policies instead of named locations. Policies can be created to force
password changes when there's a threat of compromised identity or require MFA when
a sign-in is deemed at risk such as leaked credentials, sign-ins from anonymous IP
addresses, and more.
We recommend using devices with Primary Refresh Tokens (PRT) for improved end user
experience and reduce the session lifetime with sign-in frequency policy only on specific
business use cases.
For more information, see Optimize reauthentication prompts and understand session
lifetime for Microsoft Entra multifactor authentication.
It's critical to inform users about upcoming changes, registration requirements, and any
necessary user actions. We provide communication templates and user
documentation to prepare your users for the new experience and help to ensure a
successful rollout. Send users to https://myprofile.microsoft.com to register by
selecting the Security Info link on that page.
Provide them a Temporary Access Pass so that they can manage their own
authentication methods. You can also provide a Temporary Access Pass to enable
temporary access to resources.
Update their methods as an administrator. To do so, select the user in the
Microsoft Entra admin center, then select Protection > Authentication methods
and update their methods.
If your organization is federated with Microsoft Entra ID, you can configure Microsoft
Entra multifactor authentication as an authentication provider with AD FS resources
both on-premises and in the cloud.
Common integrations
Many vendors now support SAML authentication for their applications. When possible,
we recommend federating these applications with Microsoft Entra ID and enforcing MFA
through Conditional Access. If your vendor doesn't support modern authentication –
you can use the NPS extension. Common RADIUS client integrations include
applications such as Remote Desktop Gateways and VPN servers.
Citrix Gateway
Citrix Gateway supports both RADIUS and NPS extension integration, and a
SAML integration.
Cisco VPN
The Cisco VPN supports both RADIUS and SAML authentication for SSO.
By moving from RADIUS authentication to SAML, you can integrate the Cisco
VPN without deploying the NPS extension.
All VPNs
You can monitor authentication method registration and usage across your organization
using the Authentication Methods Activity dashboard. This helps you understand what
methods are being registered and how they're being used.
The Microsoft Entra sign-in logs include authentication details for events when a user is
prompted for MFA, and if any Conditional Access policies were in use.
NPS extension and AD FS logs for cloud MFA activity are now included in the sign-in
logs, and no longer published to the Activity report.
For more information, and additional Microsoft Entra multifactor authentication reports,
see Review Microsoft Entra multifactor authentication events.
Guided walkthrough
For a guided walkthrough of many of the recommendations in this article, see the
Microsoft 365 Configure multifactor authentication guided walkthrough .
Next steps
Deploy other identity features
Feedback
Was this page helpful? Yes No
To customize the end-user experience for Microsoft Entra multifactor authentication (MFA), you
can configure options for reporting suspicious activities. The following table describes
Microsoft Entra MFA settings, and subsections cover each setting in more detail.
7 Note
Report suspicious activity replaces the Block/unblock users, Fraud alert, and Notifications
legacy features. On March 1, 2025, the legacy features were removed.
ノ Expand table
Feature Description
Report suspicious Configure settings that allow users to report fraudulent verification requests.
activity
OATH tokens Used in cloud-based Microsoft Entra MFA environments to manage OATH tokens for
users.
Phone call Configure settings related to phone calls and greetings for cloud and on-premises
settings environments.
Providers This will show any existing authentication providers that you've associated with your
account. Adding new providers is disabled as of September 1, 2018.
Users who report an MFA prompt as suspicious are set to High User Risk. Administrators can
use risk-based policies to limit access for these users, or enable self-service password reset
(SSPR) for users to remediate problems on their own.
If you don't have a Microsoft Entra ID P2 license for risk-based policies, you can use risk
detection events to either manually identify and disable impacted users, or set up automation
by using custom workflows with Microsoft Graph. For more information about investigating
and remediating user risk, see:
To enable Report suspicious activity from the Authentication methods policy Settings:
ノ Expand table
Risk detections ID Protection > Dashboard > Risk detection Detection type: User Reported
report Suspicious Activity
Risk level: High
Source End user reported
Sign-in logs Entra ID > Monitoring & health > Sign-in logs Result detail will show as MFA
> Authentication details denied
Report Admin center Details
Audit logs Entra ID > Monitoring & health > Audit logs The suspicious activity appears
under Activity type
7 Note
You can also query for risk detections and users flagged as risky by using Microsoft Graph.
ノ Expand table
API Detail
For manual remediation, administrators or helpdesk can ask the users to reset their password
by using self-service password reset (SSPR), or do so on their behalf. For automated
remediation, use the Microsoft Graph APIs, or use PowerShell to create a script that changes
the user’s password, forces SSPR, revokes sign-in sessions, or temporarily disables the user
account.
Configure a policy that looks at user risk under Conditions > User risk. Look for users where
risk = high to either block them from sign in or require them to reset their password.
For more information, see Sign-in risk-based Conditional Access policy.
OATH tokens
Microsoft Entra ID supports the use of OATH TOTP SHA-1 tokens that refresh codes every 30 or
60 seconds. You can purchase these tokens from the vendor of your choice.
OATH TOTP hardware tokens typically come with a secret key, or seed, pre-programmed in the
token. You need to input these keys into Microsoft Entra ID as described in the following steps.
Secret keys are limited to 128 characters, which might not be compatible with all tokens. The
secret key can contain only the characters a-z or A-Z and digits 1-7. It must be encoded in
Base32.
Programmable OATH TOTP hardware tokens that can be reseeded can also be set up with
Microsoft Entra ID in the software token setup flow.
OATH hardware tokens are supported as part of a public preview. For more information about
previews, see Supplemental Terms of Use for Microsoft Azure Previews .
After you acquire tokens, you need to upload them in a comma-separated values (CSV) file
format. Include the UPN, serial number, secret key, time interval, manufacturer, and model, as
shown in this example:
csv
7 Note
Depending on the size of the CSV file, it might take a few minutes to process. Select Refresh to
get the status. If there are any errors in the file, you can download a CSV file that lists them.
The field names in the downloaded CSV file are different from those in the uploaded version.
After any errors are addressed, the administrator can activate each key by selecting Activate for
the token and entering the OTP displayed in the token.
) Important
Make sure to only assign each token to a single user. In the future, support for the
assignment of a single token to multiple users will stop to prevent a security risk.
Phone call settings
If users receive phone calls for MFA prompts, you can configure their experience, such as caller
ID or the voice greeting they hear.
In the United States, if you haven't configured MFA caller ID, voice calls from Microsoft come
from the following numbers. Users with spam filters should exclude these numbers.
ノ Expand table
Country/Region Number(s)
China +44 1235619418, +44 1235619536, +44 1235619537, +44 1235619538, +44
1235619539, +44 1235619535, +44 7897087681, +44 7897087690, +44
7897087692, +66 977832930
India +91 3371568300, +91 1205089400, +91 4471566601, +91 2271897557, +91
1203524400, +91 3335105700, +91 2235544120, +91 4435279600
Pakistan +92 4232618686, +44 7897087681, +44 7897087690, +44 7897087692, +66
977832930
7 Note
When Microsoft Entra multifactor authentication calls are placed through the public
telephone network, sometimes the calls are routed through a carrier that doesn't support
caller ID. Because of this, caller ID isn't guaranteed, even though Microsoft Entra
multifactor authentication always sends it. This applies both to phone calls and text
messages provided by Microsoft Entra multifactor authentication. If you need to validate
that a text message is from Microsoft Entra multifactor authentication, see What short
codes are used for sending messages?.
7 Note
When Microsoft Entra multifactor authentication calls are placed through the public
telephone network, sometimes the calls are routed through a carrier that doesn't support
caller ID. Because of this, caller ID isn't guaranteed, even though Microsoft Entra
multifactor authentication always sends it. This applies both to phone calls and text
messages provided by Microsoft Entra multifactor authentication. If you need to validate
that a text message is from Microsoft Entra multifactor authentication, see What short
codes are used for sending messages?.
For example, if there's only one custom message, and it's in German:
A user who authenticates in the German language will hear the custom German message.
A user who authenticates in English will hear the standard English message.
ノ Expand table
Extension prompt Thank you for using Microsoft's sign-in verification system. Please press the
pound key to continue.
Activation Thank you for using the Microsoft sign-in verification system. Please press the
pound key to finish your verification.
Retry (standard) Thank you for using the Microsoft sign-in verification system. Please press the
pound key to finish your verification.
Greeting (standard) Thank you for using the Microsoft sign-in verification system. Please press the
pound key to finish your verification.
Greeting (PIN) Thank you for using Microsoft's sign-in verification system. Please enter your
PIN followed by the pound key to finish your verification.
Retry (PIN) Thank you for using Microsoft's sign-in verification system. Please enter your
PIN followed by the pound key to finish your verification.
Extension prompt after If already at this extension, press the pound key to continue.
digits
Authentication denied I'm sorry, we cannot sign you in at this time. Please try again later.
Activation greeting Thank you for using the Microsoft sign-in verification system. Please press the
(standard) pound key to finish your verification.
Activation retry Thank you for using the Microsoft sign-in verification system. Please press the
(standard) pound key to finish your verification.
Activation greeting Thank you for using Microsoft's sign-in verification system. Please enter your
(PIN) PIN followed by the pound key to finish your verification.
Extension prompt Thank you for using Microsoft's sign-in verification system. Please transfer this
before digits call to extension <extension>.
You can access service settings from the Microsoft Entra admin center by going to Entra ID >
Multifactor authentication > Getting started > Configure > Additional cloud-based MFA
settings. A window or tab opens with additional service settings options.
Trusted IPs
Location conditions are the recommended way to configure MFA with Conditional Access
because of IPv6 support and other improvements. For more information about location
conditions, see Using the location condition in a Conditional Access policy. For steps to define
locations and create a Conditional Access policy, see Conditional Access: Block access by
location.
The trusted IPs feature of Microsoft Entra multifactor authentication also bypasses MFA
prompts for users who sign in from a defined IP address range. You can set trusted IP ranges
for your on-premises environments. When users are in one of these locations, there's no
Microsoft Entra multifactor authentication prompt. The trusted IPs feature requires Microsoft
Entra ID P1 edition.
7 Note
The trusted IPs can include private IP ranges only when you use MFA Server. For cloud-
based Microsoft Entra multifactor authentication, you can use only public IP address
ranges.
ノ Expand table
Managed Specific range of IP addresses: Administrators specify a range of IP addresses that can
bypass multifactor authentications for users who sign in from the company intranet. A
maximum of 50 trusted IP ranges can be configured.
Federated All Federated Users: All federated users who sign in from inside the organization can
bypass multifactor authentications. Users bypass verifications by using a claim that's
issued by Active Directory Federation Services (AD FS).
Specific range of IP addresses: Administrators specify a range of IP addresses that can
bypass multifactor authentication for users who sign in from the company intranet.
Trusted IP bypass works only from inside the company intranet. If you select the All Federated
Users option and a user signs in from outside the company intranet, the user has to
authenticate by using multifactor authentication. The process is the same even if the user
presents an AD FS claim.
7 Note
If both per-user MFA and Conditional Access policies are configured in the tenant, you
need to add trusted IPs to the Conditional Access policy and update the MFA service
settings.
When the trusted IPs feature is disabled, multifactor authentication is required for browser
flows. App passwords are required for older rich-client applications.
When trusted IPs are used, multifactor authentication isn't required for browser flows. App
passwords aren't required for older rich-client applications if the user hasn't created an app
password. After an app password is in use, the password is required.
Regardless of whether trusted IPs are defined, multifactor authentication is required for
browser flows. App passwords are required for older rich-client applications.
Enable named locations by using Conditional Access
You can use Conditional Access rules to define named locations by using the following steps:
4. On the Service Settings page, under Trusted IPs, choose one of these options:
For requests from federated users originating from my intranet: To choose this
option, select the checkbox. All federated users who sign in from the corporate
network bypass multifactor authentications by using a claim that's issued by AD FS.
Ensure that AD FS has a rule to add the intranet claim to the appropriate traffic. If
the rule doesn't exist, create the following rule in AD FS:
issue(claim = c);
7 Note
5. Select Save.
2. Browse to Entra ID > Multifactor authentication > Additional cloud-based MFA settings.
3. On the Service settings page, under Trusted IPs, choose one or both of the following
options:
For requests from federated users on my intranet: To choose this option, select the
checkbox. All federated users who sign in from the corporate network bypass
multifactor authentication by using a claim that's issued by AD FS. Ensure that AD FS
has a rule to add the intranet claim to the appropriate traffic. If the rule doesn't
exist, create the following rule in AD FS:
issue(claim = c);
For requests from a specified range of IP address subnets: To choose this option,
enter the IP addresses in the text box, in CIDR notation.
For IP addresses that are in the range xxx.xxx.xxx.1 through xxx.xxx.xxx.254, use
notation like xxx.xxx.xxx.0/24.
For a single IP address, use notation like xxx.xxx.xxx.xxx/32.
Enter up to 50 IP address ranges. Users who sign in from these IP addresses
bypass multifactor authentications.
4. Select Save.
Verification methods
You can choose the verification methods that are available for your users in the service settings
portal. When your users enroll their accounts for Microsoft Entra multifactor authentication,
they choose their preferred verification method from the options that you've enabled.
Guidance for the user enrollment process is provided in Set up my account for multifactor
authentication .
) Important
ノ Expand table
Method Description
Call to phone Places an automated voice call. The user answers the call and presses # on the
phone to authenticate. The phone number isn't synchronized to on-premises Active
Directory.
Text message to Sends a text message that contains a verification code. The user is prompted to
phone enter the verification code into the sign-in interface. This process is called one-way
SMS. Two-way SMS means that the user must text back a particular code. Two-way
SMS is deprecated and not supported after November 14, 2018. Administrators
should enable another method for users who previously used two-way SMS.
Notification Sends a push notification to the user's phone or registered device. The user views
through mobile the notification and selects Verify to complete verification. The Microsoft
app Authenticator app is available for Windows Phone , Android , and iOS .
Verification code The Microsoft Authenticator app generates a new OATH verification code every 30
from mobile app seconds. The user enters the verification code into the sign-in interface. The
or hardware token Microsoft Authenticator app is available for Windows Phone , Android , and
iOS .
For more information, see What authentication and verification methods are available in
Microsoft Entra ID?.
Enable and disable verification methods
To enable or disable verification methods, complete the following steps:
) Important
If an account or device is compromised, remembering MFA for trusted devices can affect
security. If a corporate account becomes compromised or a trusted device is lost or stolen,
you should Revoke MFA Sessions.
The revoke action revokes the trusted status from all devices, and the user is required to
perform multifactor authentication again. You can also instruct your users to restore the
original MFA status on their own devices as noted in Manage your settings for
multifactor authentication .
The Don't ask again for X days option isn't shown on non-browser applications, regardless of
whether the app supports modern authentication. These apps use refresh tokens that provide
new access tokens every hour. When a refresh token is validated, Microsoft Entra ID checks that
the last multifactor authentication occurred within the specified number of days.
The feature reduces the number of authentications on web apps, which normally prompt every
time. The feature can increase the number of authentications for modern authentication clients
that normally prompt every 180 days, if a lower duration is configured. It might also increase
the number of authentications when combined with Conditional Access policies.
) Important
The remember multifactor authentication feature isn't compatible with the keep me
signed in feature of AD FS, when users perform multifactor authentication for AD FS
through MFA Server or a third-party multifactor authentication solution.
If your users select keep me signed in on AD FS and also mark their device as trusted for
MFA, the user isn't automatically verified after the remember multifactor authentication
number of days expires. Microsoft Entra ID requests a fresh multifactor authentication, but
AD FS returns a token with the original MFA claim and date, rather than performing
multifactor authentication again. This reaction sets off a verification loop between Microsoft
Entra ID and AD FS.
The remember multifactor authentication feature isn't compatible with B2B users and
won't be visible for B2B users when they sign in to the invited tenants.
The remember multifactor authentication feature isn't compatible with the Sign-in
frequency Conditional Access control. For more information, see Configure authentication
session management with Conditional Access.
To enable and configure the option to allow users to remember their MFA status and bypass
prompts, complete the following steps:
Next steps
To learn more, see What authentication and verification methods are available in Microsoft
Entra ID?
How to verify that users are set up for
mandatory MFA
Article • 04/25/2025
This topic covers steps to verify that users in your organization are set up to meet Azure's
mandatory MFA requirements. For more information about which applications and accounts
are affected and how the rollout works, see Planning for mandatory multifactor authentication
for Azure and other admin portals.
For more information, see How to use two-step verification with your Microsoft account .
Use the following steps to verify that MFA is set up for your users, or to enable it if needed.
4. Follow the steps for your license type to verify MFA is enabled, or enable it if needed. To
complete these steps, you need to sign out as a Global Reader, and sign back in with a
more privileged role.
4. Give your policy a name. We recommend that organizations create a meaningful standard
for the names of their policies.
6. Under Include, select All users, or a group of users who sign in to the applications that
require MFA.
7. Under Target resources > Cloud apps > Include, Select apps, select Microsoft Admin
Portals and Windows Azure Service Management API.
8. Under Access controls > Grant, select Grant access, Require authentication strength,
select Multifactor authentication, and select Select.
) Important
Create the CA Policy in Report-Only mode to understand impact for your tenant so
you don't get locked out.
For more information, see Common Conditional Access policy: Require multifactor
authentication for admins accessing Microsoft admin portals.
You can use the Conditional Access insights and reporting workbook that contains sign-in logs
to understand impact for your tenant. As a prerequisite, you need to:
Create a workspace.
Integrate activity logs with Azure Monitor.
Choose the following parameters to see how mandatory MFA affects your tenant:
You can query the sign-in details or download the sign-in logs to dive deeper into the data. For
more information, see Conditional Access insights and reporting.
For more information about security defaults, see Security defaults in Microsoft Entra ID.
If you don't want to use security defaults, you can enable per-user MFA. When you enable
users individually, they perform MFA each time they sign in. An Authentication Administrator
can enable some exceptions. To enable per-user MFA:
Related content
Review the following topics to learn more about MFA:
How to postpone enforcement for a tenant where users are unable to sign in after rollout
of mandatory multifactor authentication (MFA) requirement for the the Azure portal,
Microsoft Entra admin center, or Microsoft Intune admin center
Planning for mandatory multifactor authentication for Azure and other admin portals
Tutorial: Secure user sign-in events with Microsoft Entra multifactor authentication
Secure sign-in events with Microsoft Entra multifactor
Plan a Microsoft Entra multifactor authentication deployment
Phishing-resistant MFA methods
Microsoft Entra multifactor authentication
Authentication methods
How to postpone enforcement for a tenant
where users are unable to sign in after
rollout of mandatory MFA requirement
Article • 04/20/2025
Users might not be able to sign into the Azure portal, Microsoft Entra admin center, or
Microsoft Intune admin center if they have trouble using their MFA method after the
mandatory requirement to use MFA is rolled out to their tenant.
If users are unable to sign in, you can run the following script as a Global Administrator to
temporarily postpone the MFA enforcement for your tenant.
For more information about Azure's mandatory MFA requirements, see Planning for mandatory
multifactor authentication for Azure and other admin portals. The following script applies only
to applications in Phase 1.
Script actions
The script takes the following actions:
Picks the user's tenant if they have one, or presents a list of tenants for them to choose
from. Optionally, the script asks for the date of enforcement. The default date is
September 30, 2025.
Logs the user into that tenant.
Gets the relevant authentication tokens.
Checks if user has elevated access. If not, the script does the elevation.
Checks if the appropriate role is assigned for the user on the settings resource provider
(RP). If not, the script assigns the appropriate role.
Updates the enforcement date in Entra ID.
Tries to remove elevated access if the script added it.
Prerequisites
Az PowerShell module
Global Administrator role
Script
PowerShell
param (
[Parameter(Mandatory=$false)]
[string]$TenantId,
[Parameter(Mandatory=$false)]
[string]$PostponementDateInUTC
)
function Set-TenantSettingsMFAPostponement {
$cutoffDate = [datetime]::Parse("2025-10-01T00:00:00Z")
$isDefaultDate = $false
if ($PostponementDateInUTC) {
# ISO 8601 check (basic): YYYY-MM-DDTHH:mm:ssZ
if ($PostponementDateInUTC -notmatch '^\d{4}-\d{2}-
\d{2}T\d{2}:\d{2}:\d{2}Z$') {
Write-Host "Invalid PostponementDateInUTC format. Must be in ISO 8601
format like '2025-09-30T23:59:59Z'." -ForegroundColor Red
return
}
$valid = $false
$today = [DateTime]::UtcNow.Date
$minDate = $today.AddDays(1)
$maxDate = [DateTime]::ParseExact("2025-09-30T23:59:59Z", "yyyy-MM-
ddTHH:mm:ssZ", $null).ToUniversalTime()
$valid = Check-Date-Is-Valid -maxDate $maxDate -minDate $minDate -
dateToCheck $PostponementDateInUTC
if (-not $valid) {
return
}
} else {
$PostponementDateInUTC = "2025-09-30T23:59:59Z"
$isDefaultDate = $true
}
if ($isDefaultDate) {
$newDate = Select-Postponement-Date
if (-not $newDate) {
return
} else {
$PostponementDateInUTC = $newDate.ToString("yyyy-MM-ddTHH:mm:ssZ")
$isDefaultDate = $false
}
}
if ($isDefaultDate) {
Write-Host "This will update the MFA enforcement date for TenantId:
'$($TenantId)' to the DEFAULT date of '$($PostponementDateInUTC)'"
} else {
Write-Host "This will update the MFA enforcement date for TenantId:
'$($TenantId)' to the date of '$($PostponementDateInUTC)'"
}
Write-Host
$confirmation = Read-Host "Do you want to continue (Y/N)?"
if ($confirmation -match '^[Yy]$') {
Write-Host "Proceeding..." -ForegroundColor Green
Write-Host
} else {
Write-Host "Operation canceled by user." -ForegroundColor Red
return
}
try {
$connected = Connect-AzAccount -TenantId $TenantId
} catch {
Write-Host "Failed to log the user in to specified tenant. Error:
$($_.Exception.Message)" -ForegroundColor Red
Write-Host
return
}
Start-Sleep -Seconds 3
# Constants
$ELEVATED_TENANT_ADMIN_ROLE_ID =
"/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-
7773c20a72d9"
$OWNER_ROLE_ID = "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-
a8ff-443c-a75c-2fe8c4bcb635"
# Get tokens
Write-Host "Fetching necessary authorization tokens..."
try {
$armToken = (Get-AzAccessToken -ResourceUrl
"https://management.azure.com/").Token
if ($null -eq $armToken) {
Write-Host "Failed to fetch an authorization token for Azure Resource
Manager. Make sure you run: Connect-AzAccount -TenantId '<your tenant id>'" -
ForegroundColor Red
return
}
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to fetch Azure Resource Manager token. Error:
$($_.Exception.Message)" -ForegroundColor Red
Write-Host
return
}
try {
$coreToken = (Get-AzAccessToken -ResourceUrl
"https://management.core.windows.net/").Token
if ($null -eq $coreToken) {
Write-Host "Failed to fetch an authorization token for Azure Resource
Manager core. Make sure you run: Connect-AzAccount -TenantId '<your tenant id>'" -
ForegroundColor Red
return
}
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to fetch Azure Resource Manager token. Error:
$($_.Exception.Message)" -ForegroundColor Red
Write-Host
return
}
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to check user's elevated access. Error:
$($_.Exception.Message)" -ForegroundColor Red
Write-Host
return
}
if (-not $hasElevatedAccess) {
Write-Host "User does NOT have elevated access. Elevating access..."
$elevateUri =
"https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-
version=2017-05-01"
try {
# Attempt the API call and capture the response
$response = Invoke-RestMethod -Headers @{Authorization = "Bearer
$coreToken"} -Uri $elevateUri -Method POST -ErrorAction Stop
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to elevate access. Error: $($_.Exception.Message)"
Write-Host "Make sure you are already a tenant admin"
return
}
} else {
Write-Host "User already has elevated access." -ForegroundColor Green
Write-Host
}
try {
# Re-check role assignments after possible elevation
$roleAssignments = Invoke-RestMethod -Headers @{Authorization = "Bearer
$armToken"} -Uri $roleCheckUri -Method GET
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to re-check user's elevated access. Error:
$($_.Exception.Message)" -ForegroundColor Red
Write-Host
try {
if (-not $hasOwnerRole) {
Write-Host "Owner role does NOT exist. Assigning Owner Role..."
# register provider
$regProviderUri =
"https://management.azure.com/providers/Microsoft.PortalServices/register?api-
version=2024-03-01"
try {
$providerRegistered = Invoke-RestMethod -Headers @{Authorization =
"Bearer $armToken"} -Uri $regProviderUri -Method POST
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to register PortalServices provider. Error:
$($_.Exception.Message)" -ForegroundColor Red
Write-Host
throw "Provider registration failed"
}
$successfulUpdate = $false
try {
$updateResults = Invoke-WebRequest -Headers @{Authorization = "Bearer
$armToken"; "Content-Type" = "application/json"} `
-Uri $settingsUri -Method PUT -Body $settingsBody
Start-Sleep -Seconds 3
} catch {
Write-Host "Failed to postpone MFA. Error: $($_.Exception.Message)" -
ForegroundColor Red
Write-Host
throw "MFA postponement failed"
}
# Optional verification
if ($successfulUpdate) {
Write-Host "Verifying that postponement date was properly stored..."
try {
$verify = Invoke-RestMethod -Headers @{Authorization = "Bearer
$armToken"} `
-Uri $settingsUri -Method GET
Start-Sleep -Seconds 3
function Remove-ElevatedAccess {
param (
[string]$objectId,
[string]$TenantId
)
$newAssignmentId = $false
foreach ($item in $roleAssignments.value) {
if ($item.properties.roleDefinitionId -eq $ELEVATED_TENANT_ADMIN_ROLE_ID)
{
$newAssignmentId = $($item.name)
}
}
try {
$connected = Connect-AzAccount -TenantId $TenantId
} catch {
Write-Host "Failed re-connect user. You will need to manually delete your
elevated status. Error: $($_.Exception.Message)" -ForegroundColor Red
Write-Host
return
}
$retryCount = 0
$maxRetries = 3
do {
$result = Delete-Elevated-Access -roleAssignmentId $newAssignmentId -
coreToken $coreToken -retryCount $retryCount
if ($result -eq $false) {
$retryCount = $retryCount + 1
} else {
return
}
} while ($retryCount -lt $maxRetries)
function Delete-Elevated-Access {
param (
[string]$roleAssignmentId,
[string]$coreToken,
[int]$retryCount
)
try {
$deleteUri =
"https://management.azure.com/providers/Microsoft.Authorization/roleAssignments/"
+ $roleAssignmentId + "?api-version=2018-07-01"
# Attempt the API call and capture the response
$response = Invoke-RestMethod -Headers @{Authorization = "Bearer
$coreToken"} -Uri $deleteUri -Method DELETE -ErrorAction Stop
# Even if there's no content in the response, the request could still have
succeeded
Write-Host "Successfully removed elevated access." -ForegroundColor Green
Write-Host
Start-Sleep -Seconds 3
return $true
} catch {
Write-Host "(Attempt #$($retryCount)): Failed to remove elevated access.
Error: $($_.Exception.Message)" -ForegroundColor Yellow
Start-Sleep -Seconds 3
return $false
}
}
function Decode-JwtPayload {
param (
[string]$Jwt
)
$payload = $parts[1]
$json =
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($payload))
return $json | ConvertFrom-Json
}
function Check-Date-Is-Valid {
param (
[DateTime]$maxDate,
[DateTime]$minDate,
[string]$dateToCheck
)
$inputDate = $maxDate
if ([string]::IsNullOrWhiteSpace($dateToCheck)) {
Write-Host "No input provided. Please enter a date in the required
format.`n" -ForegroundColor Red
return $valid
}
$inputDate = $inputDate.ToUniversalTime()
if ($inputDate -ge $minDate -and $inputDate -le $maxDate) {
return $inputDate
} else {
Write-Host "Date must be between $($minDate.ToString("u")) and
$($maxDate.ToString("u")) (UTC). Try again.`n" -ForegroundColor Red
}
return $valid
}
function Select-Postponement-Date {
$valid = $false
$today = [DateTime]::UtcNow.Date
$minDate = $today.AddDays(1)
$maxDate = [DateTime]::ParseExact("2025-09-30T23:59:59Z", "yyyy-MM-
ddTHH:mm:ssZ", $null).ToUniversalTime()
$inputDate = $maxDate
while (-not $valid) {
$inputDateStr = Read-Host "Enter a UTC date up to 2025-09-30T23:59:59Z
(e.g., 2025-09-15T00:00:00Z) or Enter to use the default"
$defaultChosen = $false
if([string]::IsNullOrWhiteSpace($inputDateStr)) {
$inputDateStr = "2025-09-30T23:59:59Z"
$defaultChosen = $true
}
if (-not $inputDate) {
$valid = $false
} else {
$valid = $true
if ($defaultChosen) {
Write-Host "You chose the enforcement date: $($inputDateStr)" -
ForegroundColor Green
} else {
Write-Host "You entered the enforcement date: $($inputDateStr)" -
ForegroundColor Green
}
Write-Host
}
}
return $inputDate
}
Related content
Planning for mandatory MFA for Azure and other admin portals
How to verify that users are set up for mandatory MFA
Satisfy Microsoft Entra ID multifactor
authentication (MFA) controls with MFA
claims from a federated IdP
Article • 03/04/2025
This document outlines the assertions Microsoft Entra ID requires from a federated
identity provider (IdP) to honor configured federatedIdpMfaBehaviour values of
acceptIfMfaDoneByFederatedIdp and enforceMfaByFederatedIdp for Security Assertions
Markup Language (SAML) and WS-Fed federation.
Tip
http://schemas.microsoft.com/claims/multipleauthn
http://schemas.microsoft.com/claims/wiaormultiauthn
<saml:AuthenticationStatement
AuthenticationMethod="http://schemas.microsoft.com/claims/multipleauthn"
..>
<saml:Subject> ... </saml:Subject>
</saml:AuthenticationStatement>
Or they can be included in the assertion as part of the AttributeStatement elements. For
example:
XML
<saml:AttributeStatement>
<saml:Attribute AttributeName="authenticationmethod"
AttributeNamespace="http://schemas.microsoft.com/ws/2008/06/identity/claims"
>
<saml:AttributeValue>...</saml:AttributeValue>
<saml:AttributeValue>http://schemas.microsoft.com/claims/multipleauthn</saml
:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
XML
<AuthnStatement AuthnInstant="2024-11-22T18:48:07.547Z">
<AuthnContext>
<AuthnContextClassRef>http://schemas.microsoft.com/claims/multipleauthn</Aut
hnContextClassRef>
</AuthnContext>
</AuthnStatement>
As a result, for inbound MFA assertions to be processed by Microsoft Entra, they must
be present in the AuthnContext element of the AuthnStatement . Only one method can
be presented in this manner.
stant .
Related content
federatedIdpMfaBehaviour
Feedback
Was this page helpful? Yes No
Requiring multifactor authentication (MFA) for the administrators in your tenant is one
of the first steps you can take to increase the security of your tenant. In this article, we'll
cover how to ensure all of your administrators are covered by multifactor authentication.
There are different ways to check if your admins are covered by an MFA policy.
To troubleshoot sign-in for a specific administrator, you can use the sign-in logs.
The sign-in logs let you filter Authentication requirement for specific users. Any
sign-in where Authentication requirement is Single-factor authentication means
there was no multifactor authentication policy that was required for the sign-in.
When viewing the details of a specific sign-in, select the Authentication details tab
for details about the MFA requirements. For more information, see Sign-in log
activity details.
To choose which policy to enable based on your user licenses, we have a new MFA
enablement wizard to help you compare MFA policies and see which steps are
right for your organization. The wizard shows administrators who were protected
by MFA in the last 30 days.
You can run this script to programmatically generate a report of all users with
directory role assignments who have signed in with or without MFA in the last 30
days. This script will enumerate all active built-in and custom role assignments, all
eligible built-in and custom role assignments, and groups with roles assigned.
If your administrators are licensed for Microsoft Entra ID P1 or P2, you can create a
Conditional Access policy to enforce MFA for administrators. You can also update
this policy to require MFA from users who are in custom roles.
You can read more about these authentication methods and their security
considerations in Microsoft Entra authentication methods.
Next steps
Enable passwordless sign-in with Microsoft Authenticator
Feedback
Was this page helpful? Yes No
To secure user sign-in events in Microsoft Entra ID, you can require Microsoft Entra
multifactor authentication (MFA). The best way to protect users with Microsoft Entra
MFA is to create a Conditional Access policy. Conditional Access is a Microsoft Entra ID
P1 or P2 feature that lets you apply rules to require MFA as needed in certain scenarios.
To get started using Conditional Access, see Tutorial: Secure user sign-in events with
Microsoft Entra multifactor authentication.
For Microsoft Entra ID Free tenants without Conditional Access, you can use security
defaults to protect users. Users are prompted for MFA as needed, but you can't define
your own rules to control the behavior.
If needed, you can instead enable each account for per-user Microsoft Entra MFA. When
you enable users individually, they perform MFA each time they sign in. You can enable
exceptions, such as when they sign in from trusted IP addresses, or when the remember
MFA on trusted devices feature is turned on.
Changing user states isn't recommended unless your Microsoft Entra ID licenses don't
include Conditional Access and you don't want to use security defaults. For more
information on the different ways to enable MFA, see Features and licenses for Microsoft
Entra multifactor authentication.
) Important
This article details how to view and change the status for per-user Microsoft Entra
multifactor authentication. If you use Conditional Access or security defaults, you
don't review or enable user accounts using these steps.
ノ Expand table
Enabled The user is enrolled in No. Legacy Yes. After the Yes. After the
per-user Microsoft Entra authentication session expires, access token
multifactor continues to Microsoft Entra expires, Microsoft
authentication, but can work until the multifactor Entra multifactor
still use their password registration authentication authentication
for legacy authentication. process is registration is registration is
If the user has no completed. required. required.
registered MFA
authentication methods,
they receive a prompt to
register the next time
they sign in using
modern authentication
(such as when they sign
in on a web browser).
Enforced The user is enrolled per- Yes. Apps require Yes. Microsoft Yes. Microsoft
user in Microsoft Entra app passwords. Entra multifactor Entra multifactor
multifactor authentication is authentication is
authentication. If the user required at sign- required at sign-
has no registered in. in.
authentication methods,
they receive a prompt to
register the next time
they sign in using
modern authentication
(such as when they sign
in on a web browser).
Users who complete
State Description Legacy Browser apps Modern
authentication affected authentication
affected affected
All users start out Disabled. When you enroll users in per-user Microsoft Entra
multifactor authentication, their state changes to Enabled. When enabled users sign in
and complete the registration process, their state changes to Enforced. Administrators
may move users between states, including from Enforced to Enabled or Disabled.
7 Note
If per-user MFA is re-enabled on a user and the user doesn't re-register, their MFA
state doesn't transition from Enabled to Enforced in MFA management UI. The
administrator must move the user directly to Enforced.
Tip
Enabled users are automatically switched to Enforced when they register for
Microsoft Entra multifactor authentication. Don't manually change the user
state to Enforced unless the user is already registered or if it is acceptable for
the user to experience interruption in connections to legacy authentication
protocols.
After you enable users, notify them by email. Tell the users that a prompt is displayed to
ask them to register the next time they sign in. If your organization uses applications
that don't run in a browser or support modern authentication, you can create
application passwords. For more information, see Enforce Microsoft Entra multifactor
authentication with legacy applications using app passwords.
HTTP
For example:
HTTP
GET https://graph.microsoft.com/beta/users/071cc716-8147-4397-a5ba-
b2105951cc0b/authentication/requirements
HTTP
HTTP/1.1 200 OK
Content-Type: application/json
{
"perUserMfaState": "enforced"
}
HTTP
PATCH https://graph.microsoft.com/beta/users/071cc716-8147-4397-a5ba-
b2105951cc0b/authentication/requirements
Content-Type: application/json
{
"perUserMfaState": "disabled"
}
Next steps
To configure Microsoft Entra multifactor authentication settings, see Configure Microsoft
Entra multifactor authentication settings.
To manage user settings for Microsoft Entra multifactor authentication, see Manage user
settings with Microsoft Entra multifactor authentication.
To understand why a user was prompted or not prompted to perform MFA, see
Microsoft Entra multifactor authentication reports.
Feedback
Was this page helpful? Yes No
This topic covers how to manage hardware oath tokens in Microsoft Entra ID, including
Microsoft Graph APIs that you can use to upload, activate, and assign hardware OATH
tokens.
To view the hardware OATH tokens policy status by using the APIs:
https
GET
https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/a
uthenticationMethodConfigurations/hardwareOath
https
PATCH
https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/a
uthenticationMethodConfigurations/hardwareOath
https
{
"state": "enabled"
}
3. Select Enable, choose which groups of users to include in the policy, and select
Save.
7 Note
There might be up to a 20-minute delay for the policy propagation. Allow an hour
for the policy to update before users can sign in with their hardware OATH token
and see it in their Security info .
https
POST
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardw
areOathDevices
{
"serialNumber": "GALT11420104",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": "C2dE3fH4iJ5kL6mN7oP1qR2sT3uV4w",
"timeIntervalInSeconds": 30,
"assignTo": {"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"}
}
The response includes the token id, and the user id that the token is assigned to:
HTTP
{
"@odata.context":
"https://graph.microsoft.com/beta/$metadata#directory/authenticationMethodDe
vices/hardwareOathDevices/$entity",
"id": "3dee0e53-f50f-43ef-85c0-b44689f2d66d",
"displayName": null,
"serialNumber": "GALT11420104",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": null,
"timeIntervalInSeconds": 30,
"status": "available",
"lastUsedDateTime": null,
"hashFunction": "hmacsha1",
"assignedTo": {
"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"displayName": "Test User"
}
}
Here's how the Authentication Policy Administrator can activate the token. Replace the
verification code in the Request body with the code from your hardware OATH token.
https
POST https://graph.microsoft.com/beta/users/00aa00aa-bb11-cc22-dd33-
44ee44ee44ee/authentication/hardwareOathMethods/3dee0e53-f50f-43ef-85c0-
b44689f2d66d/activate
{
"verificationCode" : "903809"
}
To validate the token is activated, sign in to Security info as the test user. If you're
prompted to approve a sign-in request from Microsoft Authenticator, select Use a
verification code.
https
GET
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardw
areOathDevices
https
POST
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardw
areOathDevices
https
{
"serialNumber": "GALT11420104",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": "abcdef2234567abcdef2234567",
"timeIntervalInSeconds": 30,
"hashFunction": "hmacsha1"
}
HTTP
#### Response
{
"@odata.context":
"https://graph.microsoft.com/beta/$metadata#directory/authenticationMethodDe
vices/hardwareOathDevices/$entity",
"id": "3dee0e53-f50f-43ef-85c0-b44689f2d66d",
"displayName": null,
"serialNumber": "GALT11420104",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": null,
"timeIntervalInSeconds": 30,
"status": "available",
"lastUsedDateTime": null,
"hashFunction": "hmacsha1",
"assignedTo": null
}
https
DELETE https://graph.microsoft.com/beta/users/66aa66aa-bb77-cc88-dd99-
00ee00ee00ee/authentication/hardwareoathmethods/6c0272a7-8a5e-490c-bc45-
9fe7a42fc4e0
https
DELETE
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardw
areOathDevices/3dee0e53-f50f-43ef-85c0-b44689f2d66d
https
POST
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardw
areOathDevices
{
"serialNumber": "GALT11420104",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": "C2dE3fH4iJ5kL6mN7oP1qR2sT3uV4w",
"timeIntervalInSeconds": 30,
"assignTo": {"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"}
}
The response includes an id value for each token. An Authentication Administrator can
assign the token to a user:
https
POST https://graph.microsoft.com/beta/users/00aa00aa-bb11-cc22-dd33-
44ee44ee44ee/authentication/hardwareOathMethods
{
"device":
{
"id": "6c0272a7-8a5e-490c-bc45-9fe7a42fc4e0"
}
}
Here are steps a user can follow to self-activate their hardware OATH token in Security
info:
5. Create a friendly name to help you choose this method to complete multifactor
authentication, and select Next.
6. Supply the random verification code that appears when you tap the button on the
device. For a token that refreshes its code every 30 seconds, you need to enter the
code and select Next within one minute. For a token that refreshes every 60
seconds, you have two minutes.
7. When you see the hardware OATH token is successfully added, select Done.
8. The hardware OATH token appears in the list of your available authentication
methods.
Here are steps users can follow to self-activate their hardware OATH token by using
Graph Explorer.
1. Open Microsoft Graph Explorer, sign in, and consent to the required permissions.
2. Make sure you have the required permissions. For a user to be able to do the self-
service API operations, admin consent is required for Directory.Read.All ,
User.Read.All , and User.ReadWrite.All .
3. Get a list of hardware OATH tokens that are assigned to your account, but not yet
activated.
https
GET
https://graph.microsoft.com/beta/me/authentication/hardwareOathMethods
4. Copy the id of the token device, and add it to the end of the URL followed by
/activate. You need to enter the verification code in the request body and submit
the POST call before the code changes.
https
POST
https://graph.microsoft.com/beta/me/authentication/hardwareOathMethods/
b65fd538-b75e-4c88-bd08-682c9ce98eca/activate
Request body:
https
{
"verificationCode": "988659"
}
For greater assurance that the token is only activated by a specific user, you can assign
the token to the user, and send the device to them for self-activation.
https
PATCH
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardw
areOathDevices
{
"@context":"#$delta",
"value": [
{
"@contentId": "1",
"serialNumber": "GALT11420108",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": "abcdef2234567abcdef2234567",
"timeIntervalInSeconds": 30,
"hashFunction": "hmacsha1"
},
{
"@contentId": "2",
"serialNumber": "GALT11420112",
"manufacturer": "Thales",
"model": "OTP 110 Token",
"secretKey": "2234567abcdef2234567abcdef",
"timeIntervalInSeconds": 30,
"hashFunction": "hmacsha1"
}
]
}
When this happens, both instances of the token are listed as registered for the user:
https
GET https://graph.microsoft.com/beta/users/{user-upn-or-
objectid}/authentication/hardwareOathMethods
Both instances of the token are also listed in OATH tokens (Preview) in the Microsoft
Entra admin center:
https
GET https://graph.microsoft.com/beta/users/{user-upn-or-
objectid}/authentication/hardwareOathMethods
Find the id of both tokens and copy the serialNumber of the duplicate token.
2. Identify the legacy token. Only one token is returned in the response of the
following command. That token was created by using Microsoft Graph.
https
GET
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/
hardwareOathDevices?$filter=serialNumber eq '20033752'
3. Remove the legacy token assignment from the user. Now that you know the id of
the new token, you can identify the id of the legacy token from the list returned in
step 1. Craft the URL using the legacy token id.
https
DELETE https://graph.microsoft.com/beta/users/{user-upn-or-
objectid}/authentication/hardwareOathMethods/{legacyHardwareOathMethodI
d}
4. Delete the legacy token by using the legacy token id in this call.
https
DELETE
https://graph.microsoft.com/beta/directory/authenticationMethodDevices/
hardwareOathDevices/{legacyHardwareOathMethodId}
Related content
Learn more about OATH tokens. Learn how to create one or more
hardwareOathTokenAuthenticationMethodDevices.
Feedback
Was this page helpful? Yes No
Hardware OATH tokens typically come with a secret key, or seed, preprogrammed in the
token. Before a user can sign in to their work or school account in Microsoft Entra ID by
using a hardware OATH token, an administrator needs to add the token to the tenant.
The recommended way to add the token is by using Microsoft Graph with a least
privileged administrator role. For more information, see Hardware OATH tokens
(preview).
Programmable OATH time-based one-time passcode (TOTP) hardware tokens that can
be reseeded can also be set up with Microsoft Entra ID in the software token setup flow.
Once tokens are acquired, a Global Administrator must upload them in a comma-
separated values (CSV) file format. The file should include the UPN, serial number, secret
key, time interval, manufacturer, and model, as shown in the following example:
csv
7 Note
Make sure you include the header row in your CSV file.
Once properly formatted as a CSV file, the Global Administrator can then sign in to the
Microsoft Entra admin center, navigate to Protection > Multifactor authentication >
OATH tokens, and upload the resulting CSV file.
Depending on the size of the CSV file, it can take a few minutes to process. Select the
Refresh button to get the current status. If there are any errors in the file, you can
download a CSV file that lists any errors for you to resolve. The field names in the
downloaded CSV file are different than the uploaded version.
Once any errors are addressed, a Privileged Authentication Administrator or an end user
can activate a key. Select Activate for the token and enter the OTP displayed on the
token. You can activate a maximum of 200 OATH tokens every 5 minutes.
) Important
Make sure to only assign each token to a single user. A single token can't be
assigned to multiple users.
To determine the error message, be sure and select View Details. The Hardware token
status blade opens and provides the summary of the status of the upload. It shows that
there's been a failure, or multiple failures, as in the following example:
To determine the cause of the failure listed, make sure to click the checkbox next to the
status you want to view, which activates the Download option. This downloads a CSV
file that contains the error identified.
The downloaded file is named Failures_filename.csv where filename is the name of the
file uploaded. It's saved to your default downloads directory for your browser.
This example shows the error identified as a user who doesn't currently exist in the
tenant directory:
Once you've addressed the errors listed, upload the CSV again until it processes
successfully. The status information for each attempt remains for 30 days. The CSV can
be manually removed by clicking the checkbox next to the status, then selecting Delete
status if so desired.
Related content
Learn more about how to manage OATH tokens. Learn about FIDO2 security key
providers that are compatible with passwordless authentication.
Feedback
Was this page helpful? Yes No
An external authentication method (EAM) lets users choose an external provider to meet
multifactor authentication (MFA) requirements when they sign in to Microsoft Entra ID.
An EAM can satisfy MFA requirements from Conditional Access policies, Microsoft Entra
ID Protection risk-based Conditional Access policies, Privileged Identity Management
(PIM) activation, and when the application itself requires MFA.
EAMs differ from federation in that the user identity is originated and managed in
Microsoft Entra ID. With federation, the identity is managed in the external identity
provider. EAMs require at least a Microsoft Entra ID P1 license.
A Discovery URL is the OpenID Connect (OIDC) discovery endpoint for the external
authentication provider.
7 Note
) Important
Ensure that the kid (Key ID) property is base64-encoded in both the JWT
header of the id_token and in the JSON Web Key Set (JWKS) retrieved from
the provider’s jwks_uri. This encoding alignment is essential for the seamless
validation of token signatures during authentication processes. Misalignment
can result in issues with key matching or signature validation.
Name: Adatum
Client ID: 00001111-aaaa-2222-bbbb-3333cccc4444
Discovery Endpoint: https://adatum.com/.well-known/openid-configuration
App ID: 11112222-bbbb-3333-cccc-4444dddd5555
) Important
The display name is the name that's shown to the user in the method picker. It
can't be changed after the method is created. Display names must be unique.
You need at least the Privileged Role Administrator role to grant admin consent for
the provider’s application. If you don't have the role required to grant consent, you
can still save your authentication method, but you can't enable it until consent is
granted.
After you enter the values from your provider, press the button to request for
admin consent to be granted to the application so that it can read the required
info from the user to authenticate correctly. You're prompted to sign in with an
account with admin permissions and grant the provider’s application with the
required permissions.
Once the method is enabled, all users in scope can choose the method for any MFA
prompts. If the application from the provider doesn't have consent approved, then any
sign-in with the method fails.
If the application is deleted or no longer has permission, users see an error and sign-in
fails. The method can't be used.
authenticationMethodsPolicy.
User experience
Users who are enabled for the EAM can use it when they sign-in and multifactor
authentication is required.
If the user has other ways to sign in and system-preferred MFA is enabled, those other
methods appear by default order. The user can choose to use a different method, and
then select the EAM. For example, if the user has Authenticator enabled as another
method, they get prompted for number matching.
If the user has no other methods enabled, they can just choose the EAM. They're
redirected to the external authentication provider to complete authentication.
Authentication method registration for EAMs
In the preview, all users in an include group for the EAM are considered MFA capable
and can use the external authentication method for satisfying MFA. Users that are MFA-
capable due to being an include target for an EAM are not included in reports on
authentication method registration.
7 Note
Next steps
For more information about how to manage authentication methods, see Manage
authentication methods for Microsoft Entra ID.
For EAM provider reference, see Microsoft Entra multifactor authentication external
method provider reference (Preview).
Feedback
Was this page helpful? Yes No
) Important
Effective September 1, 2018 new auth providers may no longer be created. Existing
auth providers may continue to be used and updated, but migration is no longer
possible. Multifactor authentication continues to be available as a feature in
Microsoft Entra ID P1 or P2 licenses.
Two-step verification is available by default for administrators in Microsoft Entra ID, and
Microsoft 365 users. However, if you wish to take advantage of advanced features then
you should enable Microsoft Entra multifactor authentication by using Conditional
Access. For more information, see Common Conditional Access policy: Require MFA for
all users.
If you purchased enough licenses to cover all users that are enabled for MFA, you can
delete the MFA provider altogether.
If your MFA provider isn't linked to a Microsoft Entra tenant, or you link the new MFA
provider to a different Microsoft Entra tenant, user settings and configuration options
aren't transferred. Also, existing Microsoft Entra multifactor authentication Servers need
to be reactivated using activation credentials generated through the MFA Provider.
U Caution
Authentication providers can be found in the Microsoft Entra admin center . Sign in as
at least an Authentication Policy Administrator. Browse to Protection > Multifactor
authentication > Providers. Click the listed providers to see details and configurations
associated with that provider.
environment:
caCert
cert
groupCACert
groupKey
groupName
licenseKey
pkey
After you confirm that all settings are migrated, browse to Providers and select the
ellipses ... and select Delete.
2 Warning
7 Note
Users with older versions of the Microsoft Authenticator app and Microsoft Entra
multifactor authentication Server may need to re-register their app.
Next steps
Configure multifactor authentication settings
Feedback
Was this page helpful? Yes No
Some older, non-browser apps like Office 2010 or earlier and Apple Mail before iOS 11
don't understand pauses or breaks in the authentication process. A Microsoft Entra
multifactor authentication (Microsoft Entra multifactor authentication) user who
attempts to sign in to one of these older, non-browser apps, can't successfully
authenticate. To use these applications in a secure way with Microsoft Entra multifactor
authentication enforced for user accounts, you can use app passwords. These app
passwords replaced your traditional password to allow an app to bypass multifactor
authentication and work correctly.
Modern authentication is supported for the Microsoft Office 2013 clients and later.
Office 2013 clients, including Outlook, support modern authentication protocols and can
work with two-step verification. After Microsoft Entra multifactor authentication is
enforced, app passwords aren't required for the client.
This article shows you how to use app passwords for legacy applications that don't
support multifactor authentication prompts.
7 Note
App passwords don't work for accounts that are required to use modern
authentication.
2 Warning
App passwords don't work in hybrid environments where clients communicate with
both on-premises and cloud auto-discover endpoints. Domain passwords are
required to authenticate on-premises. App passwords are required to authenticate
with the cloud.
7 Note
App passwords are verified by Microsoft Entra ID, and therefore, bypass federation.
Federation is actively used only when setting up app passwords.
The Identity Provider (IdP) is not contacted for federated (SSO) users, unlike the
passive flow. The app passwords are stored in the work or school account. If a user
leaves the company, the user's information flows to the work or school account by
using DirSync in real time. The disable / deletion of the account can take up to
three hours to synchronize, which can delay the disable / deletion of the app
password in Microsoft Entra ID.
On-premises client Access Control settings aren't honored by the app passwords
feature.
No on-premises authentication logging or auditing capability is available with the
app passwords feature.
Your on-premises instance of Active Directory is federated with Microsoft Entra ID.
You use Exchange online.
You use Skype for Business on-premises.
You use Microsoft Entra multifactor authentication.
In this scenario, you use the following credentials:
To sign in to Skype for Business, use your work or school account username and
password.
To access the address book from an Outlook client that connects to Exchange
online, use an app password.
3. Select "Configure MFA trusted IPs" in the bar across the top of the Conditional
Access | Named Locations window.
4. On the Multifactor authentication page, select the Allow users to create app
passwords to sign in to non-browser apps option.
7 Note
When you disable the ability for users to create app passwords, existing app
passwords continue to work. However, users can't manage or delete those existing
app passwords once you disable this ability.
When you disable the ability to create app passwords, it's also recommended to
create a Conditional Access policy to disable the use of legacy authentication.
This approach prevents existing app passwords from working, and forces the use of
modern authentication methods.
Users can also create app passwords after registration. For more information and
detailed steps for your users, see the following resource:
Next steps
For more information on how to allow users to quickly register for Microsoft Entra
multifactor authentication, see Combined security information registration
overview.
For more information about enabled and enforced user states for Microsoft Entra
multifactor authentication, see Enable per-user Microsoft Entra multifactor
authentication to secure sign-in events
Feedback
Was this page helpful? Yes No
If your organization is federated with Microsoft Entra ID, you can use Microsoft Entra
multifactor authentication to secure Active Directory Federation Services (AD FS)
resources, both on-premises and in the cloud. Microsoft Entra multifactor authentication
enables you to eliminate passwords and provide a more secure way to authenticate. With
AD FS, you can configure Microsoft Entra multifactor authentication for primary
authentication or use it as an extra authentication provider.
Unlike with AD FS in Windows Server 2012 R2, the AD FS 2016 Microsoft Entra multifactor
authentication adapter integrates directly with Microsoft Entra ID and doesn't require an
on premises Azure Multifactor Authentication Server. The Microsoft Entra multifactor
authentication adapter is built into Windows Server 2016. No other installation is
required.
Prior to this update, users had to authenticate by using Microsoft Entra multifactor
authentication for registration by visiting
https://account.activedirectory.windowsazure.com/Proofup.aspx . With this
update, an AD FS user who hasn't yet registered Microsoft Entra multifactor
authentication verification information can access the Azure proofup page by using
the shortcut https://aka.ms/mfasetup with only primary authentication, such as
Windows Integrated Authentication or username and password at the AD FS web
pages. If the user has no verification methods configured, Microsoft Entra ID
performs inline registration. The user sees the message, "Your admin has required
that you set up this account for additional security verification." Then the user selects
Set it up now. Users who already have at least one verification method configured
will still be prompted to provide multifactor authentication (MFA) when visiting the
proofup page.
It avoids passwords for sign-in to Microsoft Entra ID, Office 365, and other AD FS
apps.
It protects password based sign-in by requiring another factor, such as verification
code prior to the password.
You also might want to use Microsoft Entra multifactor authentication as the primary
authentication method and Microsoft Entra Conditional Access, including true MFA by
prompting for extra factors. To use Microsoft Entra multifactor authentication on
premises, you can configure the Microsoft Entra domain setting by setting SupportsMfa
to $true . In this configuration, Microsoft Entra ID can prompt AD FS to perform extra
authentication or "true MFA" for conditional access scenarios that require it.
Any AD FS user who isn't registered (hasn't yet configured MFA verification information),
should be prompted to configure verification information. To prompt unregistered users,
you can use a customized AD FS error page to direct users to https://aka.ms/mfasetup
and configure verification information. After configuration, the user can reattempt their
AD FS sign-in.
7 Note
With AD FS 2019, you're required to make a modification to the anchor claim type
for the Active Directory Claims Provider trust and modify this from the
windowsaccountname to User Principal Name (UPN). Run the following PowerShell
cmdlet. This has no effect on the internal functioning of the AD FS farm. It's possible
a few users might be re-prompted for credentials after this change is made. After
logging in again, end users will see no difference.
PowerShell
Set-AdfsClaimsProviderTrust -AnchorClaimType
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -TargetName
"Active Directory"
As described previously, any AD FS user who isn't registered (hasn't yet configured MFA
verification information) should be prompted to configure verification information. To
prompt unregistered users, you can use a customized AD FS error page to direct users to
https://aka.ms/mfasetup and configure verification information. After configuration, the
user can reattempt their AD FS sign-in.
Prerequisites
The following prerequisites are required when you use Microsoft Entra multifactor
authentication for authentication with AD FS:
7 Note
https://login.microsoftonline.com
7 Note
Azure AD and MSOnline PowerShell modules are deprecated as of March 30, 2024.
To learn more, read the deprecation update . After this date, support for these
modules are limited to migration assistance to Microsoft Graph PowerShell SDK and
security fixes. The deprecated modules will continue to function through March, 30
2025.
7 Note
Ensure that these steps are performed on all AD FS servers in your farm. If you've
multiple AD FS servers in your farm, you can perform the necessary configuration
remotely by using Azure AD PowerShell.
The TenantID is the name of your directory in Microsoft Entra ID. Use the following
PowerShell cmdlet to generate the new certificate:
PowerShell
7 Note
In order to complete this step you need to connect to your instance of Microsoft
Entra ID with Microsoft Graph PowerShell by using Connect-MgGraph . These steps
assume you've already connected via PowerShell.
PowerShell
) Important
This command needs to be run on all of the AD FS servers in your farm. Microsoft
Entra multifactor authentication will fail on servers that haven't had the certificate set
as the new credential against the Azure multifactor authentication Client.
7 Note
Open PowerShell, and enter your own tenantId with the Set-AdfsAzureMfaTenant cmdlet.
For customers that use Microsoft Azure Government cloud, add the -Environment USGov
parameter:
7 Note
You need to restart the AD FS service on each server in your farm before these
changes take effect. For minimal impact, take each AD FS server out of the NLB
rotation one at a time and wait for all connections to drain.
PowerShell
entries. Skip these steps if the previous cmdlet correctly registered your tenant
information or if you aren't in the Azure Government cloud:
ノ Expand table
Registry Value
key
SasUrl https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
StsUrl https://login.microsoftonline.us
ResourceUri https://adnotifications.windowsazure.us/StrongAuthenticationService.svc/Connector
3. Restart the AD FS service on each server in the farm before these changes take
effect. To reduce the effect on your systems, take each AD FS server out of the NLB
rotation one at a time and wait for all connections to drain.
After this step, you'll see that Microsoft Entra multifactor authentication is available as a
primary authentication method for intranet and extranet use.
If you want to use Microsoft Entra multifactor authentication as a secondary
authentication method, on the Edit Authentication Methods box, select the multifactor
tab (the Additional tab in AD FS 2019) and ensure that it's enabled. Otherwise you might
receive error messages, such as, "No valid strong authentication method found. Contact
your administrator to configure and enable an appropriate strong authentication
provider."
By default, when you configure AD FS with Microsoft Entra multifactor authentication, the
certificates generated via the New-AdfsAzureMfaTenantCertificate PowerShell cmdlet are
valid for two years. To determine how close to expiration your certificates are, and to
renew and install new certificates, use the following procedure.
1. Assess AD FS Microsoft Entra multifactor authentication certificate expiration date.
If the validity period of your certificates is nearing its end, start the renewal process
by generating a new Microsoft Entra multifactor authentication certificate on each
AD FS server. In PowerShell generate a new certificate on each AD FS server by
using the following cmdlet:
U Caution
If your certificate has already expired, don't add the -Renew $true parameter to
the following command. In this scenario, the existing expired certificate is
replaced with a new one instead of being left in place and an additional
certificate created.
PowerShell
If the certificate hasn't already expired, the command generates a new certificate
that is valid from two days after the current day to two years plus two days in the
future. AD FS and Microsoft Entra multifactor authentication operations aren't
affected when running the cmdlet or renewing the certificate. The two-day delay is
intentional and provides time to follow the next steps to configure the new
certificate in the tenant before AD FS starts by using it for Microsoft Entra
multifactor authentication.
7 Note
In order to complete this step you need to connect to your instance of
Microsoft Entra ID with Microsoft Graph PowerShell by using Connect-MgGraph .
These steps assume you've already connected via PowerShell.
PowerShell
If your previous certificate is expired, restart the AD FS service to pick up the new
certificate. You don't need to restart the AD FS service if you renewed a certificate
before it expired.
4. Verify that the new certificate(s) is used for Microsoft Entra multifactor
authentication.
After the new certificate(s) become valid, AD FS will pick them up and use each respective
certificate for Microsoft Entra multifactor authentication within a few hours to one day.
After AD FS uses the new certificates, on each server you'll see an event logged in the AD
FS Admin event log with the following information:
Output
TenantId: contoso.onmicrosoft.com.
Old thumbprint: 7CC103D60967318A11D8C51C289EF85214D9FC63.
Old expiration date: 9/15/2019 9:43:17 PM.
New thumbprint: 8110D7415744C9D4D5A4A6309499F7B48B5F3CCF.
New expiration date: 2/27/2020 2:16:07 AM.
HTML
<div id="errorArea">
<div id="openingMessage" class="groupMargin bigText">
An error occurred
</div>
<div id="errorMessage" class="groupMargin">
Authentication attempt failed. Select a different sign in option
or close the web browser and sign in again. Contact your administrator for
more information.
</div>
When Microsoft Entra ID as extra authentication is being attempted, the unproofed user
sees an AD FS error page containing the following messages:
HTML
7 Note
For guidance in general on how to customize the onload.js file, see Advanced
Customization of AD FS Sign-in Pages.
PowerShell
PowerShell
JavaScript
//Custom Code
//Customize MFA exception
//Begin
) Important
6. Import the onload.js file into your custom theme by entering the following Windows
PowerShell command:
PowerShell
7. Apply the custom AD FS Web Theme by entering the following Windows PowerShell
command:
PowerShell
Related links
Manage SSL/TLS protocols and cipher suites for AD FS
Feedback
Was this page helpful? Yes No
Getting started with Microsoft Entra
multifactor authentication and Active
Directory Federation Services
Article • 03/04/2025
If your organization has federated your on-premises Active Directory with Microsoft
Entra ID using AD FS, there are two options for using Microsoft Entra multifactor
authentication.
The following table summarizes the verification experience between securing resources
with Microsoft Entra multifactor authentication and AD FS
ノ Expand table
Securing Microsoft Entra resources using The first verification step is performed on-
Microsoft Entra multifactor authentication premises using AD FS.
The second step is a phone-based method
carried out using cloud authentication.
Securing Microsoft Entra resources using The first verification step is performed on-
Active Directory Federation Services premises using AD FS.
The second step is performed on-premises
by honoring the claim.
App passwords are verified using cloud authentication, so they bypass federation.
Federation is only actively used when setting up an app password.
On-premises Client Access Control settings aren't honored by app passwords.
You lose on-premises authentication-logging capability for app passwords.
Account disable/deletion may take up to three hours for directory sync, delaying
disable/deletion of app passwords in the cloud identity.
Feedback
Was this page helpful? Yes No
If your organization is federated with Microsoft Entra ID, use Microsoft Entra multifactor
authentication or Active Directory Federation Services (AD FS) to secure resources that
are accessed by Microsoft Entra ID. Use the following procedures to secure Microsoft
Entra resources with either Microsoft Entra multifactor authentication or Active Directory
Federation Services.
7 Note
1. Open AD FS Management.
3. Right-select on Microsoft Office 365 Identity Platform and select Edit Claim
Rules.
4. On Issuance Transform Rules, select Add Rule.
5. On the Add Transform Claim Rule Wizard, select Pass Through or Filter an
Incoming Claim from the drop-down and select Next.
6. Give your rule a name.
This example uses Microsoft 365 for our Relying Party Trusts.
1. Open AD FS Management.
5. On the Add Transform Claim Rule Wizard, select Pass Through or Filter an
Incoming Claim from the drop-down and select Next.
6. In the box next to Claim rule name, give your rule a name. For example:
InsideCorpNet.
7. From the drop-down, next to Incoming claim type, select Inside Corporate
Network.
8. Select Finish.
10. On the Add Transform Claim Rule Wizard, select Send Claims Using a Custom Rule
from the drop-down and select Next.
11. In the box under Claim rule name: enter Keep Users Signed In.
ad-fs-claim-rule
c:[Type == "https://schemas.microsoft.com/2014/03/psso"]
=> issue(claim = c);
13. Select Finish.
3. From the Conditional Access - Named locations blade, select Configure MFA
trusted IPs
4. On the Service Settings page, under trusted IPs, select Skip multifactor-
authentication for requests from federated users on my intranet.
5. Select save.
That's it! At this point, federated Microsoft 365 users should only have to use MFA when
a claim originates from outside the corporate intranet.
Feedback
Was this page helpful? Yes No
The Network Policy Server (NPS) extension for Microsoft Entra multifactor authentication
adds cloud-based MFA capabilities to your authentication infrastructure using your
existing servers. With the NPS extension, you can add phone call, text message, or
phone app verification to your existing authentication flow without having to install,
configure, and maintain new servers.
The NPS extension acts as an adapter between RADIUS and cloud-based Microsoft Entra
multifactor authentication to provide a second factor of authentication for federated or
synced users.
1. NAS/VPN Server receives requests from VPN clients and converts them into
RADIUS requests to NPS servers.
2. NPS Server connects to Active Directory Domain Services (AD DS) to perform the
primary authentication for the RADIUS requests and, upon success, passes the
request to any installed extensions.
7 Note
Although NPS doesn't support number matching, the latest NPS extension
does support time-based one-time password (TOTP) methods, such as the
TOTP available in Microsoft Authenticator. TOTP sign-in provides better
security than the alternative Approve/Deny experience.
After May 8, 2023, when number matching is enabled for all users, anyone
who performs a RADIUS connection with NPS extension version 1.2.2216.1 or
later will be prompted to sign in with a TOTP method instead. Users must
have a TOTP authentication method registered to see this behavior. Without a
TOTP method registered, users continue to see Approve/Deny.
If you look at the NPS server logs, you may see these additional requests being
discarded. This behavior is by design to protect the end user from getting multiple
requests for a single authentication attempt. Discarded requests in the NPS server event
log don't indicate there's a problem with the NPS server or the Microsoft Entra
multifactor authentication NPS extension.
To minimize discarded requests, we recommend that VPN servers are configured with a
timeout of at least 60 seconds. If needed, or to reduce discarded requests in the event
logs, you can increase the VPN server timeout value to 90 or 120 seconds.
Due to this UDP protocol behavior, the NPS server could receive a duplicate request and
send another MFA prompt, even after the user has already responded to the initial
request. To avoid this timing condition, the Microsoft Entra multifactor authentication
NPS extension continues to filter and discard duplicate requests for up to 10 seconds
after a successful response has been sent to the VPN server.
Again, you may see discarded requests in the NPS server event logs, even when the
Microsoft Entra multifactor authentication prompt was successful. This is expected
behavior, and doesn't indicate a problem with the NPS server or Microsoft Entra
multifactor authentication NPS extension.
You can create as many Microsoft Entra multifactor authentication-enabled NPS servers
as you need. If you do install multiple servers, you should use a difference client
certificate for each one of them. Creating a certificate for each server means that you
can update each cert individually, and not worry about downtime across all your servers.
VPN servers route authentication requests, so they need to be aware of the new
Microsoft Entra multifactor authentication-enabled NPS servers.
Prerequisites
The NPS extension is meant to work with your existing infrastructure. Make sure you
have the following prerequisites before you begin.
Licenses
The NPS Extension for Microsoft Entra multifactor authentication is available to
customers with licenses for Microsoft Entra multifactor authentication (included with
Microsoft Entra ID P1 and Premium P2 or Enterprise Mobility + Security). Consumption-
based licenses for Microsoft Entra multifactor authentication, such as per user or per
authentication licenses, aren't compatible with the NPS extension.
Software
Windows Server 2012 or later. Please note that Windows Server 2012 has reached
end of support.
.NET Framework 4.7.2 or later is required for the Microsoft Graph PowerShell
module.
PowerShell version 5.1 or later. To check the version of PowerShell, run this
command:
PowerShell
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 16232 1000
Libraries
Visual Studio 2017 C++ Redistributable (x64) will be installed by the NPS Extension
installer.
Microsoft Graph PowerShell is also installed through a configuration script you run
as part of the setup process, if not already present. There's no need to install a
module in advance.
https://login.microsoftonline.com
https://login.microsoftonline.us (Azure Government)
https://credentials.azure.com
https://strongauthenticationservice.auth.microsoft.com
operated by 21Vianet)
https://adnotifications.windowsazure.com
https://adnotifications.windowsazure.us (Azure Government)
Additionally, connectivity to the following URLs is required to complete the setup of the
adapter using the provided PowerShell script:
https://onegetcdn.azureedge.net
https://login.microsoftonline.com
https://graph.microsoft.com
https://provisioningapi.microsoftonline.com
https://aadcdn.msauth.net
https://www.powershellgallery.com
https://go.microsoft.com
https://aadcdn.msftauthimages.net
The following table describes the ports and protocols required for the NPS extension.
TCP 443 (inbound and outbound) is the only port needed from the NPS Extension server
to Entra ID. The RADIUS ports are needed between the access point and the NPS
Extension server.
ノ Expand table
HTTPS 443 Enable user authentication against Entra ID (required when installing the
extension)
1. On your server, open Server Manager. Select Add Roles and Features Wizard from
the Quickstart menu.
2. For your installation type, choose Role-based or feature-based installation.
3. Select the Network Policy and Access Services server role. A window may pop up
to inform you of additional required features to run this role.
4. Continue through the wizard until the Confirmation page. When ready, select
Install.
It may take a few minutes to install the NPS server role. When finished, continue with
the following sections to configure this server to handle incoming RADIUS requests
from the VPN solution.
If you need to kick off a new round of synchronization, see Microsoft Entra Connect
Sync: Scheduler.
The password encryption algorithm used between the RADIUS client (VPN,
Netscaler server, or other) and the NPS servers.
PAP supports all the authentication methods of Microsoft Entra multifactor
authentication in the cloud: phone call, one-way text message, mobile app
notification, OATH hardware tokens, and mobile app verification code.
CHAPV2 and EAP support phone call and mobile app notification.
The input methods that the client application (VPN, Netscaler server, or other) can
handle. For example, does the VPN client have some means to allow the user to
type in a verification code from a text or mobile app?
Regardless of the authentication protocol that's used (PAP, CHAP, or EAP), if your
MFA method is text-based (SMS, mobile app verification code, or OATH hardware
token) and requires the user to enter a code or text in the VPN client UI input field,
the authentication might succeed. But any RADIUS attributes that are configured in
the Network Access Policy are not forwarded to the RADIUS client (the Network
Access Device, like the VPN gateway). As a result, the VPN client might have more
access than you want it to have, or less access or no access.
If you need to create and configure a test account, use the following steps:
) Important
Make sure that users have successfully registered for Microsoft Entra multifactor
authentication. If users have previously only registered for self-service password
reset (SSPR), StrongAuthenticationMethods is enabled for their account. Microsoft
Entra multifactor authentication is enforced when StrongAuthenticationMethods is
configured, even if the user only registered for SSPR.
Combined security registration can be enabled that configures SSPR and Microsoft
Entra multifactor authentication at the same time. For more information, see Enable
combined security information registration in Microsoft Entra ID.
You can also force users to re-register authentication methods if they previously
only enabled SSPR.
Users who connect to the NPS server using username and password will be
required to complete a multifactor authentication prompt.
) Important
Install the NPS extension on a different server than the VPN access point.
If you later upgrade an existing NPS extension install, to avoid a reboot of the
underlying server, complete the following steps:
Unless you want to use your own certificates (instead of the self-signed certificates that
the PowerShell script generates), run the PowerShell script to complete the NPS
extension installation. If you install the extension on multiple servers, each server should
have its own certificate.
PowerShell
cd "C:\Program Files\Microsoft\AzureMfa\Config"
You might be required to first enable TLS 1.2 for PowerShell to be able to connect
and download packages properly:
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12
) Important
For customers that use the Azure for US Government or Azure operated by
21Vianet clouds, first edit the AzureMfaNpsExtnConfigSetup.ps1 script to
include the Environment parameters for the required cloud. For example,
specify -Environment USGov or -Environment China. Environment options:
USGov, USGovDoD, Germany, China, Global. Example: Connect-MgGraph -
Scopes Application.ReadWrite.All -Environment USGov -NoWelcome -Verbose
-ErrorAction Stop.
PowerShell
.\AzureMfaNpsExtnConfigSetup.ps1
5. PowerShell prompts for your tenant ID. Use the Tenant ID GUID that you copied in
the prerequisites section.
If your previous computer certificate has expired, and a new certificate has been
generated, you should delete any expired certificates. Having expired certificates can
cause issues with the NPS Extension starting.
7 Note
If you use your own certificates instead of generating certificates with the
PowerShell script, make sure that they include the Client Authentication purpose
and that the private key has READ permission granted to the user NETWORK
SERVICE.
If you use version 1.2.2893.1 or later, the certificate’s thumbprint can be used to
identify the certificate. Set
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa\CLIENT_CERT_IDENTIFIER
to the thumbprint in Registry Settings. There have been issues with subject name
lookup for some certificates. Using thumbprint works around this issue.
If you use version 1.2.2677.2 or earlier, the certificate must align to the NPS naming
convention and the subject name must be CN=<TenantID>,OU=Microsoft NPS
Extension.
) Important
Only configure these registry settings if you're an Azure Government or Azure
operated by 21Vianet customer.
2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa .
ノ Expand table
AZURE_MFA_HOSTNAME strongauthenticationservice.auth.microsoft.us
AZURE_MFA_RESOURCE_HOSTNAME adnotifications.windowsazure.us
STS_URL https://login.microsoftonline.us/
4. For Microsoft Azure operated by 21Vianet customers, set the following key values:
ノ Expand table
AZURE_MFA_HOSTNAME strongauthenticationservice.auth.microsoft.cn
AZURE_MFA_RESOURCE_HOSTNAME adnotifications.windowsazure.cn
STS_URL https://login.chinacloudapi.cn/
5. Repeat the previous two steps to set the registry key values for each NPS server.
For minimal impact, take each NPS server out of the NLB rotation one at a time
and wait for all connections to drain.
Certificate rollover
With release 1.0.1.32 of the NPS extension, reading multiple certificates is now
supported. This capability helps facilitate rolling certificate updates prior to their
expiration. If your organization is running a previous version of the NPS extension,
upgrade to version 1.0.1.32 or higher.
Certificates created by the AzureMfaNpsExtnConfigSetup.ps1 script are valid for 2 years.
Monitor certificates for expiration. Certificates for the NPS extension are placed in the
Local Computer certificate store under Personal and are Issued To the tenant ID provided
to the installation script.
This section includes design considerations and suggestions for successful NPS
extension deployments.
Configuration limitations
The NPS extension for Microsoft Entra multifactor authentication doesn't include
tools to migrate users and settings from MFA Server to the cloud. For this reason,
we suggest using the extension for new deployments, rather than existing
deployment. If you use the extension on an existing deployment, your users have
to perform proof-up again to populate their MFA details in the cloud.
The NPS extension doesn't support custom phone calls configured on Phone call
settings. The default phone call language will be used (EN-US).
The NPS extension uses the UPN from the on-premises AD DS environment to
identify the user on Microsoft Entra multifactor authentication for performing the
Secondary Auth. The extension can be configured to use a different identifier like
alternate login ID or custom AD DS field other than UPN. For more information,
see the article, Advanced configuration options for the NPS extension for
multifactor authentication.
Not all encryption protocols support all verification methods.
PAP supports phone call, one-way text message, mobile app notification, and
mobile app verification code
CHAPV2 and EAP support phone call and mobile app notification
Configure RADIUS clients that you want to require MFA to send requests to the NPS
server configured with the extension, and other RADIUS clients to the NPS server not
configured with the extension.
ノ Expand table
This setting determines what to do when a user isn't enrolled for MFA. When the key
doesn't exist, is not set, or is set to TRUE, and the user isn't enrolled, the extension fails
the MFA challenge.
When the key is set to FALSE and the user isn't enrolled, authentication proceeds
without performing MFA. If a user is enrolled in MFA, they must authenticate with MFA
even if REQUIRE_USER_MATCH is set to FALSE.
You can choose to create this key and set it to FALSE while your users are onboarding,
and may not all be enrolled for Microsoft Entra multifactor authentication yet. However,
since setting the key permits users that aren't enrolled for MFA to sign in, you should
remove this key before going to production.
Troubleshooting
PowerShell
Run the AzureMfaNpsExtnConfigSetup.ps1 script again and it should not return the
Service principal was not found error.
PowerShell
Connect-MgGraph -Scopes 'Application.Read.All'
(Get-MgServicePrincipal -Filter "appid eq '00001111-aaaa-2222-bbbb-
3333cccc4444'" -Property "KeyCredentials").KeyCredentials |
Format-List KeyId, DisplayName, StartDateTime, EndDateTime,
@{Name = "Key"; Expression = {[System.Convert]::ToBase64String($_.Key) }},
@{Name = "Thumbprint"; Expression = {
[Convert]::ToBase64String($_.CustomKeyIdentifier)}}
These commands print all the certificates associating your tenant with your instance of
the NPS extension in your PowerShell session. Look for your certificate by exporting
your client cert as a Base-64 encoded X.509(.cer) file without the private key, and
compare it with the list from PowerShell. Compare the thumbprint of the certificate
installed on the server to this one. The certificate thumbprints should match.
To check if you have a valid certificate, check the local Computer Account's Certificate
Store using MMC, and ensure the certificate hasn't passed its expiry date. To generate a
newly valid certificate, rerun the steps from Run the PowerShell installer script.
For more information on why you see discarded packets in the NPS server logs, see
RADIUS protocol behavior and the NPS extension at the start of this article.
After May 8, 2023, when number matching is enabled for all users, anyone who
performs a RADIUS connection with NPS extension version 1.2.2216.1 or later will be
prompted to sign in with a TOTP method instead.
Users must have a TOTP authentication method registered to see this behavior. Without
a TOTP method registered, users continue to see Approve/Deny.
Prior to the release of NPS extension version 1.2.2216.1 after May 8, 2023, organizations
that run earlier versions of NPS extension can modify the registry to require users to
enter a TOTP. For more information, see NPS extension.
Additional troubleshooting
Additional troubleshooting guidance and possible solutions can be found in the article,
Resolve error messages from the NPS extension for Microsoft Entra multifactor
authentication.
Next steps
Overview and configuration of Network Policy Server in Windows Server
Configure alternate IDs for login, or set up an exception list for IPs that shouldn't
perform two-step verification in Advanced configuration options for the NPS
extension for multifactor authentication
Learn how to integrate Remote Desktop Gateway and VPN servers using the NPS
extension
Resolve error messages from the NPS extension for Microsoft Entra multifactor
authentication
Feedback
Was this page helpful? Yes No
The Network Policy Server (NPS) extension extends your cloud-based Microsoft Entra
multifactor authentication features into your on-premises infrastructure. This article
assumes that you already have the extension installed, and now want to know how to
customize the extension for your needs.
Alternate sign-in ID
Since the NPS extension connects to both your on-premises and cloud directories, you
might encounter an issue where your on-premises user principal names (UPNs) don't
match the names in the cloud. To solve this problem, use alternate sign-in IDs.
Within the NPS extension, you can designate an Active Directory attribute to be used as
the UPN for Microsoft Entra multifactor authentication. This enables you to protect your
on-premises resources with two-step verification without modifying your on-premises
UPNs.
ノ Expand table
If LDAP_LOOKUP_FORESTS is
configured (not empty), this flag is
enforced as true, regardless of the
value of the registry setting. In this
case, the NPS extension requires
the Global Catalog to be
configured with the
AlternateLoginId attribute for each
forest.
To troubleshoot problems with alternate sign-in IDs, use the recommended steps for
Alternate sign-in ID errors.
IP exceptions
If you need to monitor server availability, like if load balancers verify which servers are
running before sending workloads, you don't want verification requests to block these
checks. Instead, create a list of IP addresses that you know are used by service accounts,
and disable multifactor authentication requirements for that list.
To configure an IP allowed list, go to HKLM\SOFTWARE\Microsoft\AzureMfa and configure
the following registry value:
ノ Expand table
7 Note
This registry key isn't created by default by the installer and an error appears in the
AuthZOptCh log when the service is restarted. This error in the log can be ignored,
but if this registry key is created and left empty if not needed then the error
message doesn't return.
When a request comes in from an IP address that exists in the IP_WHITELIST , two-step
verification is skipped. The IP list is compared to the IP address that is provided in the
ratNASIPAddress attribute of the RADIUS request. If a RADIUS request comes in without
the ratNASIPAddress attribute, a warning is logged: "IP_WHITE_LIST_WARNING::IP
Whitelist is being ignored as the source IP is missing in the RADIUS request
NasIpAddress attribute."
Next steps
Resolve error messages from the NPS extension for Microsoft Entra multifactor
authentication
Use REQUIRE_USER_MATCH to prepare for users that aren't enrolled for MFA
Feedback
Was this page helpful? Yes No
The article helps you integrate Network Policy Server (NPS) with Azure VPN Gateway
RADIUS authentication to deliver multifactor authentication (MFA) for point-to-site (P2S)
VPN connections.
Prerequisites
Microsoft Entra ID: In order to enable MFA, the users must be in Microsoft Entra
ID, which must be synced from either the on-premises environment, or the cloud
environment.
The user must have completed the autoenrollment process for MFA. For more
information, see Set up my account for two-step verification .
If your MFA is text-based (SMS, mobile app verification code, etc.) and requires
the user to enter a code or text in the VPN client UI, authentication won't
succeed and isn't a supported scenario.
Route-based VPN gateway: You must already have a route-based VPN gateway.
For steps to create a route-based VPN gateway, see Tutorial: Create and manage a
VPN gateway.
NPS: You must already have installed the Network Policy Server and configured the
VPN policy for RADIUS.
For steps to install the Network Policy Server, see Install the Network Policy
Server (NPS).
For steps to create a VPN policy for RADIUS, see Create a VPN policy for
RADIUS.
2. On the Overview page, verify that the Gateway type is set to VPN and that the
VPN type is route-based.
3. In the left pane, expand Settings and select Point to site configuration >
Configure now.
Address pool: This value specifies the client address pool from which the VPN
clients receive an IP address when they connect to the VPN gateway. The
address pool must be a private IP address range that doesn't overlap with the
virtual network address range. For example, 172.16.201.0/24.
Tunnel type: Select the tunnel type. For example, select IKEv2 and OpenVPN
(SSL).
Authentication type: Select RADIUS authentication.
If you have an active-active VPN gateway, a third public IP address is
required. You can create a new public IP address using the example value
VNet1GWpip3.
Primary Server IP address: Type the IP address of the Network Policy Server
(NPS).
Primary Server secret: Type the shared secret that you specified when you
created the RADIUS client on the NPS.
After the settings are saved, you can click Download VPN Client to download the VPN
client configuration package and use the settings to configure the VPN client. For more
information about P2S VPN client configuration, see the Point-to-site client
configuration requirements table.
Next steps
For steps to configure your VPN client, see the Point-to-site client configuration
requirements table.
Feedback
Was this page helpful? Yes No
This article provides details for integrating your Remote Desktop Gateway infrastructure with
Microsoft Entra multifactor authentication using the Network Policy Server (NPS) extension for
Microsoft Azure.
The Network Policy Server (NPS) extension for Azure allows customers to safeguard Remote
Authentication Dial-In User Service (RADIUS) client authentication using Azure's cloud-based
multifactor authentication. This solution provides two-step verification for adding a second
layer of security to user sign-ins and transactions.
This article provides step-by-step instructions for integrating the NPS infrastructure with
Microsoft Entra multifactor authentication using the NPS extension for Azure. This enables
secure verification for users attempting to sign in to a Remote Desktop Gateway.
7 Note
This article shouldn't be used with MFA Server deployments and should only be used with
Microsoft Entra multifactor authentication (Cloud-based) deployments.
The Network Policy and Access Services (NPS) gives organizations the ability to do the
following:
Define central locations for the management and control of network requests by
specifying who can connect, what times of day connections are allowed, the duration of
connections, and the level of security that clients must use to connect, and so on. Rather
than specifying these policies on each VPN or Remote Desktop (RD) Gateway server,
these policies can be specified once in a central location. The RADIUS protocol provides
the centralized Authentication, Authorization, and Accounting (AAA).
Establish and enforce Network Access Protection (NAP) client health policies that
determine whether devices are granted unrestricted or restricted access to network
resources.
Provide a means to enforce authentication and authorization for access to 802.1x-capable
wireless access points and Ethernet switches.
Typically, organizations use NPS (RADIUS) to simplify and centralize the management of VPN
policies. However, many organizations also use NPS to simplify and centralize the management
of RD Desktop Connection Authorization Policies (RD CAPs).
Organizations can also integrate NPS with Microsoft Entra multifactor authentication to
enhance security and provide a high level of compliance. This helps ensure that users establish
two-step verification to sign in to the Remote Desktop Gateway. For users to be granted
access, they must provide their username/password combination along with information that
the user has in their control. This information must be trusted and not easily duplicated, such
as a cell phone number, landline number, application on a mobile device, and so on. RDG
currently supports phone call and Approve/Deny push notifications from Microsoft
authenticator app methods for 2FA. For more information about supported authentication
methods, see the section Determine which authentication methods your users can use.
If your organization uses Remote Desktop Gateway and the user is registered for a TOTP code
along with Authenticator push notifications, the user can't meet the MFA challenge and the
Remote Desktop Gateway sign-in fails. In that case, you can override this behaviour by creating
a new registry key (OVERRIDE_NUMBER_MATCHING_WITH_OTP) to fallback to push
notifications to Approve/Deny with Authenticator. To perform it, follow NPS extension override
number matching procedure, assuming final value will be
OVERRIDE_NUMBER_MATCHING_WITH_OTP = FALSE.
Prior to the availability of the NPS extension for Azure, customers who wished to implement
two-step verification for integrated NPS and Microsoft Entra multifactor authentication
environments had to configure and maintain a separate MFA Server in the on-premises
environment as documented in Remote Desktop Gateway and Azure Multi-Factor
Authentication Server using RADIUS.
The availability of the NPS extension for Azure now gives organizations the choice to deploy
either an on-premises based MFA solution or a cloud-based MFA solution to secure RADIUS
client authentication.
Authentication Flow
For users to be granted access to network resources through a Remote Desktop Gateway, they
must meet the conditions specified in one RD Connection Authorization Policy (RD CAP) and
one RD Resource Authorization Policy (RD RAP). RD CAPs specify who is authorized to connect
to RD Gateways. RD RAPs specify the network resources, such as remote desktops or remote
apps, that the user is allowed to connect to through the RD Gateway.
An RD Gateway can be configured to use a central policy store for RD CAPs. RD RAPs can't use
a central policy, as they're processed on the RD Gateway. An example of an RD Gateway
configured to use a central policy store for RD CAPs is a RADIUS client to another NPS server
that serves as the central policy store.
When the NPS extension for Azure is integrated with the NPS and Remote Desktop Gateway,
the successful authentication flow is as follows:
1. The Remote Desktop Gateway server receives an authentication request from a remote
desktop user to connect to a resource, such as a Remote Desktop session. Acting as a
RADIUS client, the Remote Desktop Gateway server converts the request to a RADIUS
Access-Request message and sends the message to the RADIUS (NPS) server where the
NPS extension is installed.
2. The username and password combination is verified in Active Directory and the user is
authenticated.
3. If all the conditions as specified in the NPS Connection Request and the Network Policies
are met (for example, time of day or group membership restrictions), the NPS extension
triggers a request for secondary authentication with Microsoft Entra multifactor
authentication.
4. Microsoft Entra multifactor authentication communicates with Microsoft Entra ID,
retrieves the user's details, and performs the secondary authentication using supported
methods.
5. Upon success of the MFA challenge, Microsoft Entra multifactor authentication
communicates the result to the NPS extension.
6. The NPS server, where the extension is installed, sends a RADIUS Access-Accept message
for the RD CAP policy to the Remote Desktop Gateway server.
7. The user is granted access to the requested network resource through the RD Gateway.
Prerequisites
This section details the prerequisites necessary before integrating Microsoft Entra multifactor
authentication with the Remote Desktop Gateway. Before you begin, you must have the
following prerequisites in place.
If you wish to manually create an on-premises RDS infrastructure quickly for testing purposes,
follow the steps to deploy one. Learn more: Deploy RDS with Azure quickstart and Basic RDS
infrastructure deployment.
For information on installing the NPS role service Windows Server 2012 or older, see Install a
NAP Health Policy Server. For a description of best practices for NPS, including the
recommendation to install NPS on a domain controller, see Best Practices for NPS.
Follow the steps in Getting started with Microsoft Entra multifactor authentication in the cloud
to enable MFA for your Microsoft Entra users.
Follow the steps in What does Microsoft Entra multifactor authentication mean for me? to
understand and properly configure your devices for MFA with your user account.
) Important
The sign-in behavior for Remote Desktop Gateway doesn't provide the option to enter a
verification code with Microsoft Entra multifactor authentication. A user account must be
configured for phone verification or the Microsoft Authenticator App with Approve/Deny
push notifications.
If neither phone verification or the Microsoft Authenticator App with Approve/Deny push
notifications is configured for a user, the user won't be able to complete the Microsoft
Entra multifactor authentication challenge and sign in to Remote Desktop Gateway.
The SMS text method doesn't work with Remote Desktop Gateway because it doesn't
provide the option to enter a verification code.
) Important
Don't install the NPS extension on your Remote Desktop Gateway (RDG) server. The RDG
server doesn't use the RADIUS protocol with its client, so the extension can't interpret and
perform the MFA.
When the RDG server and NPS server with NPS extension are different servers, RDG uses
NPS internally to talk to other NPS servers and uses RADIUS as the protocol to correctly
communicate.
If you want to use your own certificates, you need to associate the public key of your certificate
to the service principal on Microsoft Entra ID, and so on.
To use the script, provide the extension with your Microsoft Entra Admin credentials and the
Microsoft Entra tenant ID that you copied earlier. Run the script on each NPS server where you
installed the NPS extension. Then do the following:
3. Type .\AzureMfaNpsExtnConfigSetup.ps1 , and press ENTER. The script checks to see if the
PowerShell module is installed. If not installed, the script installs the module for you.
4. After the script verifies the installation of the PowerShell module, it displays the
PowerShell module dialog box. In the dialog box, enter your Microsoft Entra admin
credentials and password, and select Sign In.
5. When prompted, paste the Tenant ID you copied to the clipboard earlier, and press
ENTER.
6. The script creates a self-signed certificate and performs other configuration changes.
The authentication flow requires that RADIUS messages be exchanged between the Remote
Desktop Gateway and the NPS server where the NPS extension is installed. This means that you
must configure RADIUS client settings on both Remote Desktop Gateway and the NPS server
where the NPS extension is installed.
2. On the menu, select Tools, point to Remote Desktop Services, and then select Remote
Desktop Gateway Manager.
3. In the RD Gateway Manager, right-select [Server Name] (Local), and select Properties.
6. In the Enter a name or IP address for the server running NPS field, type the IP address or
server name of the server where you installed the NPS extension.
7. Select Add.
8. In the Shared Secret dialog box, enter a shared secret, and then select OK. Ensure you
record this shared secret and store the record securely.
7 Note
Shared secret is used to establish trust between the RADIUS servers and clients.
Create a long and complex secret.
9. Select OK to close the dialog box.
1. On the RD Gateway server, open Server Manager. On the menu, select Tools, and then
select Network Policy Server.
2. In the NPS (Local) console, expand RADIUS Clients and Servers, and select Remote
RADIUS Server.
7 Note
This RADIUS Server Group was created when you configured the central server for
NPS policies. The RD Gateway forwards RADIUS messages to this server or group of
servers, if more than one in the group.
4. In the TS GATEWAY SERVER GROUP Properties dialog box, select the IP address or name
of the NPS server you configured to store RD CAPs, and then select Edit.
5. In the Edit RADIUS Server dialog box, select the Load Balancing tab.
6. In the Load Balancing tab, in the Number of seconds without response before request is
considered dropped field, change the default value from 3 to a value between 30 and 60
seconds.
1. On the RD Gateway, in the NPS (Local) console, expand Policies, and select Connection
Request Policies.
3. In the TS GATEWAY AUTHORIZATION POLICY properties dialog box, select the Settings
tab.
4. On Settings tab, under Forwarding Connection Request, select Authentication. RADIUS
client is configured to forward requests for authentication.
5. Select Cancel.
7 Note
For more information about creating a connection request policy, see the article
Configure connection request policies documentation for the same.
2. In Server Manager, select Tools, and then select Network Policy Server.
3. In the Network Policy Server console, right-select NPS (Local), and then select Register
server in Active Directory.
1. On the NPS server where the NPS extension is installed, in the NPS (Local) console, right-
select RADIUS Clients and select New.
2. In the New RADIUS Client dialog box, provide a friendly name, such as Gateway, and the
IP address or DNS name of the Remote Desktop Gateway server.
3. In the Shared secret and the Confirm shared secret fields, enter the same secret that you
used before.
1. On the NPS Server, open the NPS (Local) console, expand Policies, and select Network
Policies.
4. In the Copy of Connections to other access servers dialog box, in Policy name, enter a
suitable name, such as RDG_CAP. Check Policy enabled, and select Grant access.
Optionally, in Type of network access server, select Remote Desktop Gateway, or you
can leave it as Unspecified.
5. Select the Constraints tab, and check Allow clients to connect without negotiating an
authentication method.
6. Optionally, select the Conditions tab and add conditions that must be met for the
connection to be authorized, for example, membership in a specific Windows group.
7. Select OK. When prompted to view the corresponding Help topic, select No.
8. Ensure that your new policy is at the top of the list, that the policy is enabled, and that it
grants access.
Verify configuration
To verify the configuration, you need to sign in to the Remote Desktop Gateway with a suitable
RDP client. Be sure to use an account that is allowed by your Connection Authorization Policies
and is enabled for Microsoft Entra multifactor authentication.
As show in the following image, you can use the Remote Desktop Web Access page.
When you successfully entering your credentials for primary authentication, the Remote
Desktop Connect dialog box shows a status of Initiating remote connection, as shown in the
following section.
If you successfully authenticate with the secondary authentication method you previously
configured in Microsoft Entra multifactor authentication, you're connected to the resource.
However, if the secondary authentication isn't successful, you're denied access to the resource.
In the following example, the Authenticator app on a Windows phone is used to provide the
secondary authentication.
Once you have successfully authenticated using the secondary authentication method, you're
logged into the Remote Desktop Gateway as normal. However, because you're required to use
a secondary authentication method using a mobile app on a trusted device, the sign in process
is more secure than it would be otherwise.
View Event Viewer logs for successful logon events
To view the successful sign-in events in the Windows Event Viewer logs, you can issue the
following PowerShell command to query the Windows Terminal Services and Windows Security
logs.
To query successful sign-in events in the Gateway operational logs (Event Viewer\Applications
and Services Logs\Microsoft\Windows\TerminalServices-Gateway\Operational), use the following
PowerShell commands:
This command displays Windows events that show the user met resource authorization
policy requirements (RD RAP) and was granted access.
This command displays the events that show when user met connection authorization
policy requirements.
You can also view this log and filter on event IDs, 300 and 200. To query successful logon
events in the Security event viewer logs, use the following command:
This command can be run on either the central NPS or the RD Gateway Server.
You can also view the Security log or the Network Policy and Access Services custom view:
On the server where you installed the NPS extension for Microsoft Entra multifactor
authentication, you can find Event Viewer application logs specific to the extension at
Application and Services Logs\Microsoft\AzureMfa.
Troubleshoot Guide
If the configuration isn't working as expected, the first place to start to troubleshoot is to verify
that the user is configured to use Microsoft Entra multifactor authentication. Have the user sign
in to the Microsoft Entra admin center . If users are prompted for secondary verification and
can successfully authenticate, you can eliminate an incorrect configuration of Microsoft Entra
multifactor authentication.
If Microsoft Entra multifactor authentication is working for the user(s), you should review the
relevant Event logs. These include the Security Event, Gateway operational, and Microsoft Entra
multifactor authentication logs that are discussed in the previous section.
See the following example output of Security log showing a failed logon event (Event ID 6273).
What follows is a related event from the AzureMFA logs:
To perform advanced troubleshoot options, consult the NPS database format log files where
the NPS service is installed. These log files are created in %SystemRoot%\System32\Logs folder
as comma-delimited text files.
For a description of these log files, see Interpret NPS Database Format Log Files. The entries in
these log files can be difficult to interpret without importing them into a spreadsheet or a
database. You can find several IAS parsers online to assist you in interpreting the log files.
The following image shows the output of one such downloadable shareware application .
Next steps
How to get Microsoft Entra multifactor authentication
Remote Desktop Gateway and Azure Multi-Factor Authentication Server using RADIUS
The Network Policy Server (NPS) extension for Azure allows organizations to safeguard
Remote Authentication Dial-In User Service (RADIUS) client authentication using cloud-
based Microsoft Entra multifactor authentication, which provides two-step verification.
This article provides instructions for integrating NPS infrastructure with MFA by using
the NPS extension for Azure. This process enables secure two-step verification for users
who attempt to connect to your network by using a VPN.
7 Note
Although the NPS MFA extension supports time-based one-time password (TOTP),
certain VPN clients like Windows VPN don't. Make sure the VPN clients that you're
using support TOTP as an authentication method before you enable it in the NPS
extension.
Network Policy and Access Services gives organizations the ability to:
Assign a central location for the management and control of network requests to
specify:
Rather than specify policies on each VPN or Remote Desktop Gateway server,
do so after they're in a central location. The RADIUS protocol is used to provide
centralized Authentication, Authorization, and Accounting (AAA).
Establish and enforce Network Access Protection (NAP) client health policies that
determine whether devices are granted unrestricted or restricted access to network
resources.
To enhance security and provide a high level of compliance, organizations can integrate
NPS with Microsoft Entra multifactor authentication to ensure that users use two-step
verification to connect to the virtual port on the VPN server. For users to be granted
access, they must provide their username and password combination and other
information that they control. This information must be trusted and not easily
duplicated. It can include a cell phone number, a landline number, or an application on a
mobile device.
If your organization uses a VPN and the user is registered for a TOTP code along with
Authenticator push notifications, the user can't meet the MFA challenge and the remote
sign-in fails. In that case, you can set OVERRIDE_NUMBER_MATCHING_WITH_OTP =
FALSE to fallback to push notifications to Approve/Deny with Authenticator.
In order for an NPS extension to continue working for VPN users, this registry key must
be created on the NPS server. On the NPS server, open the registry editor. Navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa
Name: OVERRIDE_NUMBER_MATCHING_WITH_OTP
Value = FALSE
Prior to the availability of the NPS extension for Azure, customers who wanted to
implement two-step verification for integrated NPS and MFA environments had to
configure and maintain a separate MFA server in an on-premises environment. Remote
Desktop Gateway and Azure Multi-Factor Authentication Server offer this type of
authentication using RADIUS.
With the NPS extension for Azure, organizations can secure RADIUS client
authentication by deploying either an on-premises based MFA solution or a cloud-
based MFA solution.
Authentication flow
When users connect to a virtual port on a VPN server, they must first authenticate by
using a variety of protocols. The protocols allow the use of a combination of user name
and password and certificate-based authentication methods.
In addition to authenticating and verifying their identity, users must have the
appropriate dial-in permissions. In simple implementations, dial-in permissions that
allow access are set directly on the Active Directory user objects.
In simple implementations, each VPN server grants or denies access based on policies
that are defined on each local VPN server.
In larger and more scalable implementations, the policies that grant or deny VPN access
are centralized on RADIUS servers. In these cases, the VPN server acts as an access
server (RADIUS client) that forwards connection requests and account messages to a
RADIUS server. To connect to the virtual port on the VPN server, users must be
authenticated and meet the conditions that are defined centrally on RADIUS servers.
When the NPS extension for Azure is integrated with the NPS, a successful
authentication flow results, as follows:
1. The VPN server receives an authentication request from a VPN user that includes
the username and password for connecting to a resource, such as a Remote
Desktop session.
2. Acting as a RADIUS client, the VPN server converts the request to a RADIUS
Access-Request message and sends it (with an encrypted password) to the RADIUS
server where the NPS extension is installed.
3. The username and password combination is verified in Active Directory. If either
the username or password is incorrect, the RADIUS Server sends an Access-Reject
message.
4. If the conditions in the NPS Connection Request and Network Policies are met (like
time of day or group membership restrictions), the NPS extension will request
secondary authentication with Microsoft Entra multifactor authentication.
5. Microsoft Entra multifactor authentication communicates with Microsoft Entra ID,
retrieves the user's details, and uses the user configured method (cell phone call,
text message, or mobile app) to perform the secondary authentication.
6. When the MFA challenge is successful, Microsoft Entra multifactor authentication
communicates the result to the NPS extension.
7. After the connection attempt is both authenticated and authorized, the NPS where
the extension is installed sends a RADIUS Access-Accept message to the VPN server
(RADIUS client).
8. The user is granted access to the virtual port on the VPN server and establishes an
encrypted VPN tunnel.
Prerequisites
This section details the prerequisites that must be completed before you can integrate
MFA with the VPN. Before you begin, you must have the following prerequisites in place:
VPN infrastructure
Network Policy and Access Services role
Microsoft Entra multifactor authentication license
Windows Server software
Libraries
Microsoft Entra ID synced with on-premises Active Directory
Microsoft Entra GUID ID
VPN infrastructure
This article assumes that you have a working VPN infrastructure that uses Microsoft
Windows Server 2016 and that your VPN server is currently not configured to forward
connection requests to a RADIUS server. In the article, you configure the VPN
infrastructure to use a central RADIUS server.
If you don't have a working VPN infrastructure in place, you can quickly create one by
following the guidance in numerous VPN setup tutorials that you can find on the
Microsoft and third-party sites.
For information about installing the Network Policy and Access Services role service
Windows Server 2012 or later, see Install a NAP Health Policy Server. NAP is deprecated
in Windows Server 2016. For a description of best practices for NPS, including the
recommendation to install NPS on a domain controller, see Best practices for NPS.
Libraries
The following library is installed automatically with the NPS extension:
If Microsoft Graph PowerShell module isn't already present, it's installed with a
configuration script that you run as part of the setup process. There's no need to install
Graph PowerShell in advance.
This section assumes that you installed the Network Policy and Access Services role but
haven't configured it for use in your infrastructure.
7 Note
If you already have a working VPN server that uses a centralized RADIUS server for
authentication, you can skip this section.
2. In Server Manager, select Tools, and then select Network Policy Server.
3. In the Network Policy Server console, right-click NPS (Local), and then select
Register server in Active Directory. Select OK two times.
4. Leave the console open for the next procedure.
3. In the Select Dial-up or Virtual Private Network Connections Type window, select
Virtual Private Network Connections, and then select Next.
4. In the Specify Dial-Up or VPN Server window, select Add.
5. In the New RADIUS client window, provide a friendly name, enter the resolvable
name or IP address of the VPN server, and then enter a shared secret password.
Make the shared secret password long and complex. Record it, because you'll need
it in the next section.
6. Select OK, and then select Next.
7 Note
If you configure Extensible Authentication Protocol (EAP), you must use either
Microsoft Challenge-Handshake Authentication Protocol (CHAPv2) or
Protected Extensible Authentication Protocol (PEAP). No other EAP is
supported.
8. In the Specify User Groups window, select Add, and then select an appropriate
group. If no group exists, leave the selection blank to grant access to all users.
9. Select Next.
11. In the Specify Encryption Settings window, accept the default settings, and then
select Next.
12. In the Specify a Realm Name window, leave the realm name blank, accept the
default setting, and then select Next.
13. In the Completing New Dial-up or Virtual Private Network Connections and
RADIUS clients window, select Finish.
Verify the RADIUS configuration
This section details the configuration you created by using the wizard.
1. On the Network Policy Server, in the NPS (local) console, expand RADIUS Clients,
and then select RADIUS Clients.
2. In the details pane, right-click the RADIUS client that you created, and then select
Properties. The properties of your RADIUS client (the VPN server) should be like
those shown here:
3. Select Cancel.
4. On the Network Policy Server, in the NPS (local) console, expand Policies, and then
select Connection Request Policies. The VPN Connections policy is displayed as
shown in the following image:
5. Under Policies, select Network Policies. You should see a Virtual Private Network
(VPN) Connections policy that resembles the policy shown in the following image:
Configure your VPN server to use RADIUS
authentication
In this section, you configure your VPN server to use RADIUS authentication. The
instructions assume that you have a working configuration of a VPN server but haven't
configured it to use RADIUS authentication. After you configure the VPN server, confirm
that your configuration is working as expected.
7 Note
If you already have a working VPN server configuration that uses RADIUS
authentication, you can skip this section.
2. In Server Manager, select Tools, and then select Routing and Remote Access.
3. In the Routing and Remote Access window, right-click <server name> (local), and
then select Properties.
4. In the <server name> (local) Properties window, select the Security tab.
a. In the Server name box, enter the name or IP address of the RADIUS server that
you configured in the previous section.
b. For the Shared secret, select Change, and then enter the shared secret
password that you created and recorded earlier.
8. Select OK.
7 Note
If you already configured a VPN client to connect to the VPN server and saved the
settings, you can skip the steps related to configuring and saving a VPN connection
object.
1. On your VPN client computer, select the Start button, and then select the Settings
button.
3. Select VPN.
5. In the Add a VPN connection window, in the VPN provider box, select Windows
(built-in), complete the remaining fields, as appropriate, and then select Save.
6. Go to Control Panel, and then select Network and Sharing Center.
10. On the Security tab, ensure that only Microsoft CHAP Version 2 (MS-CHAP v2) is
selected, and then select OK.
11. Right-click the VPN connection, and then select Connect.
To troubleshoot these issues, an ideal place to start is to examine the Security event logs
on the RADIUS server. To save time searching for events, you can use the role-based
Network Policy and Access Server custom view in Event Viewer, as shown here. "Event ID
6273" indicates events where the NPS denied access to a user.
Configure multifactor authentication
For assistance configuring users for multifactor authentication, see the articles Planning
a cloud-based Microsoft Entra multifactor authentication deployment and Set up my
account for two-step verification
7 Note
The REQUIRE_USER_MATCH registry key is case sensitive. All values must be set in
UPPER CASE format.
After you install and configure the NPS extension, this server requires all RADIUS-based
client authentication to use MFA. If all your VPN users are not enrolled in Microsoft Entra
multifactor authentication, you can do either of the following:
Set up another RADIUS server to authenticate users who are not configured to use
MFA.
If the value is set to TRUE or is blank, all authentication requests are subject to an MFA
challenge. If the value is set to FALSE, MFA challenges are issued only to users who are
enrolled in Microsoft Entra multifactor authentication. Use the FALSE setting only in
testing or in production environments during an onboarding period.
Obtain the directory tenant ID
As part of the configuration of the NPS extension, you must supply administrator
credentials and the ID of your Microsoft Entra tenant. To get the tenant ID, complete the
following steps:
If you want to use your own certificates, you must associate the public key of your
certificate with the service principal on Microsoft Entra ID, and so on.
To use the script, provide the extension with your Microsoft Entra administrative
credentials and the Microsoft Entra tenant ID that you copied earlier. The account must
be in the same Microsoft Entra tenant as you wish to enable the extension for. Run the
script on each NPS server where you install the NPS extension.
If you get a security error due to TLS, enable TLS 1.2 using the
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12 command from your PowerShell prompt.
After the script verifies the installation of the PowerShell module, it displays the
Graph PowerShell module sign-in window.
4. Enter your Microsoft Entra administrator credentials and password, and then select
Sign in.
5. At the command prompt, paste the tenant ID that you copied earlier, and then
select Enter.
The script creates a self-signed certificate and performs other configuration
changes. The output is like that in the following image:
On the server where you installed the NPS extension for Microsoft Entra multifactor
authentication, you can find Event Viewer application logs that are specific to the
extension at Application and Services Logs\Microsoft\AzureMfa.
Troubleshooting guide
If the configuration isn't working as expected, begin troubleshooting by verifying that
the user is configured to use MFA. Have the user sign in to the Microsoft Entra admin
center . If the user is prompted for secondary authentication and can successfully
authenticate, you can eliminate an incorrect configuration of MFA as an issue.
If MFA is working for the user, review the relevant Event Viewer logs. The logs include
the security event, Gateway operational, and Microsoft Entra multifactor authentication
logs that are discussed in the previous section.
An example of a security log that displays a failed sign-in event (event ID 6273) is shown
here:
A related event from the Microsoft Entra multifactor authentication log is shown here:
To do advanced troubleshooting, consult the NPS database format log files where the
NPS service is installed. The log files are created in the %SystemRoot%\System32\Logs
folder as comma-delimited text files. For a description of the log files, see Interpret NPS
Database Format Log Files.
The entries in these log files are difficult to interpret unless you export them to a
spreadsheet or a database. You can find many Internet Authentication Service (IAS)
parsing tools online to assist you in interpreting the log files. The output of one such
downloadable shareware application is shown here:
Next steps
Get Microsoft Entra multifactor authentication
Remote Desktop Gateway and Azure Multi-Factor Authentication Server using RADIUS
Feedback
Was this page helpful? Yes No
Users often create passwords that use common local words such as a school, sports
team, or famous person. These passwords are easy to guess, and weak against
dictionary-based attacks. To enforce strong passwords in your organization, Microsoft
Entra Password Protection provides a global and custom banned password list. A
password change request fails if there's a match in this banned password list.
To protect your on-premises Active Directory Domain Services (AD DS) environment,
you can install and configure Microsoft Entra Password Protection to work with your on-
prem DC. This article shows you how to install and register the Microsoft Entra Password
Protection proxy service and Microsoft Entra Password Protection DC agent in your on-
premises environment.
For more information on how Microsoft Entra Password Protection works in an on-
premises environment, see How to enforce Microsoft Entra Password Protection for
Windows Server Active Directory.
Deployment strategy
The following diagram shows how the basic components of Microsoft Entra Password
Protection work together in an on-premises Active Directory environment:
It's a good idea to review how the software works before you deploy it. For more
information, see Conceptual overview of Microsoft Entra Password Protection.
We recommend that you start deployments in audit mode. Audit mode is the default
initial setting, where passwords can continue to be set. Passwords that would be
blocked are recorded in the event log. After you deploy the proxy servers and DC agents
in audit mode, monitor the impact that the password policy will have on users when the
policy is enforced.
During the audit stage, many organizations find that the following situations apply:
It's also possible for stronger password validation to affect your existing Active Directory
domain controller deployment automation. We recommend that at least one DC
promotion and one DC demotion happen during the audit period evaluation to help
uncover such issues. For more information, see the following articles:
Ntdsutil.exe is unable to set a weak Directory Services Repair Mode password
Domain controller replica promotion fails because of a weak Directory Services
Repair Mode password
Domain controller demotion fails due to a weak local Administrator password
After the feature has been running in audit mode for a reasonable period, you can
switch the configuration from Audit to Enforce to require more secure passwords. Extra
monitoring during this time is a good idea.
It is important to note that Microsoft Entra Password Protection can only validate
passwords during password change or set operations. Passwords that were accepted
and stored in Active Directory prior to the deployment of Microsoft Entra Password
Protection will never be validated and will continue working as-is. Over time, all users
and accounts will eventually start using Microsoft Entra Password Protection-validated
passwords as their existing passwords expire normally. Accounts configured with
"password never expires" are exempt from this.
The Microsoft Entra Password Protection software in any forest is unaware of password
protection software that's deployed in other forests, regardless of Active Directory trust
configurations.
Further, it's not supported to run the Microsoft Entra Password Protection proxy service
on a read-only domain controller.
For most fully connected Active Directory deployments that have healthy replication of
both directory and sysvol folder state, two Microsoft Entra Password Protection proxy
servers is enough to ensure availability. This configuration results in timely download of
new policies and other data. You can deploy additional Microsoft Entra Password
Protection proxy servers if desired.
The design of the Microsoft Entra Password Protection DC agent software mitigates the
usual problems that are associated with high availability. The Microsoft Entra Password
Protection DC agent maintains a local cache of the most recently downloaded password
policy. Even if all registered proxy servers become unavailable, the Microsoft Entra
Password Protection DC agents continue to enforce their cached password policy.
Deployment requirements
For information on licensing, see Microsoft Entra Password Protection licensing
requirements.
All machines, including domain controllers, that have Microsoft Entra Password
Protection components installed must have the Universal C Runtime installed.
You can get the runtime by making sure you have all updates from Windows
Update. Or you can get it in an OS-specific update package. For more
information, see Update for Universal C Runtime in Windows .
You need an account that has Active Directory domain administrator privileges in
the forest root domain to register the Windows Server Active Directory forest with
Microsoft Entra ID.
The Key Distribution Service must be enabled on all domain controllers in the
domain that run Windows Server 2012 and later versions. By default, this service is
enabled via manual trigger start.
Network connectivity must exist between at least one domain controller in each
domain and at least one server that hosts the proxy service for Microsoft Entra
Password Protection. This connectivity must allow the domain controller to access
RPC endpoint mapper port 135 and the RPC server port on the proxy service.
By default, the RPC server port is a dynamic RPC port from the range (49152 -
65535), but it can be configured to use a static port.
All machines where the Microsoft Entra Password Protection Proxy service will be
installed must have network access to the following endpoints:
ノ Expand table
Endpoint Purpose
7 Note
Some endpoints, such as the CRL endpoint, are not addressed in this article. For a
list of all supported endpoints, see Microsoft 365 URLs and IP address ranges. In
addition, other endpoints are required for Microsoft Entra admin center
authentication. For more information, see Microsoft Entra admin center URLs for
proxy bypass.
Machines where the Microsoft Entra Password Protection DC agent software will
be installed must run Windows Server 2012 R2 or later, including Windows Server
Core editions.
The Active Directory domain or forest can be any supported functional level.
All machines where the Microsoft Entra Password Protection DC agent will be
installed must have .NET 4.7.2 installed.
If .NET 4.7.2 is not already installed, download and run the installer found at The
.NET Framework 4.7.2 offline installer for Windows .
Any Active Directory domain that runs the Microsoft Entra Password Protection DC
agent service must use Distributed File System Replication (DFSR) for sysvol
replication.
If your domain isn't already using DFSR, you must migrate before installing
Microsoft Entra Password Protection. For more information, see SYSVOL
Replication Migration Guide: FRS to DFS Replication
2 Warning
Migrate your domain to use DFSR as soon as possible, both for DFSR's
inherent benefits and to unblock the deployment of Microsoft Entra
Password Protection. Future versions of the software will be automatically
disabled when running in a domain that's still using FRS.
All machines where the Microsoft Entra Password Protection proxy service will be
installed must run Windows Server 2012 R2 or later, including Windows Server
Core editions.
7 Note
All machines that host the Microsoft Entra Password Protection proxy service must
be configured to grant domain controllers the ability to log on to the proxy service.
This ability is controlled via the "Access this computer from the network" privilege
assignment.
All machines that host the Microsoft Entra Password Protection proxy service must
be configured to allow outbound TLS 1.2 HTTP traffic.
Network access must be enabled for the set of ports and URLs specified in the
application proxy environment setup procedures. This is in addition to the two
endpoints described above.
If your environment uses an HTTP proxy server, follow the guidelines specified in
Work with existing on-premises proxy servers.
The Microsoft Entra Connect Agent Updater service also requires the TLS 1.2 steps
specified in TLS requirements.
2 Warning
Microsoft Entra Password Protection proxy and Microsoft Entra application proxy
install different versions of the Microsoft Entra Connect Agent Updater service,
which is why the instructions refer to Application Proxy content. These different
versions are incompatible when installed side by side and doing so will prevent the
Agent Updater service from contacting Azure for software updates, so you should
never install Microsoft Entra Password Protection Proxy and Application Proxy on
the same machine.
Download required software
There are two required installers for an on-premises Microsoft Entra Password
Protection deployment:
In the next section, you install the Microsoft Entra Password Protection DC agents on
domain controllers in your on-premises AD DS environment. These DC agents
communicate with the proxy service to get the latest banned password lists for use
when processing password change events within the domain.
Choose one or more servers to host the Microsoft Entra Password Protection proxy
service. The following considerations apply for the server(s):
Each such service can only provide password policies for a single forest. The host
machine must be joined to any domain in that forest.
You can install the proxy service in either root or child domains, or a combination
of those.
You need network connectivity between at least one DC in each domain of the
forest and one password protection proxy server.
You can run the Microsoft Entra Password Protection proxy service on a domain
controller for testing, but that domain controller then requires internet
connectivity. This connectivity can be a security concern. We recommend this
configuration for testing only.
We recommend at least two Microsoft Entra Password Protection proxy servers per
forest for redundancy, as noted in the previous section on high availability
considerations.
It's not supported to run the Microsoft Entra Password Protection proxy service on
a read-only domain controller.
If necessary, you can remove the proxy service by using Add or remove programs.
No manual cleanup of the state that the proxy service maintains is needed.
To install the Microsoft Entra Password Protection proxy service, complete the following
steps:
1. To install the Microsoft Entra Password Protection proxy service, run the
AzureADPasswordProtectionProxySetup.exe software installer.
The software installation doesn't require a reboot and may be automated using
standard MSI procedures, as in the following example:
Console
AzureADPasswordProtectionProxySetup.exe /quiet
7 Note
The Windows Firewall service must be running before you install the
AzureADPasswordProtectionProxySetup.exe package to avoid an installation
error.
2. The Microsoft Entra Password Protection proxy software includes a new PowerShell
module, AzureADPasswordProtection . The following steps run various cmdlets from
this PowerShell module.
To use this module, open a PowerShell window as an administrator and import the
new module as follows:
PowerShell
Import-Module AzureADPasswordProtection
2 Warning
The 64 bit version of PowerShell must be used. Certain cmdlets may not work
with PowerShell (x86).
3. To check that the Microsoft Entra Password Protection proxy service is running, use
the following PowerShell command:
PowerShell
Get-Service AzureADPasswordProtectionProxy | fl
4. The proxy service is running on the machine, but doesn't have credentials to
communicate with Microsoft Entra ID. Register the Microsoft Entra Password
Protection proxy server with Microsoft Entra ID using the Register-
AzureADPasswordProtectionProxy cmdlet.
This cmdlet requires Global Administrator credentials the first time any proxy is
registered for a given tenant. Subsequent proxy registrations in that tenant,
whether for the same or different proxies, may use Security Administrator
credentials.
After this command succeeds once, additional invocations will also succeed but are
unnecessary.
Tip
There might be a noticeable delay before completion the first time that this
cmdlet is run for a specific Azure tenant. Unless a failure is reported, don't
worry about this delay.
PowerShell
Register-AzureADPasswordProtectionProxy -AccountUpn
'[email protected]'
7 Note
This mode doesn't work on Server Core operating systems. Instead, use
one of the following authentication modes. Also, this mode might fail if
Internet Explorer Enhanced Security Configuration is enabled. The
workaround is to disable that Configuration, register the proxy, and then
re-enable it.
PowerShell
Register-AzureADPasswordProtectionProxy -AccountUpn
'[email protected]' -
AuthenticateUsingDeviceCode
When prompted, following the link to open a web browser and enter the
authentication code.
PowerShell
$globalAdminCredentials = Get-Credential
Register-AzureADPasswordProtectionProxy -AzureCredential
$globalAdminCredentials
7 Note
You may also see MFA required if Azure Device Registration (which is
used under the covers by Microsoft Entra Password Protection) has been
configured to globally require MFA. To workaround this requirement you
may use a different account that supports MFA with one of the previous
two authentication modes, or you may also temporarily relax the Azure
Device Registration MFA requirement.
5. To make sure that the changes have taken effect, run Test-
AzureADPasswordProtectionProxyHealth -TestAll . For help resolving errors, see
6. Now register the on-premises Active Directory forest with the necessary credentials
to communicate with Azure by using the Register-
AzureADPasswordProtectionForest PowerShell cmdlet.
7 Note
Tip
There might be a noticeable delay before completion the first time that this
cmdlet is run for a specific Azure tenant. Unless a failure is reported, don't
worry about this delay.
PowerShell
Register-AzureADPasswordProtectionForest -AccountUpn
'[email protected]'
7 Note
This mode won't work on Server Core operating systems. Instead use
one of the following two authentication modes. Also, this mode might
fail if Internet Explorer Enhanced Security Configuration is enabled. The
workaround is to disable that Configuration, register the forest, and then
re-enable it.
PowerShell
Register-AzureADPasswordProtectionForest -AccountUpn
'[email protected]' -
AuthenticateUsingDeviceCode
When prompted, following the link to open a web browser and enter the
authentication code.
PowerShell
$globalAdminCredentials = Get-Credential
Register-AzureADPasswordProtectionForest -AzureCredential
$globalAdminCredentials
7 Note
You may also see MFA required if Azure Device Registration (which is
used under the covers by Microsoft Entra Password Protection) has been
configured to globally require MFA. To workaround this requirement you
may use a different account that supports MFA with one of the previous
two authentication modes, or you may also temporarily relax the Azure
Device Registration MFA requirement.
These examples only succeed if the currently signed-in user is also an Active
Directory domain administrator for the root domain. If this isn't the case, you
can supply alternative domain credentials via the -ForestCredential parameter.
Registration of the Active Directory forest is necessary only once in the lifetime of
the forest. After that, the Microsoft Entra Password Protection DC agents in the
forest automatically perform any other necessary maintenance. After Register-
AzureADPasswordProtectionForest runs successfully for a forest, additional
7. To make sure that the changes have taken effect, run Test-
AzureADPasswordProtectionProxyHealth -TestAll . For help resolving errors, see
Troubleshoot: On-premises Microsoft Entra Password Protection.
XML
<configuration>
<system.net>
<defaultProxy enabled="true">
<proxy bypassonlocal="true"
proxyaddress="http://yourhttpproxy.com:8080" />
</defaultProxy>
</system.net>
</configuration>
XML
<configuration>
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy bypassonlocal="true"
proxyaddress="http://yourhttpproxy.com:8080" />
</defaultProxy>
</system.net>
</configuration>
In both cases, replace http://yourhttpproxy.com:8080 with the address and port of your
specific HTTP proxy server.
If your HTTP proxy is configured to use an authorization policy, you must grant access
to the Active Directory computer account of the machine that hosts the proxy service for
password protection.
We recommend that you stop and restart the Microsoft Entra Password Protection proxy
service after you create or update the AzureADPasswordProtectionProxy.exe.config file.
The proxy service doesn't support the use of specific credentials for connecting to an
HTTP proxy.
To configure the service to run under a static port, use the Set-
AzureADPasswordProtectionProxyConfiguration cmdlet as follows:
PowerShell
2 Warning
You must stop and restart the Microsoft Entra Password Protection proxy service for
these changes to take effect.
To configure the service to run under a dynamic port, use the same procedure but set
StaticPort back to zero:
PowerShell
Set-AzureADPasswordProtectionProxyConfiguration –StaticPort 0
2 Warning
You must stop and restart the Microsoft Entra Password Protection proxy service for
these changes to take effect.
The Microsoft Entra Password Protection proxy service requires a manual restart after
any change in port configuration. You don't have to restart the Microsoft Entra Password
Protection DC agent service on domain controllers after you make these configuration
changes.
To query for the current configuration of the service, use the Get-
AzureADPasswordProtectionProxyConfiguration cmdlet as shown in the following
example
PowerShell
Get-AzureADPasswordProtectionProxyConfiguration | fl
The following example output shows that the Microsoft Entra Password Protection proxy
service is using a dynamic port:
Output
ServiceName : AzureADPasswordProtectionProxy
DisplayName : Azure AD password protection Proxy
StaticPort : 0
You can automate the software installation by using standard MSI procedures, as shown
in the following example:
Console
The /norestart flag can be omitted if you prefer to have the installer automatically
reboot the machine.
The installation of on-prem Microsoft Entra Password Protection is complete after the
DC agent software is installed on a domain controller, and that computer is rebooted.
No other configuration is required or possible. Password change events against the on-
prem DCs use the configured banned password lists from Microsoft Entra ID.
You can install the Microsoft Entra Password Protection DC agent on a machine
that's not yet a domain controller. In this case, the service starts and runs but
remain inactive until the machine is promoted to be a domain controller.
7 Note
The proxy service will only automatically upgrade to a newer version when critical
security patches are needed.
It's not required to uninstall the current version of the Microsoft Entra Password
Protection proxy service - the installer performs an in-place upgrade. No reboot should
be required when upgrading the proxy service. The software upgrade may be
automated using standard MSI procedures, such as
AzureADPasswordProtectionProxySetup.exe /quiet .
Upgrading the DC agent
When a newer version of the Microsoft Entra Password Protection DC agent software is
available, the upgrade is accomplished by running the latest version of the
AzureADPasswordProtectionDCAgentSetup.msi software package. The latest version of the
It's not required to uninstall the current version of the DC agent software - the installer
performs an in-place upgrade. A reboot is always required when upgrading the DC
agent software - this requirement is caused by core Windows behavior.
The software upgrade may be automated using standard MSI procedures, such as
msiexec.exe /i AzureADPasswordProtectionDCAgentSetup.msi /quiet /qn /norestart .
You may omit the /norestart flag if you prefer to have the installer automatically reboot
the machine.
Next steps
Now that you've installed the services that you need for Microsoft Entra Password
Protection on your on-premises servers, enable on-prem Microsoft Entra Password
Protection to complete your deployment.
Feedback
Was this page helpful? Yes No
Users often create passwords that use common local words such as a school, sports
team, or famous person. These passwords are easy to guess, and weak against
dictionary-based attacks. To enforce strong passwords in your organization, Microsoft
Entra Password Protection provides a global and custom banned password list. A
password change request fails if there's a match in these banned password list.
To protect your on-premises Active Directory Domain Services (AD DS) environment,
you can install and configure Microsoft Entra Password Protection to work with your on-
premises DC. This article shows you how to enable Microsoft Entra Password Protection
for your on-premises environment.
For more information on how Microsoft Entra Password Protection works in an on-
premises environment, see How to enforce Microsoft Entra Password Protection for
Windows Server Active Directory.
3. Set the option for Enable password protection on Windows Server Active
Directory to Yes.
When this setting is set to No, all deployed Microsoft Entra Password Protection
DC agents go into a quiescent mode where all passwords are accepted as-is. No
validation activities are performed, and audit events aren't generated.
4. It's recommended to initially set the Mode to Audit. After you're comfortable with
the feature and the impact on users in your organization, you can switch the Mode
to Enforced. For more information, see the following section on modes of
operation.
Modes of operation
When you enable on-premises Microsoft Entra Password Protection, you can use either
audit mode or enforce mode. We recommend that initial deployment and testing always
start out in audit mode. Entries in the event log should then be monitored to anticipate
whether any existing operational processes would be disturbed once Enforce mode is
enabled.
Audit mode
Audit mode is intended as a way to run the software in a "what if" mode. Each Microsoft
Entra Password Protection DC agent service evaluates an incoming password according
to the currently active policy.
If the current policy is configured to be in audit mode, "bad" passwords result in event
log messages but are processed and updated. This behavior is the only difference
between audit and enforce mode. All other operations run the same.
Enforced Mode
Enforced mode is intended as the final configuration. Like when in audit mode, each
Microsoft Entra Password Protection DC agent service evaluates incoming passwords
according to the currently active policy. When enforced mode is enabled though, a
password that's considered insecure according to the policy is rejected.
"Unable to update the password. The value provided for the new password does not meet
the length, complexity, or history requirements of the domain."
This message is only one example of several possible outcomes. The specific error
message can vary depending on the actual software or scenario that is attempting to set
an insecure password.
Affected end users may need to work with their IT staff to understand the new
requirements and to choose secure passwords.
7 Note
Microsoft Entra Password Protection has no control over the specific error message
displayed by the client machine when a weak password is rejected.
Next steps
To customize the banned password list for your organization, see Configure the
Microsoft Entra Password Protection custom banned password list.
Feedback
Was this page helpful? Yes No
Provide product feedback
Monitor and review logs for on-
premises Microsoft Entra Password
Protection environments
Article • 03/04/2025
After the deployment of Microsoft Entra Password Protection, monitoring and reporting
are essential tasks. This article goes into detail to help you understand various
monitoring techniques, including where each service logs information and how to report
on the use of Microsoft Entra Password Protection.
Monitoring and reporting are done either by event log messages or by running
PowerShell cmdlets. The DC agent and proxy services both log event log messages. All
PowerShell cmdlets described below are only available on the proxy server (see the
AzureADPasswordProtection PowerShell module). The DC agent software does not
install a PowerShell module.
Logs\Microsoft\AzureADPasswordProtection\DCAgent\Operational
The DC agent Admin log is the primary source of information for how the software is
behaving.
Events logged by the various DC agent components fall within the following ranges:
ノ Expand table
For a successful password validation operation, there is generally one event logged from
the DC agent password filter dll. For a failing password validation operation, there are
generally two events logged, one from the DC agent service, and one from the DC
Agent password filter dll.
Discrete events to capture these situations are logged, based around the following
factors:
ノ Expand table
Fail (due to combined Microsoft and customer password 10016, 30026 10017,
policies) 30027
Event Password Password
change set
Audit-only Pass (would have failed customer password policy) 10024, 30008 10025,
30007
Audit-only Pass (would have failed Microsoft password policy) 10024, 30010 10025,
30009
Audit-only Pass (would have failed combined Microsoft and 10024, 30028 10025,
customer password policies) 30029
Audit-only Pass (would have failed due to user name) 10016, 30024 10017,
30023
The cases in the table above that refer to "combined policies" are referring to situations
where a user's password was found to contain at least one token from both the
Microsoft banned password list and the customer banned password list.
The cases in the table above that refer to "user name" are referring to situations where a
user's password was found to contain either the user's account name and/or one of the
user's friendly names. Either scenario will cause the user's password to be rejected when
the policy is set to Enforce, or passed if the policy is in Audit mode.
When a pair of events is logged together, both events are explicitly associated by having
the same CorrelationId.
PowerShell
The scope of the cmdlet's reporting may be influenced using one of the –Forest, -
Domain, or –DomainController parameters. Not specifying a parameter implies –Forest.
7 Note
ノ Expand table
PasswordChangesValidated 10014
PasswordSetsValidated 10015
PasswordChangesRejected 10016
PasswordSetsRejected 10017
PasswordChangeAuditOnlyFailures 10024
PasswordSetAuditOnlyFailures 10025
PasswordChangeErrors 10012
PasswordSetErrors 10013
%ProgramFiles%\WindowsPowerShell\Modules\AzureADPasswordProtection\Get-
AzureADPasswordProtectionSummaryReport.ps1
7 Note
This cmdlet works by opening a PowerShell session to each domain controller. In
order to succeed, PowerShell remote session support must be enabled on each
domain controller, and the client must have sufficient privileges. For more
information on PowerShell remote session requirements, run 'Get-Help
about_Remote_Troubleshooting' in a PowerShell window.
7 Note
This cmdlet works by remotely querying each DC agent service's Admin event log.
If the event logs contain large numbers of events, the cmdlet may take a long time
to complete. In addition, bulk network queries of large data sets may impact
domain controller performance. Therefore, this cmdlet should be used carefully in
production environments.
text
The changed password for the specified user was validated as compliant with
the current Azure password policy.
UserName: SomeUser
FullName: Some User
text
The reset password for the specified user was rejected because it did not
comply with the current Azure password policy. Please see the correlated
event log message for more details.
UserName: SomeUser
FullName: Some User
text
The reset password for the specified user was rejected because it matched at
least one of the tokens present in the per-tenant banned password list of
the current Azure password policy.
UserName: SomeUser
FullName: Some User
text
The changed password for the specified user would normally have been
rejected because it did not comply with the current Azure password policy.
The current Azure password policy is con-figured for audit-only mode so the
password was accepted. Please see the correlated event log message for more
details.
UserName: SomeUser
FullName: Some User
text
The changed password for the specified user would normally have been
rejected because it matches at least one of the tokens present in the per-
tenant banned password list of the current Azure password policy. The
current Azure password policy is configured for audit-only mode so the
password was accepted.
UserName: SomeUser
FullName: Some User
text
The password for the specified user was accepted because an Azure password
policy is not available yet
UserName: SomeUser
FullName: Some User
This condition may be caused by one or more of the following reasons:%n
text
Enabled: 1
AuditOnly: 1
Global policy date: 2
018
-0
5
-1
5T00:00:00.000000000Z
Tenant policy date: 2
018
-0
6
-1
0T20:15:24.432457600Z
Enforce tenant policy: 1
text
2 Warning
When enabled, the Trace log receives a high volume of events and may impact
domain controller performance. Therefore, this enhanced log should only be
enabled when a problem requires deeper investigation, and then only for a minimal
amount of time.
text
HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionDCAgent\Para
meters!EnableTextLogging = 1 (REG_DWORD value)
Text logging is disabled by default. A restart of the DC agent service is required for
changes to this value to take effect. When enabled the DC agent service will write to a
log file located under:
Tip
The text log receives the same debug-level entries that can be logged to the Trace
log, but is generally in an easier format to review and analyze.
2 Warning
When enabled, this log receives a high volume of events and may impact domain
controller performance. Therefore, this enhanced log should only be enabled when
a problem requires deeper investigation, and then only for a minimal amount of
time.
ノ Expand table
Passwords processed This counter displays the total number of passwords processed
(accepted or rejected) since last restart.
Passwords accepted This counter displays the total number of passwords that were accepted
since last restart.
Passwords rejected This counter displays the total number of passwords that were rejected
since last restart.
Password filter This counter displays the number of password filter requests currently in
requests in progress progress.
Peak password filter This counter displays the peak number of concurrent password filter
requests requests since the last restart.
Password filter This counter displays the total number of password filter requests that
request errors failed due to an error since last restart. Errors can occur when the
Microsoft Entra Password Protection DC agent service is not running.
Password filter This counter displays the rate at which passwords are being processed.
requests/sec
Password filter This counter displays the average time required to process a password
request processing filter request.
time
Perf counter name Description
Peak password filter This counter displays the peak password filter request processing time
request processing since the last restart.
time
Passwords accepted This counter displays the total number of passwords that would normally
due to audit mode have been rejected, but were accepted because the password policy was
configured to be in audit-mode (since last restart).
DC Agent discovery
The Get-AzureADPasswordProtectionDCAgent cmdlet may be used to display basic
information about the various DC agents running in a domain or forest. This information
is retrieved from the serviceConnectionPoint object(s) registered by the running DC
agent service(s).
PowerShell
Get-AzureADPasswordProtectionDCAgent
ServerFQDN : bplChildDC2.bplchild.bplRootDomain.com
Domain : bplchild.bplRootDomain.com
Forest : bplRootDomain.com
PasswordPolicyDateUTC : 2/16/2018 8:35:01 AM
HeartbeatUTC : 2/16/2018 8:35:02 AM
The various properties are updated by each DC agent service on an approximate hourly
basis. The data is still subject to Active Directory replication latency.
The scope of the cmdlet's query may be influenced using either the –Forest or –Domain
parameters.
If the HeartbeatUTC value gets stale, this may be a symptom that the Microsoft Entra
Password Protection DC Agent on that domain controller is not running, or has been
uninstalled, or the machine was demoted and is no longer a domain controller.
If the PasswordPolicyDateUTC value gets stale, this may be a symptom that the
Microsoft Entra Password Protection DC Agent on that machine is not working properly.
text
https://aka.ms/AzureADPasswordProtectionAgentSoftwareVersions
The event above does not specify the version of the newer software. You should go to
the link in the event message for that information.
7 Note
Despite the references to "autoupgrade" in the above event message, the DC agent
software does not currently support this feature.
Logs\Microsoft\AzureADPasswordProtection\ProxyService\Operational
Logs\Microsoft\AzureADPasswordProtection\ProxyService\Trace
2 Warning
When enabled, the Trace log receives a high volume of events and this may impact
performance of the proxy host. Therefore, this log should only be enabled when a
problem requires deeper investigation, and then only for a minimal amount of time.
Events are logged by the various Proxy components using the following ranges:
ノ Expand table
HKLM\System\CurrentControlSet\Services\AzureADPasswordProtectionProxy\Parameter
s!EnableTextLogging = 1 (REG_DWORD value)
Text logging is disabled by default. A restart of the Proxy service is required for changes
to this value to take effect. When enabled the Proxy service will write to a log file located
under:
Tip
The text log receives the same debug-level entries that can be logged to the Trace
log, but is generally in an easier format to review and analyze.
2 Warning
When enabled, this log receives a high volume of events and may impact the
machine's performance. Therefore, this enhanced log should only be enabled when
a problem requires deeper investigation, and then only for a minimal amount of
time.
In addition, most of the Microsoft Entra Password Protection PowerShell cmdlets will
write to a text log located under:
If a cmdlet error occurs and the cause and\or solution is not readily apparent, these text
logs may also be consulted.
Proxy discovery
The Get-AzureADPasswordProtectionProxy cmdlet may be used to display basic
information about the various Microsoft Entra Password Protection Proxy services
running in a domain or forest. This information is retrieved from the
serviceConnectionPoint object(s) registered by the running Proxy service(s).
PowerShell
Get-AzureADPasswordProtectionProxy
ServerFQDN : bplProxy.bplchild2.bplRootDomain.com
Domain : bplchild2.bplRootDomain.com
Forest : bplRootDomain.com
HeartbeatUTC : 12/25/2018 6:35:02 AM
The various properties are updated by each Proxy service on an approximate hourly
basis. The data is still subject to Active Directory replication latency.
The scope of the cmdlet's query may be influenced using either the –Forest or –Domain
parameters.
If the HeartbeatUTC value gets stale, this may be a symptom that the Microsoft Entra
Password Protection Proxy on that machine is not running or has been uninstalled.
text
An update for Azure AD Password Protection Proxy is available.
https://aka.ms/AzureADPasswordProtectionAgentSoftwareVersions
The event above does not specify the version of the newer software. You should go to
the link in the event message for that information.
This event will be emitted even if the Proxy agent is configured with autoupgrade
enabled.
Next steps
Troubleshooting for Microsoft Entra Password Protection
For more information on the global and custom banned password lists, see the article
Ban bad passwords
Feedback
Was this page helpful? Yes No
The usual cause of this issue is that a proxy hasn't been registered. If a proxy is
registered, there may be some delay due to AD replication latency until a particular DC
agent is able to see that proxy.
The DC agent is located in an isolated portion of the network that doesn't allow
network connectivity to the registered proxy(s). This problem may be benign as
long as other DC agents can communicate with the proxy(s) in order to download
password policies from Azure. Once downloaded, those policies are obtained by
the isolated DC via replication of the policy files in the sysvol share.
The proxy host machine is blocking access to the RPC endpoint mapper endpoint
(port 135)
The proxy host machine isn't configured to allow domain controllers the ability to
sign-in to the machine. This behavior is controlled via the "Access this computer
from the network" user privilege assignment. All domain controllers in all domains
in the forest must be granted this privilege. This setting is often constrained as part
of a larger network hardening effort.
2. Ensure that the forest and all proxy servers are registered against the same Azure
tenant.
If an Azure tenant registration mismatch condition does exist, this problem can be
fixed by running the Register-AzureADPasswordProtectionProxy and/or Register-
AzureADPasswordProtectionForest PowerShell cmdlets as needed, making sure to
use credentials from the same Azure tenant for all registrations.
DC agent is unable to encrypt or decrypt
password policy files
Microsoft Entra Password Protection has a critical dependency on the encryption and
decryption functionality supplied by the Microsoft Key Distribution Service. Encryption
or decryption failures can manifest with various symptoms and have several potential
causes.
Ensure that the KDS service is enabled and functional on all Windows Server 2012
and later domain controllers in a domain.
By default the KDS service's service start mode is configured as Manual (Trigger
Start). This configuration means that the first time a client tries to use the service,
it's started on-demand. This default service start mode is acceptable for Microsoft
Entra Password Protection to work.
If the KDS service start mode is configured to Disabled, this configuration must be
fixed before Microsoft Entra Password Protection can function properly.
A simple test for this issue is to manually start the KDS service, either via the
Service Management MMC console, or using other management tools (for
example, run "net start kdssvc" from a command prompt console). The KDS service
is expected to start successfully and stay running.
The most common root cause for the KDS service being unable to start is that the
Active Directory domain controller object is located outside of the default Domain
Controllers OU. This configuration isn't supported by the KDS service and isn't a
limitation imposed by Microsoft Entra Password Protection. The fix for this
condition is to move the domain controller object to a location under the default
Domain Controllers OU.
Incompatible KDS encrypted buffer format change from Windows Server 2012 R2
to Windows Server 2016
A KDS security fix was introduced in Windows Server 2016 that modifies the format
of KDS encrypted buffers. These buffers sometimes fail to decrypt on Windows
Server 2012 and Windows Server 2012 R2. The reverse direction is okay. Buffers
that are KDS-encrypted on Windows Server 2012 and Windows Server 2012 R2
always successfully decrypt on Windows Server 2016 and later. If the domain
controllers in your Active Directory domains are running a mix of these operating
systems, occasional Microsoft Entra Password Protection decryption failures may
be reported. It isn't possible to accurately predict the timing or symptoms of these
failures given the nature of the security fix. Also, given that it's non-deterministic
which Microsoft Entra Password Protection DC Agent on which domain controller
encrypts data at a given time.
There's no workaround for this issue other than to not run a mix of these
incompatible operating systems in your Active Directory domain(s). In other words,
you should run only Windows Server 2012 and Windows Server 2012 R2 domain
controllers, OR you should only run Windows Server 2016 and above domain
controllers.
text
The forest hasn't been registered with Azure. Password policies can't be
downloaded from Azure unless this is corrected.
The forest hasn't been registered. To resolve the problem, run the Register-
AzureADPasswordProtectionForest command as described in the deployment
requirements.
The forest is registered, but the DC agent is unable to decrypt the forest
registration data. This case has the same root cause as issue #2 listed under DC
agent is unable to encrypt or decrypt password policy files. An easy way to confirm
this theory is that you'll see this error only on DC agents running on Windows
Server 2012 or Windows Server 2012R2 domain controllers, while DC agents
running on Windows Server 2016 and later domain controllers are fine. The
workaround is the same: upgrade all domain controllers to Windows Server 2016
or later.
Your DC agent(s) are running a public preview software version that's expired. See
Public preview DC agent software has expired.
Your DC agent(s) can't download a policy or is unable to decrypt existing policies.
Check for possible causes in the prior articles.
The password policy Enforce mode is still set to Audit. If this configuration is in
effect, reconfigure it to Enforce using the Microsoft Entra Password Protection
portal. For more information, see Modes of operation.
You haven't installed the DC agent software on all domain controllers in the
domain. In this situation, it's difficult to ensure that remote Windows clients target
a particular domain controller during a password change operation. If you think
you successfully targeted a particular DC where the DC agent software is installed,
you can verify by double-checking the DC agent admin event log: regardless of
outcome, there is at least one event to document the outcome of the password
validation. If there's no event present for the user whose password is changed,
then the password change was likely processed by a different domain controller.
The password validation algorithm may actually be working as expected. See How
are passwords evaluated.
text
C:\>ntdsutil.exe
ntdsutil: set dsrm password
Reset DSRM Administrator Password: reset password on server null
Please type password for DS Restore Mode Administrator Account: ********
Please confirm new password: ********
Setting password failed.
WIN32 Error Code: 0xa91
Error Message: Password doesn't meet the requirements of the filter
dll's
When Microsoft Entra Password Protection logs the password validation event log
event(s) for an Active Directory DSRM password, it's expected that the event log
messages won't include a user name. This behavior occurs because the DSRM account is
a local account that isn't part of the actual Active Directory domain.
PowerShell
Just like in the previous issue, any Microsoft Entra Password Protection password
validation outcome event will have empty user names for this scenario.
Once the demotion is successful, and the domain controller is rebooted and is again
running as a normal member server, the DC agent software reverts to running in a
passive mode. It may then be uninstalled at any time.
Booting into Directory Services Repair Mode
If the domain controller is booted into Directory Services Repair Mode, the DC agent
password filter dll detects this condition and causes all password validation or
enforcement activities to be disabled, regardless of the currently active policy
configuration. The DC agent password filter dll logs a 10023 warning event to the Admin
event log, for example:
text
The password filter dll is loaded but the machine appears to be a domain
controller that is booted into Directory Services Repair Mode. All password
change and set requests are automatically approved. No further messages are
logged until after the next reboot.
As the deadline approaches, all time-limited DC agent versions emit a 10021 event in
the DC agent Admin event log at boot time that looks like this:
text
The allowable trial period is nearing expiration. Once the trial period has
expired, the password filter dll no longer processes passwords. Please
contact Microsoft for a newer supported version of the software.
Once the deadline has passed, all time-limited DC agent versions emit a 10022 event in
the DC agent Admin event log at boot time that looks like this:
text
The password filter dll is loaded but the allowable trial period has
expired. All password change and set requests are automatically approved.
Please contact Microsoft for a newer supported version of the software.
Since the deadline is only checked on initial boot, you may not see these events until
long after the calendar deadline has passed. Once the deadline is recognized, no
negative effects on either the domain controller or the larger environment occur other
than all passwords are automatically approved.
) Important
PowerShell
PS C:\> Get-AzureADPasswordProtectionDCAgent
ServerFQDN : bpl1.bpl.com
SoftwareVersion : 1.2.125.0
Domain : bpl.com
Forest : bpl.com
PasswordPolicyDateUTC : 8/1/2019 9:18:05 PM
HeartbeatUTC : 8/1/2019 10:00:00 PM
AzureTenant : bpltest.onmicrosoft.com
For this article, the SoftwareVersion field is obviously the key property to look at. You
can also use PowerShell filtering to filter out DC agents that are already at or above the
required baseline version, for example:
PowerShell
The Microsoft Entra Password Protection Proxy software isn't time-limited in any version.
Microsoft still recommends that both DC and proxy agents be upgraded to the latest
versions as they're released. The Get-AzureADPasswordProtectionProxy cmdlet may be
used to find Proxy agents that require upgrades, similar to the example above for DC
agents.
Refer to Upgrading the DC agent and Upgrading the Proxy service for more details on
specific upgrade procedures.
Emergency remediation
If a situation occurs where the DC agent service is causing problems, the DC agent
service may be immediately shut down. The DC agent password filter dll still attempts to
call the non-running service and logs warning events (10012, 10013), but all incoming
passwords are accepted during that time. The DC agent service may then also be
configured via the Windows Service Control Manager with a startup type of “Disabled”
as needed.
Another remediation measure would be to set the Enable mode to No in the Microsoft
Entra Password Protection portal. Once the updated policy is downloaded, each DC
agent service shifts into a quiescent mode where all passwords are accepted as-is. For
more information, see Modes of operation.
Removal
If you decide to uninstall the Microsoft Entra password protection software and cleanup
all related state from the domain(s) and forest, this task can be accomplished using the
following steps:
) Important
It's important to perform these steps in order. If any instance of the Proxy service is
left running, it periodically re-creates its serviceConnectionPoint object. If any
instance of the DC agent service is left running, it periodically re-creates its
serviceConnectionPoint object and the sysvol state.
1. Uninstall the Proxy software from all machines. This step does not require a reboot.
2. Uninstall the DC Agent software from all domain controllers. This step requires a
reboot.
3. Manually remove all Proxy service connection points in each domain naming
context. The location of these objects may be discovered with the following Active
Directory PowerShell command:
PowerShell
$scp = "serviceConnectionPoint"
$keywords = "{ebefb703-6113-413d-9167-9f8dd4d24468}*"
Get-ADObject -SearchScope Subtree -Filter { objectClass -eq $scp -and
keywords -like $keywords }
Don't omit the asterisk (“*”) at the end of the $keywords variable value.
The resulting object(s) found via the Get-ADObject command can then be piped to
Remove-ADObject , or deleted manually.
4. Manually remove all DC agent connection points in each domain naming context.
There may be one these objects per domain controller in the forest, depending on
how widely the software was deployed. The location of that object may be
discovered with the following Active Directory PowerShell command:
PowerShell
$scp = "serviceConnectionPoint"
$keywords = "{2bac71e6-a293-4d5b-ba3b-50b995237946}*"
Get-ADObject -SearchScope Subtree -Filter { objectClass -eq $scp -and
keywords -like $keywords }
The resulting object(s) found via the Get-ADObject command can then be piped to
Remove-ADObject , or deleted manually.
Don't omit the asterisk (“*”) at the end of the $keywords variable value.
PowerShell
6. Manually remove all sysvol related state by manually deleting the following folder
and all of its contents:
\\<domain>\sysvol\<domain fqdn>\AzureADPasswordProtection
If necessary, this path may also be accessed locally on a given domain controller;
the default location would be something like the following path:
%windir%\sysvol\domain\Policies\AzureADPasswordProtection
Each individual health test returns a basic Passed or Failed result, plus an optional
message on failure. In cases where the cause of a failure isn't clear, look for error event
log messages that may explain the failure. Enabling text-log messages may also be
useful. For more details, see Monitor Microsoft Entra Password Protection.
PowerShell
If an error is detected, the test returns a Failed result and an optional error message.
Here's an example of one possible failure:
PowerShell
PS C:\> Test-AzureADPasswordProtectionProxyHealth -VerifyProxyRegistration
PowerShell
PowerShell
ノ Expand table
-VerifyPasswordFilterDll Verifies that the password filter dll is currently loaded and is able to
call the DC agent service
-VerifyDomainIsUsingDFSR Verifies that the current domain is using DFSR for sysvol replication
PowerShell
PowerShell
PowerShell
Here's an example failure condition where the proxy service running on the target server
is stopped:
PowerShell
PowerShell
PS C:\> Test-AzureADPasswordProtectionDCAgentHealth -
VerifyAzureConnectivityViaSpecificProxy bpl2.bpl.com
Next steps
Frequently asked questions for Microsoft Entra Password Protection
For more information on the global and custom banned password lists, see the article
Ban bad passwords
Feedback
Was this page helpful? Yes No
This section provides answers to many commonly asked questions about Microsoft
Entra Password Protection.
General questions
What guidance should users be given on how to select a
secure password?
Microsoft's current guidance on this topic can be found at the following link:
The password validation policy behaves the same regardless of whether a password
change or set is being done. The Microsoft Entra Password Protection DC Agent service
does log different events to inform you whether a password change or set operation
was done. See Microsoft Entra Password Protection monitoring and logging.
After initial deployment of Microsoft Entra Password Protection, all users and accounts
will eventually start using a Microsoft Entra Password Protection-validated password as
their existing passwords expire normally over time. If desired, you can accelerate this
process by a one-time manual expiration of user account passwords.
Accounts configured with "password never expires" aren't forced to change their
password unless manual expiration is done.
Password resets and changes initiated in Microsoft Entra ID that fail validation for hybrid
users can be found in the Microsoft Entra audit logs. See Troubleshoot self-service
password reset in Microsoft Entra ID.
If your domain isn't already using DFSR, you MUST migrate it to use DFSR before
installing Microsoft Entra Password Protection. For more information, see the following
link:
2 Warning
Unfortunately, the Microsoft Entra Password Protection Proxy software installs a version
of the Microsoft Entra Connect Agent Updater service that is incompatible with the
version installed by the Microsoft Entra application proxy software. This incompatibility
may result in the Agent Updater service being unable to contact Azure for software
updates. It isn't recommended to install Microsoft Entra Password Protection Proxy and
Microsoft Entra application proxy on the same machine.
In what order should the DC agents and proxies be
installed and registered?
Any ordering of Proxy agent installation, DC agent installation, forest registration, and
Proxy registration is supported.
For most Active Directory deployments, password change operations are a small
proportion of the overall workload on any given domain controller. As an example,
imagine an Active Directory domain with 10,000 user accounts and a MaxPasswordAge
policy set to 30 days. On average, this domain sees 10000/30=~333 password change
operations each day, which is a minor number of operations for even a single domain
controller. Consider a potential worst case scenario: suppose those ~333 password
changes on a single DC were done over a single hour. For example, this scenario may
occur when many employees all come to work on a Monday morning. Even in that case,
we're still looking at ~333/60 minutes = six password changes per minute, which again
isn't a significant load.
Why is it necessary to follow such steps? There are several factors that make it difficult
to perform controlled, repeatable testing of passwords in the on-premises Active
Directory environment:
The password policy is configured and persisted in Azure, and copies of the policy
are synced periodically by the on-premises DC agent(s) using a polling mechanism.
The latency inherent in this polling cycle may cause confusion. For example, if you
configure the policy in Azure but forget to sync it to the DC agent, then your tests
may not yield the expected results. The polling interval is currently hardcoded to
be once per hour, but waiting an hour between policy changes is non-ideal for an
interactive testing scenario.
Once a new password policy is synced down to a domain controller, more latency
occurs while it replicates to other domain controllers. These delays can cause
unexpected results if you test a password change against a domain controller that
hasn't received the latest version of the policy.
Testing password changes via a user interface makes it difficult to have confidence
in your results. For example, it's easy to mis-type an invalid password into a user
interface, especially since most password user interfaces hide user input (for
example, such as the Windows Ctrl-Alt-Delete -> Change password UI).
It isn't possible to strictly control which domain controller is used when testing
password changes from domain-joined clients. The Windows client OS selects a
domain controller based on factors such as Active Directory site and subnet
assignments, environment-specific network configuration, and so on.
In order to avoid these problems, the following steps are based on command-line
testing of password resets while logged into a domain controller.
2 Warning
Use these procedures only in a test environment. While the DC agent service is
stopped, all incoming password changes and resets are accepted without
validation. This also helps avoid the increased risks of logging into a domain
controller.
The following steps assume you've installed the DC agent on at least one domain
controller, have installed at least one proxy, and have registered both the proxy and the
forest.
2. Open up Event Viewer and navigate to the DC Agent Admin event log.
There are many ways to create a user account, but a command-line option is
offered here as a way to make it easy during repetitive testing cycles:
text
For discussion purposes below, assume that we have created a test account named
"ContosoUser", for example:
text
net.exe user ContosoUser /add <password>
7. Modify the Microsoft Entra Password Protection policy as needed for the testing
you want to perform. For example, you may decide to configure either Enforced or
Audit Mode, or you may decide to modify the list of banned terms in your custom
banned passwords list.
8. Synchronize the new policy by stopping and restarting the DC agent service.
This step can be accomplished in various ways. One way would be to use the
Service Management administrative console, by right-clicking on the Microsoft
Entra Password Protection DC Agent service and choosing "Restart". Another way
may be performed from the command prompt window like so:
text
9. Check the Event Viewer to verify that a new policy has been downloaded.
Each time the DC agent service is stopped and started, you should see two 30006
events issued in close succession. The first 30006 event will reflect the policy that
was cached on disk in the sysvol share. The second 30006 event (if present) should
have an updated Tenant policy date, and if so will reflect the policy that was
downloaded from Azure. The Tenant policy date value is currently coded to display
the approximate timestamp that the policy was downloaded from Azure.
If the second 30006 event doesn't appear, you should troubleshoot the problem
before continuing.
text
Enabled: 1
AuditOnly: 0
Global policy date: 2
018
-0
5
-1
5T00:00:00.000000000Z
Tenant policy date: 2
018
-0
6
-1
0T20:15:24.432457600Z
Enforce tenant policy: 1
For example, changing between Enforced and Audit mode will result in the
AuditOnly flag being modified (the policy listed with AuditOnly=0 is in Enforced
mode). Changes to the custom banned password list aren't directly reflected in the
30006 event above and aren't logged anywhere else for security reasons.
Successfully downloading the policy from Azure after this change will also include
the modified custom banned password list.
10. Run a test by trying to reset a new password on the test user account.
This step can be done from the command prompt window like so:
text
After running the command, you can get more information about the outcome of
the command by looking in the event viewer. Password validation outcome events
are documented in the DC Agent Admin event log topic; you'll use such events to
validate the outcome of your test in addition to the interactive output from the
net.exe commands.
Let's try an example: attempting to set a password that is banned by the Microsoft
global list (note that list is not documented but we can test here against a known
banned term). This example assumes that you have configured the policy to be in
Enforced mode, and have added zero terms to the custom banned password list.
text
Per the documentation, because our test was a password reset operation you
should see a 10017 and a 30005 event for the ContosoUser user.
text
The reset password for the specified user was rejected because it
didn't comply with the current Azure password policy. For more
information, please see the correlated event log message.
UserName: ContosoUser
FullName:
text
The reset password for the specified user was rejected because it
matched at least one of the tokens present in the Microsoft global
banned password list of the current Azure password policy.
UserName: ContosoUser
FullName:
That was fun - let's try another example! Now, we'll attempt to set a password that
is banned by the custom banned list while the policy is in Audit mode. This
example assumes that you've completed the following steps: configured the policy
to be in Audit mode, added the term "lachrymose" to the custom banned
password list, and synchronized the resultant new policy to the domain controller
by cycling the DC agent service as previously described.
text
Remember, this time it succeeded because the policy is in Audit mode. You should
see a 10025 and a 30007 event for the ContosoUser user.
text
The reset password for the specified user would normally have been
rejected because it didn't comply with the current Azure password
policy. The current Azure password policy is configured for audit-only
mode so the password was accepted. Please see the correlated event log
message for more details.
UserName: ContosoUser
FullName:
text
The reset password for the specified user would normally be rejected
because it matches at least one of the tokens present in the per-tenant
banned password list of the current Azure password policy. The current
Azure password policy is configured for audit-only mode so the password
was accepted.
UserName: ContosoUser
FullName:
11. Continue testing various passwords of your choice and checking the results in the
event viewer using the procedures outlined in the previous steps. If you need to
change the policy in the Microsoft Entra admin center, don't forget to synchronize
the new policy down to the DC agent as described earlier.
We've covered procedures that enable you to do controlled testing of Microsoft Entra
Password Protection's password validation behavior. Resetting user passwords from the
command line directly on a domain controller may seem an odd means of doing such
testing, but as described previously it's designed to produce repeatable results. As
you're testing various passwords, keep the password evaluation algorithm in mind as it
may help to explain results that you didn't expect.
2 Warning
When all testing is completed don't forget to delete any user accounts created for
testing purposes!
Additional content
The following links aren't part of the core Microsoft Entra Password Protection
documentation but may be a useful source of additional information on the feature.
Email Phishing Protection Guide – Part 15: Implement the Microsoft Entra Password
Protection Service (for On-Premises too!)
Microsoft Entra Password Protection and Smart Lockout are now in Public Preview!
Microsoft Premier\Unified support
training available
If you want to learn more about Microsoft Entra Password Protection and how to deploy
it, you can use a Microsoft proactive service. This service is available to customers with a
Premier or Unified support contract. The service is called Microsoft Entra ID: Password
Protection. Contact your Customer Success Account Manager for more information.
Next steps
If you have an on-premises Microsoft Entra Password Protection question that isn't
answered here, submit a Feedback item below - thank you!
Feedback
Was this page helpful? Yes No
To download the most recent version, see Microsoft Entra Password Protection for
Windows Server Active Directory .
1.2.177.1
Release date: March 28, 2022
1.2.177.0
Release date: March 14, 2022
Minor bugfixes
Fixed issue with Microsoft Entra Connect Agent Updater not being updated
1.2.176.0
Release date: June 4, 2021
Minor bugfixes to issues which prevented the proxy and DC agents from running
successfully in certain environments.
1.2.172.0
Release date: February 22, 2021
It has been almost two years since the GA versions of the on-premises Microsoft Entra
Password Protection agents were released. A new update is now available - see change
descriptions below. Thank you to everyone who has given us feedback on the product.
The DC agent and Proxy agent software both now require .NET 4.7.2 to be
installed.
If .NET 4.7.2 is not already installed, download and run the installer found at The
.NET Framework 4.7.2 offline installer for Windows .
The AzureADPasswordProtection PowerShell module is now also installed by the
DC agent software.
Two new health-related PowerShell cmdlets have been added: Test-
AzureADPasswordProtectionDCAgent and Test-AzureADPasswordProtectionProxy.
The AzureADPasswordProtection DC Agent password filter dll will now load and
run on machines where lsass.exe is configured to run in PPL mode.
Bug fix to password algorithm that allowed banned passwords fewer than five
characters in length to be incorrectly accepted.
This bug is only applicable if your on-premises AD minimum password length
policy was configured to allow fewer than five character passwords in the first
place.
Other minor bug fixes.
The new installers will automatically upgrade older versions of the software. If you have
installed both the DC agent and the Proxy software on a single machine (only
recommended for test environments), you must upgrade both at the same time.
It is supported to run older and newer versions of the DC agent and proxy software
within a domain or forest, although we recommend upgrading all agents to the latest
version as a best practice. Any ordering of agent upgrades is supported - new DC
agents can communicate through older Proxy agents, and older DC agents can
communicate through newer Proxy agents.
1.2.125.0
Release date: March 2, 2019
7 Note
Build 1.2.125.0 is the General Availability build. Thank you again to everyone has
provided feedback on the product!
1.2.116.0
Release date: March 3, 2019
1.2.65.0
Release date: February 1, 2019
Changes:
DC agent and proxy service are now supported on Server Core. Minimum OS
requirements are unchanged from before: Windows Server 2012 for DC agents,
and Windows Server 2012 R2 for proxies.
The DC agent uses a new folder in the sysvol share for replicating password
policies and other files.
\\<domain>\sysvol\<domain fqdn>\Policies\{4A9AB66B-4365-4C2A-996C-
58ED9927332D}
\\<domain>\sysvol\<domain fqdn>\AzureADPasswordProtection
7 Note
No migration or sharing of data will be done between the old folder and the
new folder. Older DC agent versions will continue to use the old location until
upgraded to this version or later. Once all DC agents are running version
1.2.65.0 or later, the old sysvol folder may be manually deleted.
The DC agent and proxy service will now detect and delete mangled copies of their
respective service connection points.
Each DC agent will periodically delete mangled and stale service connection points
in its domain, for both DC agent and proxy service connection points. Both DC
agent and proxy service connection points are considered stale if its heartbeat
timestamp is older than seven days.
The DC agent will now renew the forest certificate as needed.
The Proxy service will now renew the proxy certificate as needed.
Updates to password validation algorithm: the global banned password list and
customer-specific banned password list (if configured) are combined prior to
password validations. A given password may now be rejected (fail or audit-only) if
it contains tokens from both the global and customer-specific list. The event log
documentation has been updated to reflect this; see Monitor Microsoft Entra
Password Protection.
Improved logging
2 Warning
Time-limited functionality: the DC agent service in this release (1.2.65.0) will stop
processing password validation requests as of September 1st 2019. DC agent
services in prior releases (see list below) will stop processing as of July 1st 2019. The
DC agent service in all versions will log 10021 events to the Admin event log in the
two months leading up these deadlines. All time-limit restrictions will be removed
in the upcoming GA release. The Proxy agent service is not time-limited in any
version but should still be upgraded to the latest version in order to take advantage
of all subsequent bug fixes and other improvements.
1.2.25.0
Release date: November 1, 2018
Fixes:
DC agent and proxy service should no longer fail due to certificate trust failures.
DC agent and proxy service have fixes for FIPS-compliant machines.
Proxy service will now work properly in a TLS 1.2-only networking environment.
Minor performance and robustness fixes
Improved logging
Changes:
The minimum required OS level for the Proxy service is now Windows Server 2012
R2. The minimum required OS level for the DC agent service remains at Windows
Server 2012.
The Proxy service now requires .NET version 4.6.2.
The password validation algorithm uses an expanded character normalization
table. This change may result in passwords being rejected that were accepted in
prior versions.
1.2.10.0
Release date: August 17, 2018
Fixes:
2 Warning
In-place upgrade from version 1.1.10.3 is not supported and will result in an
installation error. To upgrade to version 1.2.10 or later, you must first completely
uninstall the DC agent and proxy service software, then install the new version from
scratch. Re-registration of the Microsoft Entra password protection Proxy service is
required. It is not required to re-register the forest.
7 Note
DC agent and proxy service now support running on a server configured to only
use FIPS-compliant algorithms.
Minor performance and robustness fixes
Improved logging
1.1.10.3
Release date: June 15, 2018
Next steps
Deploy Microsoft Entra Password Protection
Feedback
Was this page helpful? Yes No
Smart lockout helps lock out bad actors that try to guess your users' passwords or use brute-
force methods to get in. Smart lockout can recognize sign-ins that come from valid users and
treat them differently than ones of attackers and other unknown sources. Attackers get locked
out, while your users continue to access their accounts and be productive.
10 failed attempts in Azure Public and Microsoft Azure operated by 21Vianet tenants
3 failed attempts for Azure US Government tenants
The account locks again after each subsequent failed sign-in attempt. The lockout period is
one minute at first, and longer in subsequent attempts. To minimize the ways an attacker could
work around this behavior, we don't disclose the rate at which the lockout period increases
after unsuccessful sign-in attempts.
Smart lockout tracks the last three bad password hashes to avoid incrementing the lockout
counter for the same password. If someone enters the same bad password multiple times, this
behavior doesn't cause the account to lock out.
7 Note
Hash tracking functionality isn't available for customers with pass-through authentication
enabled as authentication happens on-premises not in the cloud.
Federated deployments that use Active Directory Federation Services (AD FS) 2016 and AD FS
2019 can enable similar benefits by using AD FS Extranet Lockout and Extranet Smart Lockout.
It's recommended to move to managed authentication .
Smart lockout is always on, for all Microsoft Entra customers, with these default settings that
offer the right mix of security and usability. Customization of the smart lockout settings, with
values specific to your organization, requires Microsoft Entra ID P1 or higher licenses for your
users.
Using smart lockout doesn't guarantee that a genuine user is never locked out. When smart
lockout locks a user account, we try our best to not lock out the genuine user. The lockout
service attempts to ensure that bad actors can't gain access to a genuine user account. The
following considerations apply:
Lockout state across Microsoft Entra data centers is synchronized. However, the total
number of failed sign-in attempts allowed before an account is locked out will have slight
variance from the configured lockout threshold. Once an account is locked out, it's locked
out everywhere across all Microsoft Entra data centers.
Smart Lockout uses familiar location versus unfamiliar location to differentiate between a
bad actor and the genuine user. Both unfamiliar and familiar locations have separate
lockout counters.
To refrain the system from locking out a user signing in from an unfamiliar location, they
must use the correct password to avoid being locked out and have a low number of
previous lockout attempts from unfamiliar locations. If the user is locked out from an
unfamiliar location, the user should consider SSPR to reset the lockout counter.
After an account lockout, the user can initiate self-service password reset (SSPR) to sign in
again. If the user chooses I forgot my password during SSPR, the duration of the lockout
is reset to 0 seconds. If the user chooses I know my password during SSPR, the lockout
timer continues, and the duration of the lockout isn't reset. To reset the duration and sign
in again, the user needs to change their password.
Smart lockout can be integrated with hybrid deployments that use password hash sync or
pass-through authentication to protect on-premises Active Directory Domain Services (AD DS)
accounts from being locked out by attackers. By setting smart lockout policies in Microsoft
Entra ID appropriately, attacks can be filtered out before they reach on-premises AD DS.
The Microsoft Entra lockout threshold must be less than the AD DS account lockout
threshold. Set the values so that the AD DS account lockout threshold is at least two or
three times greater than the Microsoft Entra lockout threshold.
The Microsoft Entra lockout duration must be longer than the AD DS account lockout
duration. The Microsoft Entra duration is set in seconds, while the AD DS duration is set in
minutes.
Tip
This configuration ensures Microsoft Entra smart lockout stops your on-premises AD
DS accounts from being locked out by brute force attacks, like password spray
attacks on your Microsoft Entra accounts.
For example, if you want your Microsoft Entra smart lockout duration to be higher than AD DS,
then Microsoft Entra ID would be 120 seconds (2 minutes) while your on-premises AD is set to
1 minute (60 seconds). If you want your Microsoft Entra lockout threshold to be 10, then you
want your on-premises AD DS lockout threshold to be 5.
) Important
An administrator can unlock the users' cloud account if they have been locked out by the
Smart Lockout capability, without the need of waiting for the lockout duration to expire.
For more information, see Reset a user's password using Microsoft Entra ID.
To check or modify the smart lockout values for your organization, complete the following
steps:
3. Set the Lockout threshold, based on how many failed sign-ins are allowed on an account
before its first lockout.
The default is 10 for Azure Public tenants and 3 for Azure US Government tenants.
4. Set the Lockout duration in seconds, to the length in seconds of each lockout.
7 Note
If the first sign-in after a lockout period has expired also fails, the account locks out again.
If an account locks repeatedly, the lockout duration increases.
Testing Smart lockout
When the smart lockout threshold is triggered, you'll get the following message while the
account is locked:
Your account is temporarily locked to prevent unauthorized use. Try again later, and if you still
have trouble, contact your admin.
When you test smart lockout, your sign-in requests might be handled by different datacenters
due to the geo-distributed and load-balanced nature of the Microsoft Entra authentication
service.
Smart lockout tracks the last three bad password hashes to avoid incrementing the lockout
counter for the same password. If someone enters the same bad password multiple times, this
behavior doesn't cause the account to lock out.
Default protections
In addition to Smart lockout, Microsoft Entra ID also protects against attacks by analyzing
signals including IP traffic and identifying anomalous behavior. Microsoft Entra ID blocks these
malicious sign-ins by default and returns AADSTS50053 - IdsLocked error code, regardless of
the password validity.
Next steps
To customize the experience further, you can configure custom banned passwords for
Microsoft Entra password protection.
To help users reset or change their password from a web browser, you can configure
Microsoft Entra self-service password reset.
Track and investigate identity activities with
linkable identifiers in Microsoft Entra
Article • 05/28/2025
Microsoft embeds specific identifiers in all access tokens that enable the correlation of activities
back to a single root authentication event. These linkable identifiers are surfaced in customer-
facing logs to support threat hunters and security analysts in investigating and mitigating
identity-based attacks. By using these identifiers, security professionals can more effectively
trace, analyze, and respond to malicious activity across sessions and tokens, enhancing both
the transparency and security of the environment.
Correlate activity across services: Start with a session ID from Microsoft Entra sign-in
logs. Join it with workload logs, such as the Exchange Online audit logs or Microsoft
Graph activity logs. Then you can identify all actions performed by access tokens that
share the same session ID.
Filter by user or device: Narrow results by using UserId or DeviceId, or filter tokens issued
within a specific session timeframe.
Enumerate sessions: Determine how many active sessions exist for a specific user (UserId)
or device (DeviceId).
Link across authentication artifacts: The SID claim is generated during interactive
authentication and included in the primary refresh token (PRT), refresh token, or session
cookie. All access tokens issued from these sources inherit the same SID, enabling
consistent linkage across authentication artifacts.
A common UTI-based investigation scenario is token-level activity tracing. Start with a UTI
from Microsoft Entra sign-in logs and correlate it with workload logs, such as the Exchange
Online audit logs or Microsoft Graph activity logs, to trace all actions performed by a specific
access token.
The UTI is unique for every access token and session, which makes it ideal for pinpointing
suspicious or compromised tokens during investigations.
ノ Expand table
oid String, a GUID The immutable identifier for the requestor, which is the verified identity of the
user or service principal. This ID uniquely identifies the requestor across
applications.
tid String, a GUID Represents the tenant that the user is signing in to.
sid String, a GUID Represents a unique identifier for an entire session and is generated when a
user does interactive authentication. This ID helps link all authentication
artifacts issued from a single root authentication.
deviceid String, a GUID Represents a unique identifier for the device from which a user is interacting
with an application.
uti String Represents the token identifier claim This ID is a unique, per-token identifier
that is case-sensitive.
iat int, a Unix Specifies when the authentication for this token occurred.
timestamp
These logs enable security analysts to correlate authentication events and token usage across
services, supporting comprehensive investigations into identity-related threats.
ノ Expand table
oid User ID
sid Session ID
deviceid Device ID
iat Date
To view the sign-in logs from the Microsoft Entra admin center:
Start with linkable identifiers from Microsoft Entra sign-in logs, such as session ID (SID) or
unique token identifier (UTI).
Use these identifiers to search Microsoft Purview Audit (Standard) or Audit (Premium)
logs.
Track all user actions performed on mailbox items during a specific session or by a
specific token.
This approach enables security analysts to trace activity across services and identify potential
misuse or compromise.
For detailed guidance about searching Exchange Online audit logs, see Search the audit log.
This table shows the mapping between linkable identifier claims and Exchange Online audit log
attribute.
ノ Expand table
oid TokenObjectId
tid TokenTenantId
2. Search for logs with a specific timeframe and record types starting with Exchange.
3. You can further filter for a specific user, or a UTI value from Microsoft Entra sign-in logs.
You can filter all the activity logs within a session with SessionId .
PowerShell
PowerShell
PowerShell
PowerShell
PowerShell
PowerShell
7 Note
The linkable identifiers aren't available in the Exchange Online audit logs on some
aggregated log entries, or logs generated from background processes.
If you configure Microsoft Graph activity logs to be sent to a Log Analytics workspace, you can
query them using Kusto Query Language. This allows you to perform detailed investigations
into user and application behavior across Microsoft 365 services.
Start with linkable identifiers from Microsoft Entra sign-in logs, such as SID or UTI.
Use these identifiers to correlate and trace user actions across Microsoft Graph activity
logs.
Track all operations performed on mailbox items or other resources by a specific token or
session see Microsoft Graph Activity Logs.
This table shows the mapping between linkable identifier claims and Microsoft Graph activity
log attribute.
ノ Expand table
oid UserId
tid TenantId
sid SessionId
uti SignInActivityId
iat TokenIssuedAt
Join sign-in logs and Microsoft Graph activity logs using KQL
You can use Kusto Query Language (KQL) to join Microsoft Entra sign-in logs and Microsoft
Graph Activity logs for advanced investigation scenarios.
Filter by uti : Use the uti attribute to analyze all activities associated with a specific access
token. This is useful for tracing the behavior of a single token across services.
Filter by sid (Session ID): Use the sid claim to analyze all activities performed by access
tokens issued from a refresh token that originated from a root interactive authentication.
This allows you to trace the full session lifecycle.
Additional filtering: You can further refine your queries using attributes such as UserId,
DeviceId, and time-based filters to narrow the scope of your investigation.
These capabilities enable security analysts to correlate authentication events with workload
activity, improving visibility and response to identity-related threats.
kql
MicrosoftGraphActivityLogs
| where TimeGenerated > ago(4d) and UserId == '4624cd8c-6c94-4593-b0d8-
a4983d797ccb'
| join kind=leftouter (union
SigninLogs,
AADNonInteractiveUserSignInLogs,
AADServicePrincipalSignInLogs,
AADManagedIdentitySignInLogs,
ADFSSignInLogs
| where TimeGenerated > ago(4d))
on $left.SignInActivityId == $right.UniqueTokenIdentifier
For more information about queries in Log Analytics Workspace, see Analyze Microsoft Entra
activity logs with Log Analytics.
Scenario Overview
2. Accesses Microsoft Graph The user interacts with Microsoft Graph APIs to retrieve or
modify organizational data. Each request is logged in the Microsoft Graph activity logs,
with the associated SID and UTI enabling correlation back to the original sign-in event.
3. Uses Exchange Online (Outlook) The user opens Outlook via Exchange Online and
performs mailbox operations such as reading, moving, or deleting emails. These actions
are captured in Exchange Online audit logs, which also include the same linkable
identifiers.
By using the SID, analysts can trace all activities across services that originated from the same
session. Alternatively, the UTI can be used to pinpoint actions tied to a specific access token.
1. Find the interactive login log line in the sign in logs, and capture the SessionId :
2. Add a filter by SessionId . You can get the SessionId for interactive or noninteractive
sign-ins.
Interactive sign-ins:
Noninteractive sign-ins:
3. To get all the activities on Microsoft Graph workload done by the user within this specific
session, go to Log Analytics in Microsoft Entra admin center and run the query to join
Microsoft Entra sign in logs and Microsoft Graph Activity logs. The following query filters
by UserId and SessionId .
Further filtering can be done on a SignInActivityId (uti claim) attribute to learn more
about the access by specific request.
4. To get Exchange Online activities, open the Microsoft Purview portal and search by Users
or Record Types.
For a full list of audited Teams activities, see Teams activities in the audit log. For more
information about Teams audit logs, see Teams Audit Logs. For more information about how to
search the Teams audit logs, see Search the audit log.
Start with linkable identifiers from Microsoft Entra sign-in logs, such as SID or UTI.
Use these identifiers to search Microsoft Purview Audit (Standard) or Audit (Premium)
logs.
Track user actions across Teams sessions, including team and channel operations.
The table below shows the mapping between linkable identifier claims and Teams audit log
attribute.
ノ Expand table
oid UserKey
tid OrganizationId
5. The audit search results will show all the log lines from the Teams activities.
ノ Expand table
Category Audit events
After revoking all active user sessions and tokens, administrators can begin a forensic
investigation to determine the scope of unauthorized activity. Specifically, they may need to
identify actions performed by the attacker across Teams and SharePoint Online during the
affected timeframe.
Using linkable identifiers such as the Session ID (SID) and Unique Token Identifier (UTI) from
Microsoft Entra sign-in logs, administrators can correlate and trace activity across Microsoft
Purview Audit (Standard) and Audit (Premium) logs. This enables visibility into:
1. Start with Microsoft Entra sign-in logs to find the session ID of this access token by
filtering around the time the token was phished and the user objectId.
2. Determine the linkable identifiers from Microsoft Entra sign-in logs, such as SID or UTI, to
use as a filter on Teams audit logs.
3. In the Microsoft Purview portal, search for logs with a specific timeframe for workloads
such as Teams and SharePoint Online, and for the specific user.
4. The search returns all audit log entries within that timeframe, filtered by the user and
workloads as Teams.
5. You can see the audit log trail from the user logging into Teams, and see that the bad
actor has done several activities, like added specific users into a Teams channel, posted a
phishing message, and so on.
6. Each log item can be opened to get detailed information on linkable identifiers. In this
example, a user posts a message.
7. Export the audit log and investigate for a specific SessionId or UniqueTokenId for specific
activities. This image shows different operations that the attacker performed.
By analyzing the log files with linkable identifiers, tenant admin and security professionals can
effectively trace, analyze, and respond to malicious activity across sessions and tokens.
Related content
Microsoft Entra Sign in logs
Teams Audit Logs
Microsoft Graph Activity Logs
Authentication Methods Activity
Article • 03/04/2025
7 Note
For information about viewing or deleting personal data, see Azure Data Subject
Requests for the GDPR. For more information about GDPR, see the GDPR section
of the Microsoft Trust Center and the GDPR section of the Service Trust
portal .
Microsoft.directory/auditLogs/allProperties/read
Microsoft.directory/signInReports/allProperties/read
Reports Reader
Security Reader
Global Reader
Application Administrator
Cloud Application Administrator
Security Operator
Security Administrator
Global Administrator
How it works
To access authentication method Usage and insights:
Registration details
You can access the Registration tab to show the number of users capable of multifactor
authentication, passwordless authentication, and self-service password reset.
Click any of the following options to pre-filter a list of user registration details:
This number doesn't reflect users registered for MFA outside of Microsoft Entra ID.
Users capable of self-service password reset shows the breakdown of users who
can reset their passwords. Users can reset their password if they're both:
Registered for enough methods to satisfy their organization's policy for self-
service password reset
Enabled to reset their password
Users registered by authentication method shows how many users are registered for
each authentication method. Click an authentication method to see who is registered for
that method.
Recent registration by authentication method shows how many registrations
succeeded and failed, sorted by authentication method. Click an authentication method
to see recent registration events for that method.
Usage details
The Usage report shows which authentication methods are used to sign-in and reset
passwords.
Sign-ins by authentication requirement shows the number of successful user
interactive sign-ins that were required for single-factor versus multifactor authentication
in Microsoft Entra ID. Sign-ins where MFA was enforced by a third-party MFA provider
are not included.
Sign-ins by authentication method shows the number of user interactive sign-ins
(success and failure) by authentication method used. It doesn't include sign-ins where
the authentication requirement was satisfied by a claim in the token.
Number of password resets and account unlocks shows the number of successful
password changes and password resets (self-service and by admin) over time.
Password resets by authentication method shows the number of successful and failed
authentications during the password reset flow by authentication method.
User registration details
Using the controls at the top of the list, you can search for a user and filter the list of
users based on the columns shown.
7 Note
User accounts that were recently deleted, also known as soft-deleted users, are not
listed in user registration details.
The registration details report shows the following information for each user:
Name
Last Updated Time (The date and time when the report most recently updated.
This value is not related the user's authentication method registration.)
Date
User name
User
Method used (App notification, App code, Phone Call, Office Call, Alternate Mobile
Call, SMS, Email, Security questions)
Next steps
Working with the authentication methods usage report API
Choosing authentication methods for your organization
Combined registration experience
Feedback
Was this page helpful? Yes No
The following questions can be answered by the reports that exist in the Microsoft Entra
admin center :
7 Note
You must opt in for this data to be gathered on behalf of your organization. To opt
in, you must visit the Reporting tab or the audit logs at least once. Until then, data
isn't collected for your organization.
Combined registration
Combined registration security information registration and management events can be
found in the audit logs under Security > Authentication Methods.
ノ Expand table
Data Alternate email: The user used an alternate email or authentication email to
registered authenticate.
Any combination of the previous methods, for example, alternate email + mobile
phone: Occurs when a two-gate policy is specified and shows which two methods
the user used to authentication their password reset request.
Self-service password reset policy changes: Indicates any changes to the SSPR
policy, including old value and new value.
Blocked from self-service password reset: Indicates that a user tried to reset a
password, use a specific gate, or validate a phone number more than five total
times in 24 hours.
Change password (self-service): Indicates that a user performed a voluntary, or
forced (due to expiry) password change.
Reset password (by admin): Indicates that an administrator performed a password
reset on behalf of a user.
Reset password (self-service): Indicates that a user successfully reset their password
from Microsoft Entra password reset .
Self-service password reset flow activity progress: Indicates each specific step a
user proceeds through, such as passing a specific password reset authentication
gate, as part of the password reset process.
Unlock user account (self-service): Indicates that a user successfully unlocked their
Active Directory account without resetting their password from Microsoft Entra
password reset by using the Active Directory feature of account unlock without
reset.
User registered for self-service password reset: Indicates that a user has registered
all the required information to be able to reset their password in accordance with
the currently specified tenant password reset policy.
Activity description: Indicates that a user tried to reset a password, use a specific
gate, or validate a phone number more than five total times in 24 hours.
Activity actor: The user who was throttled from performing additional reset
operations. The user can be an end user or an administrator.
Activity target: The user who was throttled from performing additional reset
operations. The user can be an end user or an administrator.
Activity status:
Success: Indicates that a user was throttled from performing any additional
resets, attempting any additional authentication methods, or validating any
additional phone numbers for the next 24 hours.
Activity status failure reason: Not applicable.
Activity description: Indicates that a user successfully reset their password from
Microsoft Entra password reset .
Activity actor: The user who reset their password. The user can be an end user or
an administrator.
Activity target: The user who reset their password. The user can be an end user or
an administrator.
Activity statuses:
Success: Indicates that a user successfully reset their own password.
Failure: Indicates that a user failed to reset their own password. You can select
the row to see the Activity status reason category to learn more about why the
failure occurred.
Activity status failure reason:
FuzzyPolicyViolationInvalidPassword: The admin selected a password that was
automatically banned because the Microsoft Banned Password Detection
capabilities found it to be too common or especially weak.
Activity description: Indicates each specific step a user proceeds through (such as
passing a specific password reset authentication gate) as part of the password
reset process.
Activity actor: The user who performed part of the password reset flow. The user
can be an end user or an administrator.
Activity target: The user who performed part of the password reset flow. The user
can be an end user or an administrator.
Activity statuses:
Success: Indicates that a user successfully completed a specific step of the
password reset flow.
Failure: Indicates that a specific step of the password reset flow failed. You can
select the row to see the Activity status reason category to learn more about
why the failure occurred.
Activity status reasons: See the following table for all the permissible reset activity
status reasons.
Activity description: Indicates that a user has registered all the required
information to be able to reset their password in accordance with the currently
specified tenant password reset policy.
Activity actor: The user who registered for password reset. The user can be an end
user or an administrator.
Activity target: The user who registered for password reset. The user can be an
end user or an administrator.
Allowed activity statuses:
Failure: Indicates that a user failed to register for password reset. You can select
the row to see the Activity status reason category to learn more about why the
failure occurred.
7 Note
Failure doesn't mean a user is unable to reset their own password. It means
that they didn't finish the registration process. If there's unverified data on
their account that's correct, such as a phone number that's not validated,
even though they haven't verified this phone number, they can still use it
to reset their password.
Next steps
SSPR and MFA usage and insights reporting
How do I complete a successful rollout of SSPR?
Reset or change your password .
Register for self-service password reset .
Do you have a licensing question?
What data is used by SSPR and what data should you populate for your users?
What authentication methods are available to users?
What are the policy options with SSPR?
What is password writeback and why do I care about it?
What are all of the options in SSPR and what do they mean?
I think something is broken. How do I troubleshoot SSPR?
I have a question that was not covered somewhere else
Feedback
Was this page helpful? Yes No
To review and understand Microsoft Entra multifactor authentication events, you can use the
Microsoft Entra sign-in logs. This report shows authentication details for events when a user is
prompted for multifactor authentication, and if any Conditional Access policies were in use. For
detailed information on the sign-in logs, see the overview of sign-in activity reports in
Microsoft Entra ID.
To view the sign-in activity report in the Microsoft Entra admin center , complete the
following steps. You can also query data using the reporting API.
2. Browse to Entra ID > Users from the menu on the left-hand side.
4. A list of sign-in events is shown, including the status. You can select an event to view
more details.
The Conditional Access tab of the event details shows you which policy triggered the
MFA prompt.
If available, the authentication is shown, such as text message, Microsoft Authenticator app
notification, or phone call.
The Authentication Details tab provides the following information, for each authentication
attempt:
This information allows admins to troubleshoot each step in a user’s sign-in, and track:
While viewing the sign-in logs, select the Authentication Details tab:
7 Note
OATH verification code is logged as the authentication method for both OATH hardware
and software tokens (such as the Microsoft Authenticator app).
) Important
The Authentication details tab can initially show incomplete or inaccurate data, until log
information is fully aggregated. Known examples include:
The following details are shown on the Authentication Details window for a sign-in event that
show if the MFA request was satisfied or denied:
If MFA was satisfied, this column provides more information about how MFA was satisfied.
completed in the cloud
has expired due to the policies configured on tenant
registration prompted
satisfied by claim in the token
satisfied by claim provided by external provider
satisfied by strong authentication
skipped as flow exercised was Windows broker logon flow
skipped due to app password
skipped due to location
skipped due to registered device
skipped due to remembered device
successfully completed
If MFA was denied, this column would provide the reason for denial.
authentication in-progress
duplicate authentication attempt
entered incorrect code too many times
invalid authentication
invalid mobile app verification code
misconfiguration
phone call went to voicemail
phone number has an invalid format
service error
unable to reach the user's phone
unable to send the mobile app notification to the device
unable to send the mobile app notification
user declined the authentication
user didn't respond to mobile app notification
user doesn't have any verification methods registered
user entered incorrect code
user entered incorrect PIN
user hung up the phone call without succeeding the authentication
user is blocked
user never entered the verification code
user not found
verification code already used once
Identify users who have registered for MFA using the PowerShell that follows. This set of
commands excludes disabled users since these accounts can't authenticate against Microsoft
Entra ID:
PowerShell
Identify users who aren't registered for MFA by running the following PowerShell commands.
This set of commands excludes disabled users since these accounts can't authenticate against
Microsoft Entra ID:
PowerShell
PowerShell
Cloud MFA sign-in events from an on-premises AD FS adapter or NPS extension won't have all
fields in the sign-in logs populated due to limited data returned by the on-premises
component. You can identify these events by the resourceID adfs or radius in the event
properties. They include:
resultSignature
appID
deviceDetail
conditionalAccessStatus
authenticationContext
isInteractive
tokenIssuerName
riskDetail, riskLevelAggregated,riskLevelDuringSignIn, riskState,riskEventTypes,
riskEventTypes_v2
authenticationProtocol
incomingTokenType
Organizations that run the latest version of NPS extension or use Microsoft Entra Connect
Health will have location IP address in events.
Next steps
This article provided an overview of the sign-ins activity report. For more detailed information
on what this report contains, see sign-in activity reports in Microsoft Entra ID.
Microsoft Entra user data collection for
multifactor authentication and self-
service password reset
Article • 03/04/2025
This article explains how to find user information collected by Microsoft Entra
multifactor authentication (Cloud-based) and self-service password reset (SSPR) in the
event you would like to remove it.
7 Note
For information about viewing or deleting personal data, please review Microsoft's
guidance on the Windows data subject requests for the GDPR site. For general
information about GDPR, see the GDPR section of the Microsoft Trust Center
and the GDPR section of the Service Trust portal .
Timestamp
Username
First Name
Last Name
Email Address
User Group
Authentication Method (Phone Call, Text Message, Mobile App, OATH Token)
Phone Call Mode (Standard, PIN)
Text Message Direction (One-Way, Two-Way)
Text Message Mode (OTP, OTP + PIN)
Mobile App Mode (Standard, PIN)
OATH Token Mode (Standard, PIN)
Authentication Type
Application Name
Primary Call Country Code
Primary Call Phone Number
Primary Call Extension
Primary Call Authenticated
Primary Call Result
Backup Call Country Code
Backup Call Phone Number
Backup Call Extension
Backup Call Authenticated
Backup Call Result
Overall Authenticated
Overall Result
Results
Authenticated
Result
Initiating IP Address
Devices
Device Token
Device Type
Mobile App Version
OS Version
Result
Used Check for Notification
Username
Account Name
Timestamp
Get Activation Code Result
Activate Success
Activate Error
Activation Status Result
Device Name
Device Type
App Version
OATH Token Enabled
Block Timestamp
Block By Username
Username
Country Code
Phone Number
Phone Number Formatted
Extension
Clean Extension
Blocked
Block Reason
Completion Timestamp
Completion Reason
Account Lockout
Fraud Alert
Fraud Alert Not Blocked
Language
Bypass Timestamp
Bypass Seconds
Bypass By Username
Username
Country Code
Phone Number
Phone Number Formatted
Extension
Clean Extension
Bypass Reason
Completion Timestamp
Completion Reason
Bypass Used
Changes (used to sync user changes to MFA Server or Microsoft Entra ID):
Change Timestamp
Username
New Country Code
New Phone Number
New Extension
New Backup Country Code
New Backup Phone Number
New Backup Extension
New PIN
PIN Change Required
Old Device Token
New Device Token
MFA information is included in the export, which may take hours or days to
complete.
Occurrences of the username in the AzureMfa/AuthN/AuthNOptCh,
AzureMfa/AuthZ/AuthZAdminCh, and AzureMfa/AuthZ/AuthZOptCh event logs
are considered operational and duplicative to the information provided in the
export.
MFA information is included in the export, which may take hours or days to
complete.
Occurrences of the username in the AD FS Tracing/Debug event logs (if enabled)
are considered operational and duplicative to the information provided in the
export.
MFA information is included in the export, which may take hours or days to
complete.
Those assigned the Privileged Authentication Administrator role can remove data
collected for any user. On the Users page in Microsoft Entra ID, select Authentication
methods and select a user to remove their phone or email address.
Related content
Authentication methods activity
Feedback
Was this page helpful? Yes No
There are multiple possible end states to your migration, depending on your goal.
ノ Expand table
MFA provider Change MFA provider Change MFA provider from Change MFA provider
from MFA Server to MFA Server to Microsoft from MFA Server to
Microsoft Entra Entra multifactor Microsoft Entra
multifactor authentication. multifactor
authentication. authentication.
If you can, move both your multifactor authentication and your user authentication to
Azure. For step-by-step guidance, see Moving to Microsoft Entra multifactor
authentication and Microsoft Entra user authentication.
If you can't move your user authentication, see the step-by-step guidance for Moving to
Microsoft Entra multifactor authentication with federation.
Prerequisites
AD FS environment (required if you don't migrate all your apps to Microsoft Entra
before you migrate MFA Server)
Upgrade to AD FS for Windows Server 2019, Farm behavior level (FBL) 4. This
upgrade enables you to select authentication provider based on group
membership for a more seamless user transition. While it's possible to migrate
while on AD FS for Windows Server 2016 FBL 3, it isn't as seamless for users.
During the migration, users are prompted to select an authentication provider
(MFA Server or Microsoft Entra multifactor authentication) until the migration is
complete.
Permissions
Enterprise Administrator role in Active Directory to configure AD FS farm for
Microsoft Entra multifactor authentication
A Global Administrator is needed to manage this feature.
You can use the MFA Server Migration Utility to synchronize MFA data stored in the on-
premises Azure MFA Server to Microsoft Entra multifactor authentication and use Staged
Rollout to reroute users to Microsoft Entra multifactor authentication. Staged Rollout
helps you test without making any changes to your domain federation settings.
To help users to differentiate the newly added account from the old account linked to
the MFA Server, make sure the Account name for the Mobile App on the MFA Server is
named in a way to distinguish the two accounts. For example, the Account name that
appears under Mobile App on the MFA Server has been renamed to On-Premises MFA
Server. The account name on Microsoft Authenticator will change with the next push
notification to the user.
Migrating phone numbers can also lead to stale numbers being migrated and make
users more likely to stay on phone-based MFA instead of setting up more secure
methods like Microsoft Authenticator in passwordless mode. We therefore recommend
that regardless of the migration path you choose, that you have all users register for
combined security information.
If you only want to migrate hardware OATH tokens, you need to upload tokens to
Microsoft Entra ID by using a CSV file, commonly referred to as a "seed file". The seed
file contains the secret keys, token serial numbers, and other necessary information
needed to upload the tokens into Microsoft Entra ID.
If you no longer have the seed file with the secret keys, it isn't possible to export the
secret keys from MFA Server. If you no longer have access to the secret keys, contact
your hardware vendor for support.
The MFA Server Web Service SDK can be used to export the serial number for any OATH
tokens assigned to a given user. You can use this information along with the seed file to
import the tokens into Microsoft Entra ID and assign the OATH token to the specified
user based on the serial number. The user will also need to be contacted at the time of
import to supply OTP information from the device to complete the registration. Refer to
the help file topic GetUserInfo > userSettings > OathTokenSerialNumber on your MFA
Server.
More migrations
The decision to migrate from MFA Server to Microsoft Entra multifactor authentication
opens the door for other migrations. Completing more migrations depends upon many
factors, including specifically:
Because MFA Server is integral to both application and user authentication, consider
moving both of those functions to Azure as a part of your MFA migration, and
eventually decommission AD FS.
Our recommendations:
Use Microsoft Entra ID for authentication as it enables more robust security and
governance
Move applications to Microsoft Entra ID if possible
To select the best user authentication method for your organization, see Choose the
right authentication method for your Microsoft Entra hybrid identity solution. We
recommend that you use Password Hash Synchronization (PHS).
Passwordless authentication
As part of enrolling users to use Microsoft Authenticator as a second factor, we
recommend you enable passwordless phone sign-in as part of their registration. For
more information, including other passwordless methods such as FIDO2 security keys
and Windows Hello for Business, visit Plan a passwordless authentication deployment
with Microsoft Entra ID.
If you can't move your SSPR service, or you use MFA Server to invoke MFA requests for
Privileged Access Management (PAM) scenarios, we recommend you update to an
alternate third-party MFA option.
Important considerations
There are limitations when using NPS for RADIUS clients, and we recommend evaluating
any RADIUS clients to determine if you can upgrade them to modern authentication
protocols. Check with the service provider for supported product versions and their
capabilities.
The NPS extension doesn't use Microsoft Entra Conditional Access policies. If you
stay with RADIUS and use the NPS extension, all authentication requests going to
NPS will require the user to perform MFA.
Users must register for Microsoft Entra multifactor authentication before using the
NPS extension. Otherwise, the extension fails to authenticate the user, which can
generate help desk calls.
When the NPS extension invokes MFA, the MFA request is sent to the user's default
MFA method.
Because the sign-in happens on non-Microsoft applications, the user often can't
see visual notification that multifactor authentication is required and that a
request has been sent to their device.
During the multifactor authentication requirement, the user must have access to
their default authentication method to complete the requirement. They can't
choose an alternative method. Their default authentication method will be used
even if it's disabled in the tenant authentication methods and multifactor
authentication policies.
Users can change their default multifactor authentication method in the Security
Info page (aka.ms/mysecurityinfo).
Available MFA methods for RADIUS clients are controlled by the client systems
sending the RADIUS access requests.
MFA methods that require user input after they enter a password can only be
used with systems that support access-challenge responses with RADIUS. Input
methods might include OTP, hardware OATH tokens or Microsoft Authenticator.
Some systems might limit available multifactor authentication methods to
Microsoft Authenticator push notifications and phone calls.
7 Note
The password encryption algorithm used between the RADIUS client and the NPS
system, and the input methods the client can use affect which authentication
methods are available. For more information, see Determine which authentication
methods your users can use.
Citrix Gateway
Citrix Gateway supports both RADIUS and NPS extension integration, and a
SAML integration.
Cisco VPN
The Cisco VPN supports both RADIUS and SAML authentication for SSO.
By moving from RADIUS authentication to SAML, you can integrate the Cisco
VPN without deploying the NPS extension.
All VPNs
We recommend federating your VPN as a SAML app if possible. This federation
allows you to use Conditional Access. For more information, see a list of VPN
vendors that are integrated into the Microsoft Entra ID App gallery.
Next steps
Moving to Microsoft Entra multifactor authentication with federation
Moving to Microsoft Entra multifactor authentication and Microsoft Entra user
authentication
How to use the MFA Server Migration Utility
Feedback
Was this page helpful? Yes No
Multifactor authentication helps secure your infrastructure and assets from bad actors.
Microsoft Multi-Factor Authentication Server (MFA Server) is no longer offered for new
deployments. Customers who are using MFA Server should move to Microsoft Entra
multifactor authentication (Microsoft Entra multifactor authentication).
There are several options for migrating from MFA Server to Microsoft Entra ID:
To select the appropriate MFA migration option for your organization, see the
considerations in Migrate from MFA Server to Microsoft Entra multifactor authentication.
The following diagram shows the process for migrating to Microsoft Entra multifactor
authentication and cloud authentication while keeping some of your applications on AD
FS. This process enables the iterative migration of users from MFA Server to Microsoft
Entra multifactor authentication based on group membership.
7 Note
Use a group created in Microsoft Entra ID, also known as a cloud-only group. You
can use Microsoft Entra security groups or Microsoft 365 Groups for both moving
users to MFA and for Conditional Access policies.
) Important
Nested and dynamic membership groups aren't supported for Staged Rollout.
Don't use these types of groups.
Conditional Access policies. You can use either Microsoft Entra ID or on-premises
groups for Conditional Access.
7 Note
We don't recommend that you reuse groups that are used for security. Only use the
security group to secure a group of high-value apps with a Conditional Access
policy.
If necessary, configure Conditional Access policies before you enable Staged Rollout. For
more information, see the following resources:
Prepare AD FS
If you don't have any applications in AD FS that require MFA, you can skip this section
and go to the section Prepare Staged Rollout.
For more information, see Upgrading to AD FS in Windows Server 2016 using a WID
database. The article covers both upgrading your farm to AD FS 2019 and upgrading
your FBL to 4.
7 Note
Back up rules
Before configuring new claims rules, back up your rules. You'll need to restore claims
rules as a part of your clean-up steps.
Depending on your configuration, you may also need to copy the existing rule and
append the new rules being created for the migration.
PowerShell
Get-AdfsAdditionalAuthenticationRule
To view relying party trusts, run the following command and replace RPTrustName with
the name of the relying party trust claims rule:
PowerShell
(Get-AdfsRelyingPartyTrust -Name
"RPTrustName").AdditionalAuthenticationRules
7 Note
To transition from your access control policies to additional authentication rules, run this
command for each of your Relying Party Trusts using the MFA Server authentication
provider:
PowerShell
This command will move the logic from your current Access Control Policy into
Additional Authentication Rules.
You'll need to have a specific group in which you place users for whom you want to
invoke Microsoft Entra multifactor authentication. You'll need to find the security
identifier (SID) for that group. To find the group SID, run the following command and
replace GroupName with your group name:
PowerShell
Get-ADGroup GroupName
Setting the claims rules to call Microsoft Entra multifactor
authentication
The following Microsoft Graph PowerShell cmdlets invoke Microsoft Entra multifactor
authentication for users in the group when they aren't on the corporate network.
Replace "YourGroupSid" with the SID found by running the preceding cmdlet.
Make sure you review the How to Choose Additional Auth Providers in 2019.
) Important
Run the following command and replace RPTrustName with the name of the relying
party trust claims rule:
PowerShell
(Get-AdfsRelyingPartyTrust -Name
"RPTrustName").AdditionalAuthenticationRules
The command returns your current additional authentication rules for your relying party
trust.
You need to append the following rules to your current claim rules:
Console
c:[Type ==
"https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value
==
"YourGroupSID"] => issue(Type =
"https://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type ==
"https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"https://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'
The following example assumes your current claim rules are configured to prompt for
MFA when users connect from outside your network. This example includes the
additional rules that you need to append.
PowerShell
This example modifies claim rules on a specific relying party trust (application). It
includes the additional rules you need to append.
PowerShell
After you configure the servers, you can add Microsoft Entra multifactor authentication
as an additional authentication method.
Microsoft provides communication templates that you can provide to your users to
guide them through the combined registration process. These include templates for
email, posters, table tents, and various other assets. Users register their information at
https://aka.ms/mysecurityinfo , which takes them to the combined security registration
screen.
We recommend that you secure the security registration process with Conditional
Access that requires the registration to occur from a trusted device or location. For
information on tracking registration statuses, see Authentication method activity for
Microsoft Entra ID.
7 Note
Users who MUST register their combined security information from a non-trusted
location or device can be issued a Temporary Access Pass or alternatively,
temporarily excluded from the policy.
) Important
Nested and dynamic membership groups aren't supported for Staged Rollout. Do
not use these types of groups.
We don't recommend that you reuse groups that are used for security. If you're using a
security group to secure a group of high-value apps with a Conditional Access policy,
only use the group for that purpose.
Monitoring
Many Azure Monitor workbooks and Usage & insights reports are available to monitor
your deployment. These reports can be found in Microsoft Entra ID in the navigation
pane under Monitoring.
App sign-in health workbook. See Monitoring application sign-in health for
resilience for detailed guidance on using this workbook.
Microsoft Entra application activity usage report. This report can be used to
view the successful and failed sign-ins for individual applications as well as the
ability to drill down and view sign-in activity for a specific application.
Clean up tasks
After you move all users to Microsoft Entra cloud authentication and Microsoft Entra
multifactor authentication, you're ready to decommission your MFA Server. We
recommend reviewing MFA Server logs to ensure no users or applications are using it
before you remove the server.
Console
c:[Type ==
"https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value
==
"**YourGroupSID**"] => issue(Type =
"https://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type ==
"https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"https://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'
The process for moving all application authentication is shown in the following diagram.
If you can't move all your applications before the migration, move as many as possible
before you start. For more information about migrating applications to Azure, see
Resources for migrating applications to Microsoft Entra ID.
Next steps
Migrate from Microsoft MFA Server to Microsoft Entra multifactor authentication
(Overview)
Migrate applications from Windows Active Directory to Microsoft Entra ID
Plan your cloud authentication strategy
Feedback
Was this page helpful? Yes No
Don't reuse groups that are used for security. If you're using a security group to secure a
group of high-value apps with a Conditional Access policy, only use the group for that
purpose.
Prepare AD FS
7 Note
Claims rules require on-premises security group. Before making changes to claims
rules, back them up.
Back up rules
Before configuring new claims rules, back up your rules. You'll need to restore these
rules as a part of your clean-up steps.
Depending on your configuration, you may also need to copy the rule and append the
new rules being created for the migration.
PowerShell
Get-AdfsAdditionalAuthenticationRule
To view relying party trusts, run the following command and replace RPTrustName with
the name of the relying party trust claims rule:
PowerShell
(Get-AdfsRelyingPartyTrust -Name
"RPTrustName").AdditionalAuthenticationRules
7 Note
To transition from access control policies to additional authentication rules, run the
following command for each of your Relying Party Trusts using the MFA Server
authentication provider:
PowerShell
This command will move the logic from your current Access Control Policy into
Additional Authentication Rules.
You'll need to have a specific group in which you place users for whom you want to
invoke Microsoft Entra multifactor authentication. You'll need the security identifier (SID)
for that group.
To find the group SID, use the following command, with your group name
Get-ADGroup "GroupName"
The following PowerShell cmdlets invoke Microsoft Entra multifactor authentication for
users in the group when not on the corporate network. Replace "YourGroupSid" with the
SID found by running the above cmdlet.
Make sure you review the How to Choose Additional Auth Providers in 2019.
) Important
PowerShell
(Get-AdfsRelyingPartyTrust -Name
"RPTrustName").AdditionalAuthenticationRules
The command returns your current additional authentication rules for your relying party
trust. Append the following rules to your current claim rules:
Console
c:[Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value ==
"YourGroupSID"] => issue(Type =
"http://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'
The following example assumes your current claim rules are configured to prompt for
MFA when users connect from outside your network. This example includes the
additional rules that you need to append.
PowerShell
This example modifies claim rules on a specific relying party trust (application), and
includes the information you must append.
PowerShell
For step-by-step directions on this process, see Configure the AD FS servers in the
article Configure Microsoft Entra multifactor authentication as authentication provider
with AD FS.
Once you've configured the servers, you can add Microsoft Entra multifactor
authentication as an additional authentication method.
7 Note
For domains that set the SupportsMfa property, these rules determine how
federatedIdpMfaBehavior and SupportsMfa work together:
PowerShell
You can also check the status of your SupportsMfa flag with Get-
MgDomainFederationConfiguration:
PowerShell
Request
HTTP
PATCH
https://graph.microsoft.com/beta/domains/contoso.com/federationConfiguration
/6601d14b-d113-8f64-fda2-9b5ddda18ecc
Content-Type: application/json
{
"federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}
Response
Note: The response object shown here might be shortened for readability.
HTTP
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.internalDomainFederation",
"id": "6601d14b-d113-8f64-fda2-9b5ddda18ecc",
"issuerUri": "http://contoso.com/adfs/services/trust",
"metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",
"signingCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"passiveSignInUri": "https://sts.contoso.com/adfs/ls",
"preferredAuthenticationProtocol": "wsFed",
"activeSignInUri":
"https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
"signOutUri": "https://sts.contoso.com/adfs/ls",
"promptLoginBehavior": "nativeSupport",
"isSignedAuthenticationRequestRequired": true,
"nextSigningCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"signingCertificateUpdateStatus": {
"certificateUpdateResult": "Success",
"lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
},
"federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}
If your federated domain(s) have SupportsMfa set to false, analyze your claims rules on
the Microsoft Entra ID relying party trust and create Conditional Access policies that
support the same security goals.
After creating Conditional Access policies to enforce the same controls as AD FS, you
can back up and remove your claim rules customizations on the Microsoft Entra ID
Relying Party.
Microsoft provides communication templates that you can provide to your users to
guide them through the combined registration process. These include templates for
email, posters, table tents, and various other assets. Users register their information at
https://aka.ms/mysecurityinfo , which takes them to the combined security registration
screen.
We recommend that you secure the security registration process with Conditional
Access that requires the registration to occur from a trusted device or location. For
information on tracking registration statuses, see Authentication method activity for
Microsoft Entra ID.
7 Note
Users who must register their combined security information from a non-trusted
location or device can be issued a Temporary Access Pass or alternatively,
temporarily excluded from the policy.
If you created on-premises security groups for claims rules, add the appropriate
users to those groups.
We don't recommend that you reuse groups that are used for security. If you're using a
security group to secure a group of high-value apps with a Conditional Access policy,
only use the group for that purpose.
Monitoring
Microsoft Entra multifactor authentication registration can be monitored using the
Authentication methods usage & insights report . This report can be found in
Microsoft Entra ID. Select Monitoring, then select Usage & insights.
2. Remove MFA server as an authentication provider in AD FS. This will ensure all
users use Microsoft Entra multifactor authentication as it will be the only additional
authentication method enabled.
Console
c:[Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value ==
"**YourGroupSID**"] => issue(Type =
"http://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"http://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'
Disable MFA Server as an authentication provider in AD
FS
This change ensures only Microsoft Entra multifactor authentication is used as an
authentication provider.
Review MFA Servers' logs to ensure no users or applications are using it before you
remove the server.
Uninstall Multi-Factor Authentication Server from the Control Panel on the server
Optionally clean up logs and data directories that are left behind after backing
them up first.
Uninstall the multifactor authentication Web Server SDK if applicable, including any
files left over in etpub\wwwroot\MultiFactorAuthWebServiceSdk and or
MultiFactorAuth directories
For MFA Server versions prior to 8.0, it may also be necessary to remove the
multifactor authentication Phone App Web Service
Next Steps
Deploy password hash synchronization
Learn more about Conditional Access
Migrate applications to Microsoft Entra ID
Feedback
Was this page helpful? Yes No
This topic covers how to migrate MFA settings for Microsoft Entra users from on-
premises Microsoft Entra multifactor authentication Server to Microsoft Entra multifactor
authentication.
Solution overview
The MFA Server Migration Utility helps synchronize multifactor authentication data
stored in the on-premises Microsoft Entra multifactor authentication Server directly to
Microsoft Entra multifactor authentication. After the authentication data is migrated to
Microsoft Entra ID, users can perform cloud-based MFA seamlessly without having to
register again or confirm authentication methods. Admins can use the MFA Server
Migration Utility to target single users or groups of users for testing and controlled
rollout without having to make any tenant-wide changes.
7 Note
The MFA Server Migration Utility can be executed on a secondary MFA Server.
For more information, please check Run a secondary MFA Server (optional).
The MFA Server Migration Utility copies the data from the database file onto the
user objects in Microsoft Entra ID. During migration, users can be targeted for
Microsoft Entra multifactor authentication for testing purposes using Staged
Rollout. Staged migration lets you test without making any changes to your
domain federation settings. Once migrations are complete, you must finalize your
migration by making changes to your domain federation settings.
Review your AD FS access control policies and make sure none requires MFA to be
performed on-premises as part of the authentication process.
Staged rollout can target a maximum of 500,000 users (10 groups containing a
maximum of 50,000 users each).
Migration guide
ノ Expand table
Phase Steps
Staged Rollout
Educate users
An MFA Server migration generally includes the steps in the following process:
The migration tool uses Microsoft Entra groups for determining the users for which
authentication data should be synced between MFA Server and Microsoft Entra
multifactor authentication. After user data is synced, that user is then ready to use
Microsoft Entra multifactor authentication.
Staged Rollout allows you to reroute users to Microsoft Entra multifactor
authentication, also using Microsoft Entra groups. While you certainly could use
the same groups for both tools, we recommend against it as users could
potentially be redirected to Microsoft Entra multifactor authentication before the
tool has synched their data. We recommend setting up Microsoft Entra groups for
syncing authentication data by the MFA Server Migration Utility, and another set of
groups for Staged Rollout to direct targeted users to Microsoft Entra multifactor
authentication rather than on-premises.
Phase 2 should be repeated as you migrate your user base. By the end of Phase 2, your
entire user base should be using Microsoft Entra multifactor authentication for all
workloads federated against Microsoft Entra ID.
During the previous phases, you can remove users from the Staged Rollout folders to
take them out of scope of Microsoft Entra multifactor authentication and route them
back to your on-premises Microsoft Entra multifactor authentication server for all MFA
requests originating from Microsoft Entra ID.
Phase 3 requires moving all clients that authenticate to the on-premises MFA Server
(VPNs, password managers, and so on) to Microsoft Entra federation via SAML/OAUTH.
If modern authentication standards aren't supported, you're required to stand up NPS
server(s) with the Microsoft Entra multifactor authentication extension installed. Once
dependencies are migrated, users should no longer use the User portal on the MFA
Server, but rather should manage their authentication methods in Microsoft Entra ID
(aka.ms/mfasetup ). Once users begin managing their authentication data in Microsoft
Entra ID, those methods aren't synced back to MFA Server. If you roll back to the on-
premises MFA Server after users have made changes to their Authentication Methods in
Microsoft Entra ID, those changes are lost. After user migrations are complete, change
the federatedIdpMfaBehavior domain federation setting. The change tells Microsoft
Entra ID to no longer perform MFA on-premises and to perform all MFA requests with
Microsoft Entra multifactor authentication, regardless of group membership.
MFA methods
User portal
Authentication services
To help your migration, we've matched widely used MFA Server features with the
functional equivalent in Microsoft Entra multifactor authentication for each category.
MFA methods
Open MFA Server, select Company Settings:
ノ Expand table
General Tab
Default PIN rules section Not applicable; see updated methods in the preceding
screenshot
Username Resolution tab Not applicable; username resolution isn't required for
Microsoft Entra multifactor authentication
MFA Server Microsoft Entra multifactor authentication
*
When a PIN is used to provide proof-of-presence functionality, the functional
equivalent is provided above. PINs that aren't cryptographically tied to a device don't
sufficiently protect against scenarios where a device has been compromised. To protect
against these scenarios, including SIM swap attacks , move users to more secure
methods according to Microsoft authentication methods best practices.
**
The default Text MFA experience in Microsoft Entra multifactor authentication sends
users a code, which they're required to enter in the login window as part of
authentication. The requirement to roundtrip the code provides proof-of-presence
functionality.
User portal
Settings Tab
Allow users to select Language settings are automatically applied to a user based on the locale
language settings in their browser
- Device limit Microsoft Entra ID limits users to five cumulative devices (mobile app
instances + hardware OATH token + software OATH token) per user
- Questions to Security Questions in Microsoft Entra ID can only be used for SSPR. See
answer more details for Microsoft Entra Custom Security Questions
Session Timeout
Security Questions Security questions in MFA Server were used to gain access to the User
tab portal. Microsoft Entra multifactor authentication only supports security
questions for self-service password reset. See security questions
documentation.
Passed Sessions tab All authentication method registration flows are managed by Microsoft
Entra ID and don't require configuration
Any MFA methods available in MFA Server must be enabled in Microsoft Entra
multifactor authentication by using MFA Service settings. Users can't try their newly
migrated MFA methods unless they're enabled.
Authentication services
Microsoft Entra multifactor authentication Server can provide MFA functionality for
third-party solutions that use RADIUS or LDAP by acting as an authentication proxy. To
discover RADIUS or LDAP dependencies, select RADIUS Authentication and LDAP
Authentication options in MFA Server. For each of these dependencies, determine if
these third parties support modern authentication. If so, consider federation directly
with Microsoft Entra ID.
For RADIUS deployments that can't be upgraded, you'll need to deploy an NPS Server
and install the Microsoft Entra multifactor authentication NPS extension.
If you enabled the MFA Server Authentication provider in AD FS 2.0 on any relying party
trusts except for the Office 365 relying party trust, you'll need to upgrade to AD FS 3.0
or federate those relying parties directly to Microsoft Entra ID if they support modern
authentication methods. Determine the best plan of action for each of the
dependencies.
Backup Microsoft Entra multifactor authentication Server
datafile
Make a backup of the MFA Server data file located at %programfiles%\Multi-Factor
Authentication Server\Data\PhoneFactor.pfdata (default location) on your primary MFA
Server. Make sure you have a copy of the installer for your currently installed version in
case you need to roll back. If you no longer have a copy, contact Customer Support
Services.
Depending on user activity, the data file can become outdated quickly. Any changes
made to MFA Server, or any end-user changes made through the portal after the backup
won't be captured. If you roll back, any changes made after this point won't be restored.
7 Note
After you run the installer on your primary server, secondary servers may begin to
log Unhandled SB entries. This is due to schema changes made on the primary
server that aren't recognized by secondary servers. These errors are expected. In
environments with 10,000 users or more, the amount of log entries can increase
significantly. To mitigate this issue, you can increase the file size of your MFA Server
logs, or upgrade your secondary servers.
For government cloud customers who wish to carry out migrations, replace ".com"
entries in the script with ".us". This script writes the
HKLM:\SOFTWARE\WOW6432Node\Positive Networks\PhoneFactor\ StsUrl and
GraphUrl registry entries and instructs the Migration Utility to use the appropriate
GRAPH endpoints.
cloud customers)
https://login.microsoftonline.com/* (or https://login.microsoftonline.us/* for
The script instructs you to grant admin consent to the newly created application.
Navigate to the URL provided, or within the Microsoft Entra admin center, select
Application Registrations, find and select the MFA Server Migration Utility app, select
on API permissions and then grant the appropriate permissions.
Once complete, navigate to the Multi-Factor Authentication Server folder, and open the
MultiFactorAuthMigrationUtilityUI application. You should see the following screen:
You've successfully installed the Migration Utility.
7 Note
The MFA Server Migration utility targets a single Microsoft Entra group for all migration
activities. You can add users directly to this group, or add other groups. You can also
add them in stages during the migration.
To begin the migration process, enter the name or GUID of the Microsoft Entra group
you want to migrate. Once complete, press Tab or select outside the window to begin
searching for the appropriate group. All users in the group are populated. A large group
can take several minutes to finish.
To view attribute data for a user, highlight the user, and select View:
This window displays the attributes for the selected user in both Microsoft Entra ID and
the on-premises MFA Server. You can use this window to view how data was written to a
user after migration.
The Settings option allows you to change the settings for the migration process:
Migrate – there are three options for migrating the user's default authentication
method:
Always migrate
Only migrate if not already set in Microsoft Entra ID
Set to the most secure method available if not already set in Microsoft Entra ID
These options provide flexibility when you migrate the default method. In addition,
the Authentication methods policy is checked during migration. If the default
method being migrated isn't allowed by policy, it's set to the most secure method
available instead.
Synchronization server – Allows the MFA Server Migration Sync service to run on a
secondary MFA Server rather than only run on the primary. To configure the
Migration Sync service to run on a secondary server, the Configure-
MultiFactorAuthMigrationUtility.ps1 script must be run on the server to register a
certificate with the MFA Server Migration Utility app registration. The certificate is
used to authenticate to Microsoft Graph.
1. To begin the migration process for a user or selection of multiple users, press and
hold the Ctrl key while selecting each of the user(s) you wish to migrate.
2. After you select the desired users, select Migrate Users > Selected users > OK.
3. To migrate all users in the group, select Migrate Users > All users in Microsoft
Entra group > OK.
4. You can migrate users even if they're unchanged. By default, the utility is set to
Only migrate users that have changed. Select Migrate all users to re-migrate
previously migrated users that are unchanged. Migrating unchanged users can be
useful during testing if an administrator needs to reset a user's Microsoft Entra
multifactor authentication settings and wants to re-migrate them.
For the automatic process, select Automatic synchronization in Settings, and then
select whether you want all users to be synced, or only members of a given Microsoft
Entra group.
The following table lists the sync logic for the various methods.
ノ Expand table
Method Logic
Mobile Maximum of five devices are migrated or only four if the user also has a hardware
App OATH token.
If there are multiple devices with the same name, only migrate the most recent one.
Devices are ordered from newest to oldest.
If devices already exist in Microsoft Entra ID, match on OATH Token Secret Key and
update.
- If there's no match on OATH Token Secret Key, match on Device Token
-- If found, create a Software OATH Token for the MFA Server device to allow OATH
Token method to work. Notifications still work using the existing Microsoft Entra
multifactor authentication device.
-- If not found, create a new device.
If adding a new device exceeds the five-device limit, the device is skipped.
OATH If devices already exist in Microsoft Entra ID, match on OATH Token Secret Key and
Token update.
- If not found, add a new Hardware OATH Token device.
If adding a new device exceeds the five-device limit, the OATH token is skipped.
MFA Methods are updated based on what was migrated and the default method is set.
MFA Server tracks the last migration timestamp and only migrate the user again if the
user's MFA settings change or an admin modifies what to migrate in the Settings dialog.
During testing, we recommend doing a manual migration first, and test to ensure a
given number of users behave as expected. Once testing is successful, turn on automatic
synchronization for the Microsoft Entra group you wish to migrate. As you add users to
this group, their information is automatically synchronized to Microsoft Entra ID. MFA
Server Migration Utility targets one Microsoft Entra group, however that group can
encompass both users and nested groups of users.
Once complete, a confirmation informs you of the tasks completed:
As mentioned in the confirmation message, it can take several minutes for the migrated
data to appear on user objects within Microsoft Entra ID. Users can view their migrated
methods by navigating to aka.ms/mfasetup .
Tip
You can reduce the time required to display groups if you don't need to view
Microsoft Entra MFA methods. Select View > Azure AD MFA Methods to toggle
the display of columns for AAD Default, AAD Phone, AAD Alternate, AAD Office,
AAD Devices, and AAD OATH Token. When columns are hidden, some Microsoft
Graph API calls are skipped, which greatly improves user load time.
You can use Audit logs or Log Analytics to view details of MFA Server to Microsoft Entra
multifactor authentication user migrations.
To access the Audit logs in the Microsoft Entra admin center to view details of MFA
Server to Microsoft Entra multifactor authentication user migrations, follow these steps:
2. Browse to Identity > Monitoring & health > Audit logs. To filter the logs, select
Add filters.
3. Select Initiated by (actor) and select Apply.
5. This filter displays only MFA Server Migration Utility logs. To view details for a user
migration, select a row, and then choose the Modified Properties tab. This tab
shows changes to registered MFA methods and phone numbers.
The following table lists the authentication method for each code.
ノ Expand table
Code Method
0 Voice mobile
2 Voice office
5 SMS
The details of MFA Server to Microsoft Entra multifactor authentication user migrations
can also be queried using Log Analytics.
Kusto
AuditLogs
| where ActivityDateTime > ago(7d)
| extend InitiatedBy = tostring(InitiatedBy["app"]["displayName"])
| where InitiatedBy == "Microsoft Entra multifactor authentication
Management"
| extend UserObjectId = tostring(TargetResources[0]["id"])
| extend Upn = tostring(TargetResources[0]["userPrincipalName"])
| extend ModifiedProperties = TargetResources[0]["modifiedProperties"]
| project ActivityDateTime, InitiatedBy, UserObjectId, Upn,
ModifiedProperties
| order by ActivityDateTime asc
Kusto
AuditLogs
| where ActivityDateTime > ago(7d)
| extend InitiatedBy = tostring(InitiatedBy["app"]["displayName"])
| where InitiatedBy == "Microsoft Entra multifactor authentication
Management"
| extend UserObjectId = tostring(TargetResources[0]["id"])
| summarize UsersMigrated = dcount(UserObjectId) by InitiatedBy,
bin(ActivityDateTime, 1d)
2. Change Azure multifactor authentication to On, and then select Manage groups.
3. Select Add groups and add the group(s) containing users you wish to enable for
Microsoft Entra multifactor authentication. Selected groups appear in the
displayed list.
7 Note
Any groups you target using the following Microsoft Graph method also
appear in this list.
c. The body of your request should contain the following (change MFA rollout
policy to a name and description for your organization):
msgraph
{
"displayName": "MFA rollout policy",
"description": "MFA rollout policy",
"feature": "multiFactorAuthentication",
"isEnabled": true,
"isAppliedToOrganization": false
}
d. Perform a GET with the same endpoint and make note of the ID value (crossed
out in the following image):
2. Target the Microsoft Entra group(s) that contain the users you wish to test
a. Create a POST request with the following endpoint (replace {ID of policy} with
the ID value you copied from step 1d):
https://graph.microsoft.com/v1.0/policies/featureRolloutPolicies/{ID of
policy}/appliesTo/$ref
b. The body of the request should contain the following (replace {ID of group} with
the object ID of the group you wish to target for staged rollout):
msgraph
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{ID
of group}"
}
c. Repeat steps a and b for any other groups you wish to target with staged
rollout.
d. You can view the current policy in place by doing a GET against the following
URL:
https://graph.microsoft.com/v1.0/policies/featureRolloutPolicies/{policyID}
?$expand=appliesTo
3. Confirm that the end-user MFA experience. Here are a few things to check:
a. Do users see their methods in aka.ms/mfasetup ?
b. Do users receive phone calls/text messages?
c. Are they able to successfully authenticate using the above methods?
d. Do users successfully receive Authenticator notifications? Are they able to
approve these notifications? Is authentication successful?
e. Are users able to authenticate successfully using Hardware OATH tokens?
Educate users
Ensure users know what to expect when they're moved to Microsoft Entra multifactor
authentication, including new authentication flows. You may also wish to instruct users
to use the Microsoft Entra ID Combined Registration portal (aka.ms/mfasetup ) to
manage their authentication methods rather than the User portal once migrations are
complete. Any changes made to authentication methods in Microsoft Entra ID won't
propagate back to your on-premises environment. In a situation where you had to roll
back to MFA Server, any changes users have made in Microsoft Entra ID won't be
available in the MFA Server User portal.
If you use third-party solutions that depend on Microsoft Entra multifactor
authentication Server for authentication (see Authentication services), you'll want users
to continue to make changes to their MFA methods in the User portal. These changes
are synced to Microsoft Entra ID automatically. Once you've migrated these third party
solutions, you can move users to the Microsoft Entra ID combined registration page.
Request
HTTP
PATCH
https://graph.microsoft.com/beta/domains/contoso.com/federationConfiguration
/6601d14b-d113-8f64-fda2-9b5ddda18ecc
Content-Type: application/json
{
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp"
}
Response
7 Note
HTTP
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.internalDomainFederation",
"id": "6601d14b-d113-8f64-fda2-9b5ddda18ecc",
"issuerUri": "http://contoso.com/adfs/services/trust",
"metadataExchangeUri": "https://sts.contoso.com/adfs/services/trust/mex",
"signingCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"passiveSignInUri": "https://sts.contoso.com/adfs/ls",
"preferredAuthenticationProtocol": "wsFed",
"activeSignInUri":
"https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
"signOutUri": "https://sts.contoso.com/adfs/ls",
"promptLoginBehavior": "nativeSupport",
"isSignedAuthenticationRequestRequired": true,
"nextSigningCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"signingCertificateUpdateStatus": {
"certificateUpdateResult": "Success",
"lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
},
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp"
}
Users are no longer redirected to your on-premises federation server for MFA, whether
they're targeted by the Staged Rollout tool or not. Note this can take up to 24 hours to
take effect.
7 Note
The update of the domain federation setting can take up to 24 hours to take effect.
Rollback plan
If the upgrade had issues, follow these steps to roll back:
7 Note
Any changes since the backup was made are lost, but should be minimal if
backup was made right before upgrade and upgrade was unsuccessful.
3. Run the installer for your previous version (for example, 8.0.x.x).
Request
HTTP
PATCH
https://graph.microsoft.com/beta/domains/contoso.com/federationConfigur
ation/6601d14b-d113-8f64-fda2-9b5ddda18ecc
Content-Type: application/json
{
"federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}
Response
HTTP
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.internalDomainFederation",
"id": "6601d14b-d113-8f64-fda2-9b5ddda18ecc",
"issuerUri": "http://contoso.com/adfs/services/trust",
"metadataExchangeUri":
"https://sts.contoso.com/adfs/services/trust/mex",
"signingCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"passiveSignInUri": "https://sts.contoso.com/adfs/ls",
"preferredAuthenticationProtocol": "wsFed",
"activeSignInUri":
"https://sts.contoso.com/adfs/services/trust/2005/usernamemixed",
"signOutUri": "https://sts.contoso.com/adfs/ls",
"promptLoginBehavior": "nativeSupport",
"isSignedAuthenticationRequestRequired": true,
"nextSigningCertificate": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"signingCertificateUpdateStatus": {
"certificateUpdateResult": "Success",
"lastRunDateTime": "2021-08-25T07:44:46.2616778Z"
},
"federatedIdpMfaBehavior": "enforceMfaByFederatedIdp"
}
Set the Staged Rollout for Microsoft Entra multifactor authentication to Off. Users are
again redirected to your on-premises federation server for MFA.
Next steps
Overview of how to migrate from MFA Server to Microsoft Entra multifactor
authentication
Migrate to cloud authentication using Staged Rollout
Feedback
Was this page helpful? Yes No
Microsoft Entra self-service password reset (SSPR) lets users reset their passwords in the
cloud.
For problems with SSPR, the following troubleshooting steps and common errors may
help. You can also watch this short video on the How to resolve the six most common
SSPR end-user error messages .
If you can't find the answer to your problem, our support teams are always available to
help.
To assign a license to an administrator account, see Assign, verify, and resolve problems
with licenses.
SSPR reporting
If you have problems with SSPR reporting in the Microsoft Entra admin center, review
the following troubleshooting steps:
If you disable app notifications in SSPR but enable it in MFA policy, that option appears
in combined registration. For another example, if a user disables Office phone in SSPR,
it's still displayed as an option if the user has the Phone/Office phone property set.
To assign a license to the administrator account in question, see Assign, verify, and
resolve problems with licenses.
If you want to aggregate this data and have greater flexibility in how you can view it,
you can download the report and open the data as a pivot table in Excel.
In the Microsoft Entra admin center, change the Self-service password reset enabled
configuration to Selected or All and then select Save.
Also review troubleshooting steps to make sure that the administrator performing the
configuration options has a license assigned. To assign a license to the administrator
account in question, follow the steps to Assign, verify, and resolve problems with
licenses.
SSPR usage
To help resolve problems with SSPR, review these steps.
ノ Expand table
Error Solution
The directory isn't enabled for In the Microsoft Entra admin center, change the Self-service
password reset. password reset enabled configuration to Selected or All and
Error Solution
The user doesn't have a A Microsoft Entra ID license isn't assigned to the desired user.
Microsoft Entra ID license To assign a license to the administrator account in question,
assigned. follow the steps to Assign, verify, and resolve problems with
licenses.
The directory is enabled for Make sure that user account is properly formed contact data
password reset, but the on file in the directory. For more information, see Data used by
authentication information for Microsoft Entra self-service password reset.
the user is missing or
malformed.
The directory is enabled for Make sure that the user has at least two properly configured
password reset, but the user has contact methods. An example is having both a mobile phone
only one piece of contact data number and an office phone number.
on file when the policy is set to
require two verification
methods.
The directory is enabled for A temporary service error, or there's incorrect contact data
password reset and the user is that we can't properly detect.
properly configured, but the If the user waits 10 seconds, a link is displayed to "Try again"
user is unable to be contacted. and "Contact your administrator". If the user selects "Try
again," it retries the call. If the user selects "Contact your
administrator," it sends a form email to the administrators
requesting a password reset to be performed for that user
account.
The user never receives the The phone number in the directory may be malformed. Make
password reset SMS or phone sure the phone number is in the format "+1 4251234567".
call.
Password reset doesn't support extensions, even if you specify
one in the directory. The extensions are stripped before the
call is made. Use a number without an extension, or integrate
the extension into the phone number in your private branch
exchange (PBX).
The user never receives the The most common cause for this problem is that the message
password reset email. is rejected by a spam filter. Check your spam, junk, or deleted
items folder for the email.
Also, make sure the user checks the correct email account as
registered with SSPR.
I set a password reset policy, but Microsoft manages and controls the administrator password
when an admin account uses reset policy to ensure the highest level of security.
password reset, that policy isn't
applied.
Error Solution
The user is prevented from An automatic throttling mechanism is used to block users from
attempting a password reset too attempting to reset their passwords too many times in a short
many times in a day. period of time. Throttling occurs the following scenarios:
- The user attempts to validate a phone number five times in
one hour.
- The user attempts to use the security questions gate five
times in one hour.
- The user attempts to reset a password for the same user
account five times in one hour.
- If a user encounters this problem, they must wait 24 hours
after the last attempt. The user can then reset their password.
The user sees an error when This error occurs when the phone number entered doesn't
validating their phone number. match the phone number on file. Make sure the user is
entering the complete phone number, including the area and
country code, when they attempt to use a phone-based
method for password reset.
The user sees an error when If the UPN differs from the primary
using their email address. ProxyAddress/SMTPAddress of the user, the Sign-in to
Microsoft Entra ID with email as an alternate login ID setting
must be enabled for the tenant.
There's an error processing the Generic SSPR registration errors can be caused by many issues,
request. but generally this error is caused by either a service outage or
a configuration issue. If you continue to see this generic error
when you re-try the SSPR registration process, contact
Microsoft support for help.
On-premises policy violation The password doesn't meet the on-premises Active Directory
password policy. The user must define a password that meets
the complexity or strength requirements.
Password doesn't comply with The password that was used appears in the banned password
fuzzy policy list and can't be used. The user must define a password that
meets or exceeds the banned password list policy.
Use the following information to understand the problem and what needs to be
corrected on the Microsoft Entra tenant or individual user account.
ノ Expand table
To learn more
about this
necessary service,
see Configuring
password
writeback.
Error Details Technical details
To learn more
about password
reset configuration,
see Quickstart:
Microsoft Entra
self-service
password reset.
To learn more
about licensing,
see Licensing
requirements for
Microsoft Entra
Error Details Technical details
self-service
password reset.
To learn more
about account
configuration for
password reset, see
Roll out password
reset for users.
information.
To register
information, follow
the steps in the
Register for self-
service password
reset article.
Or
To learn more
about the potential
problem, see
Troubleshoot
Error Details Technical details
password
writeback.
To learn more
about connectivity
issues, see
Troubleshoot
password
writeback
connectivity.
To properly assist you, we ask that you provide as much detail as possible when opening
a case. These details include the following:
General description of the error: What is the error? What was the behavior that
was noticed? How can we reproduce the error? Provide as much detail as possible.
Page: What page were you on when you noticed the error? Include the URL if
you're able to and a screenshot of the page.
Support code: What was the support code that was generated when the user saw
the error?
To find this code, reproduce the error, then select the Support code link at the
bottom of the screen and send the support engineer the GUID that results.
If you're on a page without a support code at the bottom, select F12 and search
for the SID and CID and send those two results to the support engineer.
Date, time, and time zone: Include the precise date and time with the time zone
that the error occurred.
User ID: Who was the user who saw the error? An example is [email protected].
Is this a federated user?
Is this a pass-through authentication user?
Is this a password-hash-synchronized user?
Is this a cloud-only user?
Licensing: Is the user assigned a Microsoft Entra ID license?
Application event log: If you're using password writeback and the error is in your
on-premises infrastructure, include a zipped copy of your Application event log
from the Microsoft Entra Connect server.
Next steps
To learn more about SSPR, see How it works: Microsoft Entra self-service password reset
or How does self-service password reset writeback work in Microsoft Entra ID?.
Feedback
Was this page helpful? Yes No
Microsoft Entra self-service password reset (SSPR) lets users reset their passwords in the
cloud. Password writeback is a feature enabled with Microsoft Entra Connect or cloud
sync that allows password changes in the cloud to be written back to an existing on-
premises directory in real time.
If you have problems with SSPR writeback, the following troubleshooting steps and
common errors may help. If you can't find the answer to your problem, our support
teams are always available to assist you further.
Troubleshoot connectivity
If you have problems with password writeback for Microsoft Entra Connect, review the
following steps that may help resolve the problem. To recover your service, we
recommend that you follow these steps in order:
For Microsoft Entra Connect version 1.1.443.0 and higher, outbound HTTPS access is
required to the following addresses:
*.passwordreset.microsoftonline.com
*.servicebus.windows.net
*.passwordreset.microsoftonline.us
*.servicebus.usgovcloudapi.net
ssprdedicatedsbmcprodcne.servicebus.chinacloudapi.cn
ssprdedicatedsbmcprodcnn.servicebus.chinacloudapi.cn
If you need more granularity, see the list of Microsoft Azure IP Ranges and Service Tags
for Public Cloud .
For Azure for US Government, see the list of Microsoft Azure IP Ranges and Service Tags
for Azure for US Government Cloud .
1. On the Entra connect server, open the event viewer logs (Windows logs,
application) and locate one of these event IDs: 31034 or 31019.
2. From these Event IDs, identify the name of the service bus listener:
PowerShell
PowerShell
Invoke-WebRequest -Uri https://<namespace>.servicebus.windows.net -
Verbose
Replace the <namespace> with the same you extracted from the event IDs
previously. For example, in the preceding case, the command is:
PowerShell
For more information, see the connectivity prerequisites for Microsoft Entra Connect.
Output from check script that must look like the following image (the path, name and
value columns) to be enabled correctly. If it doesn't, run the PowerShell Script to enable
TLS 1.2 on Entra Connect Server/ Then reboot the server, and run script to check TLS 1.2
again.
1. As an administrator on the server that runs Microsoft Entra Connect, select Start.
4. Right-click the service entry, select Restart, and wait for the operation to finish.
These steps re-establish your connection with Microsoft Entra ID and should resolve
your connectivity issues.
If restarting the Microsoft Entra Connect Sync service doesn't resolve your problem, try
to disable and then re-enable the password writeback feature in the next section.
1. As an administrator on the server that runs Microsoft Entra Connect, open the
Microsoft Entra Connect Configuration wizard.
2. In Connect to Microsoft Entra ID, enter your Microsoft Entra Hybrid Administrator
credentials.
3. In Connect to AD DS, enter your on-premises Active Directory Domain Services
admin credentials.
4. In Uniquely identifying your users, select the Next button.
5. In Optional features, clear the Password writeback check box.
6. Select Next through the remaining dialog pages without changing anything until
you get to the Ready to configure page.
7. Check that the Ready to configure page shows the Password writeback option as
disabled. Select the green Configure button to commit your changes.
8. In Finished, clear the Synchronize now option, and then select Finish to close the
wizard.
9. Reopen the Microsoft Entra Connect Configuration wizard.
10. Repeat steps 2-8, this time selecting the Password writeback option on the
Optional features page to re-enable the service.
These steps re-establish your connection with Microsoft Entra ID and should resolve
your connectivity issues.
If disabling and then re-enabling the password writeback feature doesn't resolve your
problem, reinstall Microsoft Entra Connect in the next section.
2 Warning
If you customized the out-of-the-box sync rules, back them up before you proceed
with the upgrade, then manually redeploy them after you're finished.
1. Download the latest version of Microsoft Entra Connect from the Microsoft
Download Center .
Run the downloaded package and follow the on-screen instructions to update
Microsoft Entra Connect.
These steps should re-establish your connection with Microsoft Entra ID and resolve
your connectivity issues.
If installing the latest version of the Microsoft Entra Connect server doesn't resolve your
problem, try disabling and then re-enabling password writeback as a final step after you
install the latest release.
2. Under the Connectors tab, select the on-premises Active Directory Domain
Services connector, and then select Properties.
3. In the pop-up window, select Connect to Active Directory Forest and make note
of the User name property. This property is the AD DS account used by Microsoft
Entra Connect to perform directory synchronization.
5. Select View and make sure the Advanced Features option is enabled.
6. Look for the AD DS user account you want to verify. Right-click the account name
and select Properties.
9. Choose Select a user, select the AD DS account used by Microsoft Entra Connect,
and then select View effective access.
10. Scroll down and look for Reset password. If the entry has a check mark, the AD DS
account has permission to reset the password of the selected Active Directory user
account.
Common password writeback errors
The following more specific issues may occur with password writeback. If you have one
of these errors, review the proposed solution and check if password writeback then
works correctly.
ノ Expand table
Error Solution
The password reset service When password writeback is enabled, the sync engine calls the
doesn't start on-premises. writeback library to perform the configuration (onboarding) by
Error 6800 appears in the communicating to the cloud onboarding service. Any errors
Microsoft Entra Connect encountered during onboarding or while starting the Windows
machine's Application Communication Foundation (WCF) endpoint for password
event log. writeback results in errors in the event log, on your Microsoft Entra
Connect machine.
After onboarding,
federated, pass-through During restart of the Azure AD Sync (ADSync) service, if writeback
authentication, or was configured, the WCF endpoint starts up. But, if the startup of
password-hash- the endpoint fails, we log event 6800 and let the sync service start
synchronized users can't up. The presence of this event means that the password writeback
reset their passwords. endpoint didn't start up. Event log details for this event 6800, along
with event log entries generate by the PasswordResetService
component, indicate why you can't start up the endpoint. Review
these event log errors and try to restart the Microsoft Entra
Error Solution
When a user attempts to Find the Active Directory account for Microsoft Entra Connect and
reset a password or unlock reset the password so that it contains no more than 256 characters.
an account with password Next, open the Synchronization Service from the Start menu.
writeback enabled, the Browse to Connectors and find the Active Directory Connector.
operation fails. Select it and then select Properties. Browse to the Credentials page
and enter the new password. Select OK to close the page.
In addition, you see an
event in the Microsoft Entra
Connect event log that
contains: "Synchronization
Engine returned an error
hr=800700CE,
message=The filename or
extension is too long" after
the unlock operation
occurs.
At the last step of the This error occurs in the following two cases:
Microsoft Entra Connect
installation process, you You specified an incorrect password for the Hybrid
see an error indicating that Administrator account provided at the beginning of the
password writeback Microsoft Entra Connect installation process.
couldn't be configured. You attempted to use a federated user for the Hybrid
Administrator account specified at the beginning of the
The Microsoft Entra Microsoft Entra Connect installation process.
Connect Application event
To fix this problem, make sure that you're not using a federated
log contains error 32009
account for the Hybrid Administrator you specified at the
with the text "Error getting
beginning of the installation process, and that the password
auth token."
specified is correct.
The Microsoft Entra Your on-premises environment isn't able to connect to the Azure
Connect machine event log Service Bus endpoint in the cloud. A firewall rule blocking an
contains error 32002 that is outbound connection to a particular port or web address normally
thrown by running causes this error. See Connectivity prerequisites for more info. After
PasswordResetService. you update these rules, restart the Microsoft Entra Connect server
and password writeback should start working again.
The error reads: "Error
Connecting to ServiceBus.
The token provider was
unable to provide a security
token."
After working for some In some rare cases, the password writeback service can fail to
time, federated, pass- restart when Microsoft Entra Connect has restarted. In these cases,
through authentication, or first check if password writeback is enabled on-premises. You can
Error Solution
Federated, pass-through If you see these errors in your event log, check that the Active
authentication, or Directory Management Agent (ADMA) account specified during
password-hash- configuration has the necessary permissions for password
synchronized users who writeback.
attempt to reset their
passwords see an error After this permission is given, it can take up to one hour for the
after attempting to submit permissions to trickle down via the sdprop background task on the
their password. The error domain controller (DC).
indicates that there was a
service problem. For password reset to work, the permission needs to be stamped
on the security descriptor of the user object whose password is
In addition to this problem, being reset. Until this permission shows up on the user object,
during password reset password reset continues to fail with an access denied message.
operations, you might see
an error that the
management agent was
denied access in your on-
premises event logs.
Federated, pass-through This error usually indicates that the sync engine is unable to find
authentication, or either the user object in the Microsoft Entra connector space or the
password-hash- linked metaverse (MV) or Microsoft Entra connector space object.
synchronized users who
attempt to reset their To troubleshoot this problem, make sure that the user is indeed
passwords, see an error synchronized from on-premises to Microsoft Entra ID via the
after they submit their current instance of Microsoft Entra Connect and inspect the state of
password. The error the objects in the connector spaces and MV. Confirm that the
indicates that there was a Active Directory Certificate Services (AD CS) object is connected to
service problem. the MV object via the
"Microsoft.InfromADUserAccountEnabled.xxx" rule.
In addition to this problem,
during password reset
operations, you might see
an error in your event logs
from the Microsoft Entra
Connect service indicating
an "Object could not be
found" error.
Federated, pass-through This indicates that the sync engine detected that the MV object is
authentication, or connected to more than one AD CS object via
password-hash- "Microsoft.InfromADUserAccountEnabled.xxx". This means that the
Error Solution
synchronized users who user has an enabled account in more than one forest. This scenario
attempt to reset their isn't supported for password writeback.
passwords see an error
after they submit their
password. The error
indicates that there was a
service problem.
Password operations fail This error occurs if the Microsoft Entra Connect configuration is
with a configuration error. changed to add a new Active Directory forest (or to remove and
The Application event log read an existing forest) after the password writeback feature has
contains Microsoft Entra already been enabled. Password operations for users in these
Connect error 6329 with recently added forests fail. To fix the problem, disable and then re-
the text "0x8023061f (The enable the password writeback feature after the forest
operation failed because configuration changes are complete.
password synchronization
isn't enabled on this
Management Agent)".
SSPR_0029: We are unable Problem: Password writeback is enabled following all of the
to reset your password due required steps, but when attempting to change a password you
to an error in your on- receive "SSPR_0029: Your organization hasn’t properly set up the
premises configuration. on-premises configuration for password reset." Checking the event
Please contact your admin logs on the Microsoft Entra Connect system shows that the
and ask them to management agent credential was denied access. Possible Solution:
investigate. Use RSOP on the Microsoft Entra Connect system and your domain
controllers to see if the policy "Network access: Restrict clients
allowed to make remote calls to SAM" found under Computer
Configuration > Windows Settings > Security Settings > Local
Policies > Security Options is enabled. Edit the policy to include the
MSOL_XXXXXXX management account as an allowed user. For
more information, see Troubleshoot error SSPR_0029: Your
organization hasn't properly set up the on-premises configuration
for password reset.
ノ Expand table
6329 BAIL: MMS(4924) 0x80230619: This event occurs when the password writeback
"A restriction prevents the service attempts to set a password on your local
password from being changed directory that doesn't meet the password age,
to the current one specified." history, complexity, or filtering requirements of the
domain. This event can also occur if a password
can't be changed for a user.
HR Synchronization Engine This error occurs when the same user ID is enabled
8023042 returned an error hr=80230402, in multiple domains. An example is if you're syncing
message=An attempt to get an account and resource forests and have the same
object failed because there are user ID present and enabled in each forest.
duplicated entries with the
same anchor. This error can also occur if you use a non-unique
anchor attribute, like an alias or UPN, and two users
share that same anchor attribute.
ノ Expand table
31001 PasswordResetStart This event indicates that the on-premises service detected
a password reset request for a federated, pass-through
authentication, or password-hash-synchronized user that
originates from the cloud. This event is the first event in
every password-reset writeback operation.
31002 PasswordResetSuccess This event indicates that a user selected a new password
during a password-reset operation. We determined that
this password meets corporate password requirements.
The password is successfully written back to the local
Active Directory environment.
31003 PasswordResetFail This event indicates that a user selected a password and
the password arrived successfully to the on-premises
environment. But when we attempted to set the password
in the local Active Directory environment, a failure
occurred. This failure can happen for several reasons:
Code Name or message Description
31004 OnboardingEventStart This event occurs if you enable password writeback with
Microsoft Entra Connect and we've started onboarding
your organization to the password writeback web service.
31005 OnboardingEventSuccess This event indicates that the onboarding process was
successful and that the password writeback capability is
ready to use.
31006 ChangePasswordStart This event indicates that the on-premises service detected
a password change request for a federated, pass-through
authentication, or password-hash-synchronized user that
originates from the cloud. This event is the first event in
every password-change writeback operation.
31007 ChangePasswordSuccess This event indicates that a user selected a new password
during a password change operation, we determined that
the password meets corporate password requirements,
and that the password is successfully written back to the
local Active Directory environment.
31008 ChangePasswordFail This event indicates that a user selected a password and
that the password arrived successfully to the on-premises
environment, but when we attempted to set the password
in the local Active Directory environment, a failure
occurred. This failure can happen for several reasons:
31012 OffboardingEventStart This event occurs if you disable password writeback with
Microsoft Entra Connect and indicates that we started
offboarding your organization to the password writeback
web service.
31013 OffboardingEventSuccess This event indicates that the offboarding process was
successful and that password writeback capability is
successfully disabled.
31014 OffboardingEventFail This event indicates that the offboarding process wasn't
successful. This might be due to a permissions error on
the cloud or on-premises administrator account specified
during configuration. The error can also occur if you're
attempting to use a federated cloud Hybrid Administrator
when disabling password writeback. To fix this problem,
check your administrative permissions and ensure that
you're not using a federated account while configuring the
password writeback capability.
31015 WriteBackServiceStarted This event indicates that the password writeback service
started successfully. It is ready to accept password
Code Name or message Description
31016 WriteBackServiceStopped This event indicates that the password writeback service
stopped. Any password management requests from the
cloud won't be successful.
31034 ServiceBusListenerError This event indicates that there was an error connecting to
your tenant's Service Bus listener. If the error message
includes "The remote certificate is invalid", check to make
sure that your Microsoft Entra Connect server has all the
required Root CAs as described in Azure TLS certificate
changes.
31044 PasswordResetService This event indicates that password writeback isn't working.
The Service Bus listens for requests on two separate relays
for redundancy. Each relay connection is managed by a
unique Service Host. The writeback client returns an error
if either Service Host isn't running.
32001 ServiceError This event indicates there was an error connecting to the
cloud password reset service. This error generally occurs
when the on-premises service was unable to connect to
the password-reset web service.
32002 ServiceBusError This event indicates there was an error connecting to your
tenant's Service Bus instance. This can happen if you're
blocking outbound connections in your on-premises
environment. Check your firewall to ensure that you allow
Code Name or message Description
32003 InPutValidationError This event indicates that the input passed to our web
service API was invalid. Try the operation again.
32004 DecryptionError This event indicates that there was an error decrypting the
password that arrived from the cloud. This might be due
to a decryption key mismatch between the cloud service
and your on-premises environment. To resolve this
problem, disable and then re-enable password writeback
in your on-premises environment.
32007 OnBoardingConfigUpdateError During onboarding, we send data from the cloud to the
on-premises password-reset service. That data is then
written to an in-memory file before it's sent to the sync
service to be stored securely on disk. This event indicates
that there's a problem with writing or updating that data
in memory. To fix this problem, try disabling and then re-
enabling password writeback to force a rewrite of this
configuration file.
32010 CryptoError This event indicates there was an error generating the
password encryption key or decrypting a password that
Code Name or message Description
32011 OnBoardingServiceError This event indicates that the on-premises service couldn't
properly communicate with the password-reset web
service to initiate the onboarding process. This can
happen as a result of a firewall rule or if there's a problem
getting an authentication token for your tenant. To fix this
problem, ensure that you're not blocking outbound
connections over TCP 443 and TCP 9350-9354 or to
https://ssprdedicatedsbprodncu.servicebus.windows.net .
Also ensure that the Microsoft Entra admin account you're
using to onboard isn't federated.
32013 OffBoardingError This event indicates that the on-premises service couldn't
properly communicate with the password-reset web
service to initiate the offboarding process. This can
happen as a result of a firewall rule or if there's a problem
getting an authorization token for your tenant. To fix this
problem, ensure that you're not blocking outbound
connections over 443 or to
https://ssprdedicatedsbprodncu.servicebus.windows.net ,
and that the Microsoft Entra admin account you're using
to offboard isn't federated.
33001 ADUnKnownError This event indicates that there was an unknown error
returned by Active Directory. Check the Microsoft Entra
Connect server event log for events from the ADSync
source for more information.
Code Name or message Description
33002 ADUserNotFoundError This event indicates that the user who is trying to reset or
change a password wasn't found in the on-premises
directory. This error can occur when the user is deleted
on-premises but not in the cloud. This error can also occur
if there's a problem with sync. Check your sync logs and
the last few sync run details for more information.
33004 ADPermissionsError This event indicates that the Active Directory Management
Agent (ADMA) service account doesn't have the
appropriate permissions on the account in question to set
a new password. Ensure that the ADMA account in the
user's forest has reset password permissions on all objects
in the forest. For more information on how to set the
permissions, see Step 4: Set up the appropriate Active
Directory permissions. This error could also occur when
the user's attribute AdminCount is set to 1.
33007 ADUserIncorrectPassword This event indicates that the user specified an incorrect
current password when performing a password change
operation. Specify the correct current password and try
again.
33008 ADPasswordPolicyError This event occurs when the password writeback service
attempts to set a password on your local directory that
doesn't meet the password age, history, complexity, or
filtering requirements of the domain.
ノ Expand table
, comma 0x2C
\ backslash 0x5C
; semicolon 0x3B
To properly assist you, we ask that you provide as much detail as possible when opening
a case. These details include the following:
General description of the error: What is the error? What was the behavior that
was noticed? How can we reproduce the error? Provide as much detail as possible.
Page: What page were you on when you noticed the error? Include the URL if
you're able to and a screenshot of the page.
Support code: What was the support code that was generated when the user saw
the error?
To find this code, reproduce the error, then select the Support code link at the
bottom of the screen and send the support engineer the GUID that results.
If you're on a page without a support code at the bottom, select F12 and search
for the SID and CID and send those two results to the support engineer.
Date, time, and time zone: Include the precise date and time with the time zone
that the error occurred.
User ID: Who was the user who saw the error? An example is [email protected].
Is this a federated user?
Is this a pass-through authentication user?
Is this a password-hash-synchronized user?
Is this a cloud-only user?
Licensing: Does the user have a Microsoft Entra ID license assigned?
Application event log: If you're using password writeback and the error is in your
on-premises infrastructure, include a zipped copy of your Application event log
from the Microsoft Entra Connect server.
Next steps
To learn more about SSPR, see How it works: Microsoft Entra self-service password reset
or How does self-service password reset writeback work in Microsoft Entra ID?.
Feedback
Was this page helpful? Yes No
The following are some frequently asked questions (FAQ) for all things related to self-
service password reset.
If you have a general question about Microsoft Entra ID and self-service password reset
(SSPR) that's not answered here, you can ask the community for assistance. You can do
this on the Microsoft Q&A question page for Microsoft Entra ID. Members of the
community include engineers, product managers, MVPs, and fellow IT professionals.
If you enable combined registration, users can register for both SSPR and Microsoft
Entra multifactor authentication at the same time.
Password reset
Do you prevent users from multiple attempts to
reset a password in a short period of time?
Yes, there are security features built into password reset to protect it from misuse.
Users can attempt to validate their information (such as their phone number), but if
they're unable to prove their identity five times within a 24-hour period, they're
locked out for 24 hours.
Users can try to validate a phone number, auth app, send a text message, or validate
security questions and answers only five times within an hour before they're locked
out for 24 hours.
Users can send an email a maximum of 10 times within a 10-minute period before
they're locked out for 24 hours.
Password change
Where should my users go to change their
passwords?
Users can change their passwords anywhere they see their profile picture or icon,
like in the upper-right corner of their Office 365 portal or Access Panel
experiences. Users can change their passwords from the Access Panel Profile
page . Users can also be asked to change their passwords automatically at the
Microsoft Entra sign-in page if their passwords are expired. Finally, users can browse
to the Microsoft Entra password change portal directly if they want to change
their passwords.
Password writeback
How does password writeback work behind the
scenes?
See the article How password writeback works for an explanation of what happens
when you enable password writeback and how data flows through the system back
into your on-premises environment.
Next steps
How do I complete a successful rollout of SSPR?
Reset or change your password
Register for self-service password reset
Do you have a licensing question?
What data is used by SSPR and what data should you populate for your users?
What authentication methods are available to users?
What are the policy options with SSPR?
What is password writeback and why do I care about it?
How do I report on activity in SSPR?
What are all of the options in SSPR and what do they mean?
I think something is broken. How do I troubleshoot SSPR?
Feedback
Was this page helpful? Yes No
This FAQ answers common questions about Microsoft Entra multifactor authentication
and using the multifactor authentication service. It's broken down into questions about
the service in general, billing models, user experiences, and troubleshooting.
) Important
General
How does Azure Multifactor Authentication
Server handle user data?
With Multifactor Authentication Server, user data is only stored on the on-premises
servers. No persistent user data is stored in the cloud. When the user performs two-step
verification, Multifactor Authentication Server sends data to the Microsoft Entra
multifactor authentication cloud service for authentication. Communication between
Multifactor Authentication Server and the multifactor authentication cloud service uses
Secure Sockets Layer (SSL) or Transport Layer Security (TLS) over port 443 outbound.
When authentication requests are sent to the cloud service, data is collected for
authentication and usage reports. The following data fields are included in two-step
verification logs:
Unique ID (either user name or on-premises Multifactor Authentication Server ID)
First and Last Name (optional)
Email Address (optional)
Phone Number (when using a voice call or text message authentication)
Device Token (when using mobile app authentication)
Authentication Mode
Authentication Result
Multifactor Authentication Server Name
Multifactor Authentication Server IP
Client IP (if available)
The verification result (success or denial), and the reason if it was denied, is stored with
the authentication data. This data is available in authentication and usage reports.
For more information, see Data residency and customer data for Microsoft Entra
multifactor authentication.
97671
69829
51789
99399
759731
673801
We don't support short codes for countries or regions besides the United States and
Canada.
Does Microsoft Entra multifactor authentication
throttle user sign-ins?
Yes, in certain cases that typically involve repeated authentication requests in a short
time window, Microsoft Entra multifactor authentication throttles user sign-in attempts
to protect telecommunication networks, mitigate MFA fatigue-style attacks and protect
its own systems for the benefit of all customers.
Although we don't share specific throttling limits, they're based around reasonable
usage.
Your users might be charged for the phone calls or text messages they receive,
according to their personal phone service.
When you purchase a subscription for Microsoft Entra multifactor authentication, your
organization only pays the annual license fee for each user. MFA licenses and Microsoft
365, Microsoft Entra ID P1 or P2, or Enterprise Mobility + Security bundles are billed this
way.
For more information, see How to get Microsoft Entra multifactor authentication.
If your MFA provider is not linked to a Microsoft Entra tenant, or you link the new MFA
provider to a different Microsoft Entra tenant, user settings, and configuration options
aren't transferred. Also, existing MFA Servers need to be reactivated using activation
credentials generated through the new MFA Provider. Reactivating the MFA Servers to
link them to the new MFA Provider doesn't impact phone call and text message
authentication, but mobile app notifications stop working for all users until they
reactivate the mobile app.
Learn more about MFA providers in Getting started with an Azure multifactor
authentication provider.
Microsoft Entra ID is required for the license model because licenses are added to the
Microsoft Entra tenant when you purchase and assign them to users in the directory.
Third-party security apps may also block the verification code text message or phone
call. If using a third-party security app, try disabling the protection, then request another
MFA verification code be sent.
If the prior steps don't work, check if users are configured for more than one verification
method. Try signing in again, but select a different verification method on the sign-in
page.
If your organization doesn't have legacy clients, you shouldn't allow your users to create
app passwords.
7 Note
App passwords are only necessary for apps that don't support modern
authentication. Office 2013 clients support modern authentication protocols, but
need to be configured. Modern authentication is available to any customer running
the March 2015 or later update for Office 2013. For more information, see the blog
post Updated Office 365 modern authentication .
My users say that sometimes they don't receive
the text message or the verification times out.
Delivery of text messages isn't guaranteed because uncontrollable factors might affect
the reliability of the service. These factors include the destination country or region, the
mobile phone carrier, and the signal strength.
Third-party security apps may also block the verification code text message or phone
call. If using a third-party security app, try disabling the protection, then request another
MFA verification code be sent.
If your users often have problems with reliably receiving text messages, tell them to use
the Microsoft Authenticator app or phone call method instead. The Microsoft
Authenticator can receive notifications both over cellular and Wi-Fi connections. In
addition, the mobile app can generate verification codes even when the device has no
signal at all. The Microsoft Authenticator app is available for Android , iOS , and
Windows Phone .
For one-way SMS with MFA Server v7.0 or higher, you can configure the timeout setting
by setting a registry key. After the MFA cloud service sends the text message, the
verification code (or one-time passcode) is returned to the MFA Server. The MFA Server
stores the code in memory for 300 seconds by default. If the user doesn't enter the code
before the 300 seconds have passed, their authentication is denied. Use these steps to
change the default timeout setting:
1. Go to HKLM\Software\Wow6432Node\Positive Networks\PhoneFactor .
2. Create a DWORD registry key called pfsvc_pendingSmsTimeoutSeconds and set the
time in seconds that you want the MFA Server to store one-time passcodes.
Tip
If you have multiple MFA Servers, only the one that processed the original
authentication request knows the verification code that was sent to the user. When
the user enters the code, the authentication request to validate it must be sent to
the same server. If the code validation is sent to a different server, the
authentication is denied.
If users don't respond to the SMS within the defined timeout period, their
authentication is denied.
For one-way SMS with Microsoft Entra multifactor authentication in the cloud (including
the AD FS adapter or the Network Policy Server extension), you can't configure the
timeout setting. Microsoft Entra ID stores the verification code for 180 seconds.
You can use ActiveIdentity tokens that are OATH TOTP tokens if you put the secret key in
a CSV file and import to Multifactor Authentication Server. You can use OATH tokens
with Active Directory Federation Services (ADFS), Internet Information Server (IIS) forms-
based authentication, and Remote Authentication Dial-In User Service (RADIUS) as long
as the client system can accept the user input.
You can import third-party OATH TOTP tokens with the following formats:
The user has been enabled for MFA by their administrator in Microsoft Entra ID,
but doesn't have security information registered for their account yet.
The user has been enabled for self-service password reset in Microsoft Entra ID.
The security information will help them reset their password in the future if they
ever forget it.
The user accessed an application that has a Conditional Access policy to require
MFA and hasn't previously registered for MFA.
The user is registering a device with Microsoft Entra ID (including Microsoft Entra
join), and your organization requires MFA for device registration, but the user
hasn't previously registered for MFA.
The user is generating Windows Hello for Business in Windows 10 (which requires
MFA) and hasn't previously registered for MFA.
The organization has created and enabled an MFA Registration policy that has
been applied to the user.
The user previously registered for MFA, but chose a verification method that an
administrator has since disabled. The user must therefore go through MFA
registration again to select a new default verification method.
Errors
What should users do if they see an
"Authentication request isn't for an activated
account" error message when using mobile app
notifications?
Ask the user to complete the following procedure to remove their account from the
Microsoft Authenticator, then add it again:
A workaround for this error is to have separate user accounts for admin-related and
nonadmin operations. Later, you can link mailboxes between your admin account and
nonadmin account so that you can sign in to Outlook by using your nonadmin account.
For more details about this solution, learn how to give an administrator the ability to
open and view the contents of a user's mailbox .
A plausible reason for this error: If the primary credentials entered are correct, there
might be a mismatch between the supported NTLM version on the MFA server and the
domain controller. MFA Server supports only NTLMv1 (LmCompatabilityLevel=1 through
4) and not NTLMv2 (LmCompatabilityLevel=5).
Next steps
If your question isn't answered here, the following support options are available:
Feedback
Was this page helpful? Yes No
e OVERVIEW
Get started
Support lifecycle
d TRAINING
Installation
a DOWNLOAD
Overview
Install - Windows
Install - Linux
Install - macOS
What's new
h WHAT'S NEW
Overview
Release notes
i REFERENCE
Cmdlet reference
c HOW-TO GUIDE
Authentication methods
Credential contexts
Concepts
c HOW-TO GUIDE
Manage subscriptions
Format output
PowerShell jobs
g TUTORIAL
c HOW-TO GUIDE
Deploy
` DEPLOY
Samples
s SAMPLE
SQL databases
Cosmos DB
Samples repo
e OVERVIEW
c HOW-TO GUIDE
Migration steps
f QUICKSTART
e OVERVIEW
Troubleshoot
Namespace: microsoft.graph
Authentication methods are the ways that users authenticate in Microsoft Entra ID.
Authentication methods in Microsoft Entra ID include password and phone (for example, SMS
and voice calls), which are manageable in Microsoft Graph beta endpoint today, among many
others such as FIDO2 security keys and the Microsoft Authenticator app. Authentication
methods are used in primary, second-factor, and step-up authentication, and also in the self-
service password reset (SSPR) process.
The authentication method APIs are used to manage a user's authentication methods. For
example:
You can add a phone number to a user. The user can then use that phone number for
SMS and voice call authentication if they're enabled to use it by policy.
You can update that number, or delete it from the user.
You can enable or disable the number for SMS sign-in.
You can retrieve details of a user's FIDO2 Security Key, and delete it if the user has lost the
key.
You can retrieve details of a user's Microsoft Authenticator registration, and delete it if the
user has lost the phone.
You can retrieve details of a user's Windows Hello for Business registration, and delete it if
the user has lost the device.
You can add an email address to a user. The user can then use that email as part of the
Self-Service Password Reset (SSPR) process.
You can update that email, or delete it from the user.
The ability for a user to use an authentication method is governed by the authentication
method policy for the tenant. For example, only users in the R&D department might be
enabled to use the FIDO2 method while all users might be enabled to use Microsoft
Authenticator.
We don't recommend using the authentication methods APIs for scenarios where you need to
iterate over your entire user population for auditing or security check purposes. For these types
of scenarios, we recommend using the authentication method registration and usage reporting
APIs (available on the beta endpoint only).
7 Note
Requests to the authentication methods APIs time-out after 60 seconds.
specification and
provides a one-time
code.
The following authentication methods are not yet supported in Microsoft Graph v1.0.
ノ Expand table
Default method Represents the method the user has Change a user's default MFA method.
selected as default for performing
multi-factor authentication.
Hardware token Allow users to perform multifactor Get a hardware token assigned to a
authentication using a physical device user.
that provides a one-time code.
Security questions Allow users to validate their identity Delete a security question a user
and answers when performing a self-service registered.
password reset.
Authentication Manage a user's sign-in preferences See or set the MFA state for a user. See
states and per-user MFA or set the system-preferred multifactor
authentication (MFA) setting.
Next steps
Review the authentication method types and their various methods.
Try the API in Graph Explorer.
Microsoft Entra authentication strengths
API overview
Article • 04/21/2023
Namespace: microsoft.graph
This article introduces the Microsoft Graph APIs that allow administrators to programmatically
manage authentication strengths.
Microsoft Entra ID supports both built-in and custom authentication strength policies.
Microsoft has supplied the following three built-in policies:
Multifactor authentication
Passwordless multifactor authentication
Phishing resistant multifactor authentication
You can only read built-in policies, but you can create up to 15 custom policies to suit your
requirements.
ノ Expand table
fido2 The user must sign in using a FIDO2 security key to satisfy the
authentication strength requirement.
password,microsoftAuthenticatorPush The user must sign in using both password and Microsoft
Authenticator push approval to satisfy the authentication
strength requirement.
password,softwareOath The user must sign in using both password and software OATH
token to satisfy the authentication strength requirement.
Microsoft Entra ID provides the predefined, read-only combinations using the following
principles:
Single factor authentication methods that can be used as first factors such as password
and SMS.
Combinations of password and a second factor that make a valid multifactor
authentication combination ("something you have" and "something you know").
Passwordless multifactor authenticators such as FIDO2 and x509 certificate
authentication.
Built-in authentication strengths use these combinations, and combinations can be used in
custom authentication strengths.
To view the details of the supported authentication methods and the allowed combinations,
call the List authenticationMethodModes API.
The authentication combinations of built-in policies are read-only. To see all built-in policies
and their configurations, call the List authenticationStrengthPolicies API.
To create a custom authentication strength policy, you must configure the authentication
method combinations using the allowed combinations.
Combination configurations
You can apply further restrictions on certain authentication methods to control which instances
of the method a user can use to authenticate. These kinds of restrictions are combination
configurations and can also be part of an authenticationStrengthPolicy object.
A combination configuration may apply to one or more combinations that include the specific
authentication method. Today, FIDO2 is the only method that supports combination
configurations.
keys that the user can use to authenticate by configuring a combination configuration with
specific Authenticator Attestation GUIDs (AAGUIDs).
You can't configure authentication strengths and the multifactor authentication grant control
on the same conditional access policy.
Next steps
Read more about authentication strengths.
Try the API in Graph Explorer.
Microsoft Entra authentication methods
policies API overview
Article • 02/21/2025
Namespace: microsoft.graph
Authentication methods policies define authentication methods and the users that are allowed
to use them to sign in and perform multifactor authentication (MFA) in Microsoft Entra ID.
Authentication methods policies that can be managed in Microsoft Graph include FIDO2
Security Keys and Passwordless Phone Sign-in with Microsoft Authenticator app.
The authentication method policies APIs are used to manage policy settings. For example:
Define the types of FIDO2 security keys that can be used in the Microsoft Entra tenant.
Define the users or groups of users who are allowed to use FIDO2 Security Keys or
Passwordless Phone Sign-in to sign in to Microsoft Entra ID.
Define the users or groups of users who should be reminded to set up the Microsoft
Authenticator for MFA using push notifications.
7 Note
Policy Description
Next steps
Try the API in the Graph Explorer.
Working with the authentication methods
usage report API
Article • 12/31/2024
Namespace: microsoft.graph
Authentication methods activity reports provides information on the registration and usage of
authentication methods in your tenant.
These reports are available on the Microsoft Entra portal through Protection tab group >
Authentication methods tab > Activity tab under the Monitoring tab group.
Licenses
A Microsoft Entra ID P1 or P2 license is required to access authentication methods usage and
insights reports. Microsoft Entra multifactor authentication and self-service password reset
(SSPR) licensing information can be found on the Microsoft Entra pricing site .
Available reports
The following reports are available through Microsoft Graph:
Per-user report of the status of their authentication methods including the default
methods, whether registered for MFA, SSPR, and a passwordless authentication method,
and so on. For more information, see the userRegistrationDetails resource type.
Count of users registered, enabled, and capable of using MFA, SSPR, and passwordless
authentication. For more information, see the usersRegisteredByFeature resource type.
Raw count of users registered for email, password, and phone authentication methods.
For more information, see the usersRegisteredByMethod resource type.
Users registered and capable of self-service password reset (SSPR) and Azure multifactor
authentication (MFA). For more information, see the credentialUserRegistrationCount
resource type.
SSPR usage activity. For more information, see the userCredentialUsageDetails resource
type.
Tenant-level summary of user SSPR activity, including failure and successes. For more
information, see the credentialUsageSummary resource type.
Related content
Microsoft Entra authentication methods activity
Microsoft Entra service limits and
restrictions
Article • 01/31/2025
This article contains the usage constraints and other service limits for the Microsoft
Entra ID, part of Microsoft Entra, service. If you’re looking for the full set of Microsoft
Azure service limits, see Azure Subscription and Service Limits, Quotas, and Constraints.
Here are the usage constraints and other service limits for the Microsoft Entra service.
ノ Expand table
Category Limit
Tenants A single user can belong to a maximum of 500 Microsoft Entra tenants as
a member or a guest.
Create a maximum of 200 tenants.
Limit of 300 license-based subscriptions (such as Microsoft 365
subscriptions) per tenant
Domains You can add no more than 5,000 managed domain names.
If you set up all of your domains for federation with on-premises Active
Directory, you can add no more than 2,500 domain names in each tenant.
At this time, the following scenarios are supported with nested groups:
One group can be added as a member of another group, and you can
achieve group nesting.
Group membership claims. When an app is configured to receive group
membership claims in the token, nested groups in which the signed-in
user is a member are included.
Conditional Access (when a Conditional Access policy has a group
scope).
Restricting access to self-serve password reset.
Restricting which users can do Microsoft Entra join and device
registration.
Application Proxy A maximum of 500 transactions* per second per Application Proxy
application.
A maximum of 750 transactions per second for the Microsoft Entra
organization.
Access Panel There's no limit to the number of applications per user that can be displayed
in the Access Panel, regardless of the number of assigned licenses.
Reports A maximum of 1,000 rows can be viewed or downloaded in any report. Any
additional data is truncated.
Microsoft Entra A maximum of 100 Microsoft Entra custom roles can be created in a
roles and Microsoft Entra organization.
permissions A maximum of 150 Microsoft Entra custom role assignments for a
single principal at any scope.
A maximum of 100 Microsoft Entra built-in role assignments for a
single principal at non-tenant scope (such as an administrative unit or
Microsoft Entra object). There's no limit to Microsoft Entra built-in role
assignments at tenant scope. For more information, see Assign
Microsoft Entra roles.
A group can't be added as a group owner.
A user's ability to read other users' tenant information can be restricted
only by the Microsoft Entra organization-wide switch to disable all non-
admin users' access to all tenant information (not recommended). For
more information, see To restrict the default permissions for member
users.
It might take up to 15 minutes or you might have to sign out and sign
back in before admin role membership additions and revocations take
effect.
Terms of use You can add no more than 40 terms to a single Microsoft Entra organization
(tenant).
Multitenant A maximum of 100 active tenants, including the owner tenant. The
organizations owner tenant can add more than 100 pending tenants, but they won't
be able to join the multitenant organization if the limit is exceeded. This
limit is applied at the time a pending tenant joins a multitenant
organization.
This limit is specific to the number of tenants in a multitenant
organization. It doesn't apply to cross-tenant synchronization by itself.
Related content
Configure group claims for applications by using Microsoft Entra ID
Sign up for Azure as an organization
How Azure subscriptions are associated with Microsoft Entra ID
Feedback
Was this page helpful? Yes No
This following tables list Microsoft Entra feature availability in Azure Government.
Microsoft Entra ID
ノ Expand table
Certificate-based authentication ✅
Service-level agreement ✅
Conditional Access ✅
Terms of use ✅
Access reviews ✅
Entitlement management ✅
Anonymous IP address ✅
Atypical travel ✅
Anomalous Token ✅
Suspicious browser ✅
Malicious IP address ✅
Password spray ✅
Impossible travel ✅
New country ✅
HR provisioning apps
ノ Expand table
Workday Writeback ✅
HR-provisioning app Availability
SuccessFactors to Writeback ✅
Feedback
Was this page helpful? Yes No
This article provides information about the latest releases and change announcements across
the Microsoft Entra family of products over the last six months (updated monthly). If you're
looking for information that's older than six months, see: Archive for What's new in Microsoft
Entra.
Get notified about when to revisit this page for updates by copying and pasting this URL:
https://learn.microsoft.com/api/search/rss?search=%22Release+notes+-
+Azure+Active+Directory%22&locale=en-us into your feed reader.
May 2025
Set up a SAML or WS-Fed identity provider to enable users to sign up and sign in to, your
applications using their own account with the identity provider. Users will be redirected to the
identity provider, and then redirected back to Microsoft Entra after successful sign in. For more
information, see: SAML/WS-Fed identity providers.
Use Pre/Post Attribute Collection Custom Extensions to customize your self-service sign-up
flow. This includes blocking sign-up, or prefilling, validating, and modifying attribute values. For
more information, see: Create a custom authentication extension for attribute collection start
and submit events.
Public Preview - Roll out of Application Based Authentication
on Microsoft Entra Connect Sync
Type: New feature
Service category: Microsoft Entra Connect
Product capability: Microsoft Entra Connect
Microsoft Entra Connect creates and uses a Microsoft Entra Connector account to authenticate
and sync identities from Active Directory to Microsoft Entra ID. The account uses a locally
stored password to authenticate with Microsoft Entra ID. To enhance the security of the
Microsoft Entra Connect sync process with the application, we've rolled out support for
"Application based Authentication" (ABA), which uses a Microsoft Entra ID application identity
and Oauth 2.0 client credential flow to authenticate with Microsoft Entra ID. To enable this,
Microsoft Entra Connect creates a single tenant 3rd party application in the customer's
Microsoft Entra ID tenant, registers a certificate as the credential for the application, and
authorizes the application to perform on-premises directory synchronization.
The Microsoft Entra Connect Sync .msi installation file for this change is exclusively available on
Microsoft Entra Admin Center within the Microsoft Entra Connect pane .
Check our version history page for more details of the change.
The policy impact view for individual Conditional Access policies enables admins to understand
how each policy has affected recent sign-ins. The feature provides a clear, built-in graph in the
Microsoft Entra admin center, making it easy to visualize and assess the impact without
needing additional tools and resources, such as Log Analytics. For more information, see: Policy
impact.
Deployment logs feature provide visibility into the status and progress of configuration
changes made in Global Secure Access. Deployment logs publish updates to admins and
monitor the process for any errors. Unlike other logging features, deployment logs focus
specifically on tracking configuration updates. These logs help administrators track and
troubleshoot deployment updates, such as forwarding profile redistributions and remote
network updates, across the global network. For more information, see: How to use the Global
Secure Access deployment logs (preview).
April 2025
Conditional Access Optimization Agent in Microsoft Entra monitors for new users or apps
not covered by existing policies, identifies necessary updates to close security gaps, and
recommends quick fixes for identity teams to apply with a single selection. For more
information, see: Microsoft Entra Conditional Access optimization agent.
Conditional Access What If evaluation API – Leverage the What If tool using the Microsoft
Graph API to programmatically evaluate the applicability of conditional access policies in your
tenant on user and service principal sign-ins. For more information, see: conditionalAccessRoot:
evaluate.
Now customers can configure a Lifecycle workflows task to automatically revoke access tokens
when employees move within, or leave, the organization. For more information, see: Revoke all
refresh tokens for user (Preview).
You can now use managed identities as federated credentials for Microsoft Entra apps,
enabling secure, secret-less authentication in both single- and multi-tenant scenarios. This
eliminates the need to store and manage client secrets or certificates when using Microsoft
Entra app to access Azure resources across tenants. This capability aligns with Microsoft’s
Secure Future Initiative pillar of protecting identities and secrets across systems. Learn how
to configure this capability in the official documentation.
What is changing
Microsoft Entra Connect creates and uses a Microsoft Entra Connector account to authenticate
and sync identities from Active Directory to Microsoft Entra ID. The account uses a locally
stored password to authenticate with Microsoft Entra ID. To enhance the security of the
Microsoft Entra Connect application sync process, we will, in the coming week roll out support
for "Application based Authentication" (ABA), which uses a Microsoft Entra ID application
based identity and Oauth 2.0 client credential flow to authenticate with Microsoft Entra ID. To
enable this, Microsoft Entra Connect will create a single tenant 3rd party application in
customer's Microsoft Entra ID tenant, register a certificate as the credential for the application,
and authorize the application to perform on-premises directory synchronization
The Microsoft Entra Connect Sync .msi installation file for this change will be exclusively
available in the Microsoft Entra admin center within the Microsoft Entra Connect pane .
Check our version history page in the next week for more details of the change.
March 2025
Effective April 1, 2025, Microsoft Entra Permissions Management (MEPM) will no longer be
available for sale to new Enterprise Agreement or direct customers. Additionally, starting May
1, it will not be available for sale to new CSP customers. Effective October 1, 2025, we will retire
Microsoft Entra Permissions Management and discontinue support of this product.
Existing customers will retain access to this product until September 30, 2025, with ongoing
support for current functionalities. We have partnered with Delinea to provide an alternative
solution, Privilege Control for Cloud Entitlements (PCCE) , that offers similar capabilities to
those provided by Microsoft Entra Permissions Management. The decision to phase out
Microsoft Entra Permissions Management was done after deep consideration of our innovation
portfolio and how we can focus on delivering the best innovations aligned to our
differentiating areas and partner with the ecosystem on adjacencies. We remain committed to
delivering top-tier solutions across the Microsoft Entra portfolio. For more information, see:
Important change announcement: Microsoft Entra Permissions Management end of sale and
retirement .
Microsoft will standardize the linkable token identifiers, and expose them in both Microsoft
Entra and workflow audit logs. This allows customers to join the logs to track, and investigate,
any malicious activity. Currently linkable identifiers are available in Microsoft Entra sign in logs,
Exchange Online audit logs, and MSGraph Activity logs.
For more information, see: Track and investigate identity activities with linkable identifiers in
Microsoft Entra (preview).
Require reauthentication every time can be used for scenarios where you want to require a
fresh authentication, every time a user performs specific actions like accessing sensitive
applications, securing resources behind VPN, or Securing privileged role elevation in PIM. For
more information, see: Require reauthentication every time.
Custom Attributes for Microsoft Entra Domain Services is now Generally Available. This
capability allows customers to use Custom Attributes in their managed domains. Legacy
applications often rely on custom attributes created in the past to store information, categorize
objects, or enforce fine-grained access control over resources. For example, these applications
might use custom attributes to store an employee ID in their directory and rely on these
attributes in their application LDAP calls. Modifying legacy applications can be costly and risky,
and customers might lack the necessary skills or knowledge to make these changes. Microsoft
Entra Domain Services now supports custom attributes, enabling customers to migrate their
legacy applications to the Azure cloud without modification. It also provides support to
synchronize custom attributes from Microsoft Entra ID, allowing customers to benefit from
Microsoft Entra ID services in the cloud. For more information, see: Custom attributes for
Microsoft Entra Domain Services.
Conditional Access Per-Policy Reporting enables admins to easily evaluate the impact of
enabled and report-only Conditional Access policies on their organization, without using Log
Analytics. This feature surfaces a graph for each policy in the Microsoft Entra Admin Center,
visualizing the policy’s impact on the tenant’s past sign-ins. For more information, see: Policy
impact (Preview).
A new feature has been added to the App Management Policy Framework that allows
restriction on creation or promotion of multitenant applications, providing administrators with
greater control over their app environments.
Administrators can now configure tenant default or custom app policy using the new
'audiences' restriction to block new app creation if the signInAudience value provided in the
app isn't permitted by the policy. In addition, existing apps can be restricted from changing
their signInAudience if the target value isn't permitted by the policy. These policy changes are
applied during app creation or update operations, offering control over application
deployment and usage. For more information, see: audiencesConfiguration resource type.
The Microsoft Entra Connect Sync .msi installation files are also available on Microsoft Entra
admin center within the Microsoft Entra Connect pane . As part of this change, we'll stop
uploading new installation files on the Microsoft Download Center .
As part of our ongoing commitment to enhance security and protect our customers from
evolving cyber threats, we're rolling out two new Microsoft-managed Conditional Access
policies designed to limit device code flow and legacy authentication flows. These policies are
aligned to the secure by default principle of our broader Secure Future Initiative , which aims
to provide robust security measures to safeguard your organization by default.
Deprecated - Upgrade your Microsoft Entra Connect Sync
version to avoid impact on the Sync Wizard
Type: Deprecated
Service category: Microsoft Entra Connect
Product capability: Microsoft Entra Connect
As announced in the Microsoft Entra What's New Blog and in Microsoft 365 Center
communications, customers should upgrade their connect sync versions to at least 2.4.18.0 for
commercial clouds and 2.4.21.0 for non-commercial clouds before April 7, 2025. A breaking
change on the Connect Sync Wizard will affect all requests that require authentication such as
schema refresh, configuration of staging mode, and user sign in changes. For more
information, see: Minimum versions.
February 2025
The authentication methods migration guide in the Microsoft Entra Admin Center lets you
automatically migrate method management from the legacy MFA and SSPR policies to the
converged authentication methods policy. In 2023, it was announced that the ability to manage
authentication methods in the legacy MFA and SSPR policies would be retired in September
2025. Until now, organizations had to manually migrate methods themselves by using the
migration toggle in the converged policy. Now, you can migrate in just a few selections by
using the migration guide. The guide evaluates what your organization currently has enabled in
both legacy policies, and generates a recommended converged policy configuration for you to
review and edit as needed. From there, confirm the configuration, and we set it up for you and
mark your migration as complete. For more information, see: How to migrate MFA and SSPR
policy settings to the Authentication methods policy for Microsoft Entra ID.
Public Preview - Enhanced user management in Admin Center
UX
Type: New feature
Service category: User Management
Product capability: User Management
Admins are now able to multi-select and edit users at once through the Microsoft Entra Admin
Center. With this new capability, admins can bulk edit user properties, add users to groups, edit
account status, and more. This UX enhancement will significantly improve efficiency for user
management tasks in the Microsoft Entra admin center. For more information, see: Add or
update a user's profile information and settings in the Microsoft Entra admin center.
We're thrilled to announce public preview of QR code authentication in Microsoft Entra ID,
providing an efficient and simple authentication method for frontline workers.
You see a new authentication method ‘QR code’ in Microsoft Entra ID Authentication method
Policies. You can enable and add QR code for your frontline workers via Microsoft Entra ID, My
Staff, or MS Graph APIs. All users in your tenant see a new link ‘Sign in with QR code’ on
navigating to https://login.microsoftonline.com > ‘Sign-in options’ > ‘Sign in to an
organization’ page. This new link is visible only on mobile devices (Android/iOS/iPadOS). Users
can use this auth method only if you add and provide a QR code to them. QR code auth is also
available in BlueFletch and Jamf. MHS QR code auth support is generally available by early
March.
The feature has a ‘preview’ tag until it's generally available. For more information, see:
Authentication methods in Microsoft Entra ID - QR code authentication method (Preview).
By setting up federation with a custom-configured identity provider that supports the SAML
2.0 or WS-Fed protocol, you enable your users to sign up and sign in to your applications using
their existing accounts from the federated external provider.
This feature also includes domain-based federation, so a user who enters an email address on
the sign-in page that matches a predefined domain in any of the external identity providers will
be redirected to authenticate with that identity provider.
Support for external auth methods as a supported method begins rolling out at the beginning
of March 2025. When this is live in a tenant where system preferred is enabled and users are in
scope of an external auth methods policy, those users will be prompted for their external
authentication method if their most secure registered method is Microsoft Authenticator
notification. External Authentication Method will appear as third in the list of most secure
methods. If the user has a Temporary Access Pass (TAP) or Passkey (FIDO2) device registered,
they'll be prompted for those. In addition, users in the scope of an external auth methods
policy will have the ability to delete all registered second factor methods from their account,
even if the method being deleted is specified as the default sign in method or is system
preferred. For more information, see: System-preferred multifactor authentication -
Authentication methods policy.
LifecycleWorkflows-Workflow.ReadBasic.All
LifecycleWorkflows-Workflow.Read.All
LifecycleWorkflows-Workflow.ReadWrite.All
LifecycleWorkflows-Workflow.Activate
LifecycleWorkflows-Reports.Read.All
LifecycleWorkflows-CustomExt.Read.All
LifecycleWorkflows-CustomExt.ReadWrite.All
January 2025
Customers can now manage, and customize, Lifecycle Workflows using natural language with
Microsoft Security CoPilot. Our Lifecycle Workflows (LCW) Copilot solution provides step-by-
step guidance to perform key workflow configuration and execution tasks using natural
language. It allows customers to quickly get rich insights to help monitor, and troubleshoot,
workflows for compliance. For more information, see: Manage employee lifecycle using
Microsoft Security Copilot (Preview).
Manage and automate Microsoft Entra resources programmatically with the scenario-focused
Microsoft Entra PowerShell module. For more information, see: Microsoft Entra PowerShell
module now generally available .
General Availability - Improving visibility into downstream
tenant sign-ins
Type: New feature
Service category: Reporting
Product capability: Monitoring & Reporting
Microsoft Security wants to ensure that all customers are aware of how to notice when a
partner is accessing a downstream tenant's resources. Interactive sign-in logs currently provide
a list of sign in events, but there's no clear indication of which logins are from partners
accessing downstream tenant resources. For example, when reviewing the logs, you might see
a series of events, but without any additional context, it’s difficult to tell whether these logins
are from a partner accessing another tenant’s data.
Here's a list of steps that one can take to clarify which logins are associated with partner
tenants:
This filter can be applied to refine the log data. When activated, it immediately
isolates events related to partner logins.
2. Utilize the "Home Tenant ID" and "Resource Tenant ID" Columns:
These two columns identify logins coming from the partner’s tenant to a
downstream tenant.
After seeing a partner logging into a downstream tenant’s resources, an important follow-up
activity to perform is to validate the activities that might have occurred in the downstream
environment. Some examples of logs to look at are Microsoft Entra Audit logs for Microsoft
Entra ID events, Microsoft 365 Unified Audit Log (UAL) for Microsoft 365 and Microsoft Entra ID
events, and/or the Azure Monitor activity log for Azure events. By following these steps, you're
able to clearly identify when a partner is logging into a downstream tenant’s resources and
subsequent activity in the environment, enhancing your ability to manage and monitor cross-
tenant access efficiently.
To increase visibility into the aforementioned columns, Microsoft Entra will begin enabling
these columns to display by default when loading the sign-in logs UX starting on March 7,
2025.
Public Preview - Auditing administrator events in Microsoft
Entra Connect
Type: New feature
Service category: Microsoft Entra Connect
Product capability: Microsoft Entra Connect
We have released a new version of Microsoft Entra Connect, version 2.4.129.0, that supports
the logging of the changes an administrator makes on the Connect Sync Wizard and
PowerShell. For more information, see: Auditing administrator events in Microsoft Entra
Connect Sync (Public Preview).
Where supported, we'll also autoupgrade customers to this version of Microsoft Entra Connect
in February 2025. For customers who wish to be autoupgraded, ensure that you have auto-
upgrade configured.
For upgrade-related guidance, see Microsoft Entra Connect: Upgrade from a previous version
to the latest.
Flexible Federated Identity Credentials extend the existing Federated Identity Credential model
by providing the ability to use wildcard matching against certain claims. Currently available for
GitHub, GitLab, and Terraform Cloud scenarios, this functionality can be used to lower the total
number of FICs required to managed similar scenarios. For more information, see: Flexible
federated identity credentials (preview).
Traditionally, password spray attacks are detected post breach or as part of hunting activity.
Now, we’ve enhanced Microsoft Entra ID Protection to detect password spray attacks in real-
time before the attacker ever obtains a token. This reduces remediation from hours to seconds
by interrupting attacks during the sign-in flow.
Risk-based Conditional Access can automatically respond to this new signal by raising session
risk, immediately challenging the sign-in attempt, and stopping password spray attempts in
their tracks. This cutting-edge detection, now Generally Available, works alongside existing
detections for advanced attacks such as Adversary-in-the-Middle (AitM) phishing and token
theft, to ensure comprehensive coverage against modern attacks. For more information, see:
What is Microsoft Entra ID Protection?
Customers can now configure Conditional Access policies to protect against early hard
deletions. Protected action for hard deletion protects hard deletion of users, Microsoft 365
groups, and applications. For more information, see: What are protected actions in Microsoft
Entra ID?.
This feature enables administrators to export and stream Elevate Access events to both first-
party and third-party SIEM solutions via Microsoft Entra Audit logs. It enhances detection and
improves logging capabilities, allowing visibility into who in their tenant has utilized Elevate
Access. For more information on how to use the feature, see: View elevate access log entries.
The Azure AD Graph API service was [deprecated] in 2020. Retirement of the Azure AD Graph
API service began in September 2024, and the next phase of this retirement starts February
1, 2025. This phase will impact new and existing applications unless action is taken. The latest
updates on Azure AD Graph retirement can be found here: Take action by February 1: Azure AD
Graph is retiring .
Starting from February 1, both new and existing applications will be prevented from calling
Azure AD Graph APIs, unless they're configured for an extension. You might not see impact
right away, as we’re rolling out this change in stages across tenants. We anticipate full
deployment of this change around the end of February, and by the end of March for national
cloud deployments.
If you haven't already, it's now urgent to review the applications on your tenant to see which
ones depend on Azure AD Graph API access, and mitigate or migrate these before the February
1 cutoff date. For applications that haven't migrated to Microsoft Graph APIs, an extension can
be set to allow the application access to Azure AD Graph through June 30, 2025.
Microsoft Entra Recommendations are the best tool to identify applications that are using
Azure AD Graph APIs in your tenant and require action. Reference this blog post: Action
required: Azure AD Graph API retirement for step by step guidance.
On January 15, 2025, we released Microsoft Entra Connect Sync Version 2.4.129.0 which
supports auditing administrator events. More details are available in the release notes. We'll
automatically upgrade eligible customers to this latest version of Microsoft Entra Connect in
February 2025. For customers who wish to be autoupgraded, ensure that you have auto-
upgrade configured.
As announced in Microsoft Entra change announcements and in the Microsoft Entra Blog ,
the MSOnline, and Microsoft Azure AD PowerShell modules (for Microsoft Entra ID) retired on
March 30, 2024.
The retirement for MSOnline PowerShell module starts in early April 2025, and ends in late May
2025. If you're using MSOnline PowerShell, you must take action by March 30, 2025 to avoid
impact after the retirement by migrating any use of MSOnline to Microsoft Graph PowerShell
SDK or Microsoft Entra PowerShell.
Key points
MSOnline PowerShell will retire, and stop working, between early April 2025 and late May
2025
AzureAD PowerShell will no longer be supported after March 30, 2025, but its retirement
will happen in early July 2025. This postponement is to allow you time to finish the
MSOnline PowerShell migration
To ensure customer readiness for MSOnline PowerShell retirement, a series of temporary
outage tests will occur for all tenants between January 2025 and March 2025.
For more information, see: Action required: MSOnline and AzureAD PowerShell retirement -
2025 info and resources .
December 2024
What's new in Microsoft Entra offers a comprehensive view of Microsoft Entra product updates
including product roadmap (like Public Previews and recent GAs), and change announcements
(like deprecations, breaking changes, feature changes and Microsoft-managed policies). It's a
one stop shop for Microsoft Entra admins to discover the product updates.
Public Preview - Microsoft Entra ID Governance: Approvers
can revoke access in MyAccess
Type: New feature
Service category: Entitlement Management
Product capability: Entitlement Management
For Microsoft Entra ID Governance users, approvers of access package requests can now
revoke their decision in MyAccess. Only the person who took the approve action is able to
revoke access. To opt into this feature, admins can go to the Identity Governance settings
page , and enable the feature. For more information, see: What is the My Access portal?.
Starting Mid-January, we are improving the audit logs for changes made to the SSPR Policy.
With this improvement, any change to the SSPR policy configuration, including enablement or
disablement, will result in an audit log entry that includes details about the change made.
Additionally, both the previous values and current values from the change will be recorded
within the audit log. This additional information can be found by selecting an audit log entry
and selecting the Modified Properties tab within the entry.
Phase 1 includes logging for the Authentication Methods, Registration, Notifications, and
Customization configuration settings.
This change occurs automatically, so admins take no action. For more information and details
regarding this change, see: Microsoft Entra audit log categories and activities.
In some environments, it’s necessary to prevent users from making this change. Global
Administrators can manage this using a tenant-wide policy with Microsoft Graph API, following
the guidance in the Manage user profile photo settings in Microsoft 365 document.
Microsoft Entra ID now supports issuing Temporary Access Passes (TAP) to internal guest users.
TAPs can be issued to internal guests just like normal members, through the Microsoft Entra ID
Admin Center, or natively through Microsoft Graph. With this enhancement, internal guests can
now seamlessly onboard, and recover, their accounts with time-bound temporary credentials.
For more information, see: Configure Temporary Access Pass to register passwordless
authentication methods.
We’ve announced the public preview of Microsoft Security Copilot embedded in the Microsoft
Entra admin Center. This integration brings all identity skills previously made generally
available for the Security Copilot standalone experience in April 2024, along with new identity
capabilities for admins and security analysts to use directly within the Microsoft Entra admin
center. We've also added brand new skills to help improve identity-related risk investigation. In
December, we broaden the scope even further to include a set of skills specifically for App Risk
Management in both standalone and embedded experiences of Security Copilot and Microsoft
Entra. These capabilities allow identity admins and security analysts to better identify,
understand, and remediate the risks impacting applications and workload identities registered
in Microsoft Entra.
With Security Copilot now embedded in Microsoft Entra, identity admins get AI-driven, natural-
language summaries of identity context and insights tailored for handling security incidents,
equipping them to better protect against identity compromise. The embedded experience also
accelerates troubleshooting tasks like resolving identity-related risks and sign-in issues, without
ever leaving the admin center.
Identity admins and security analysts managing Microsoft Entra ID registered apps can identify
and understand risks through natural language prompts. Security Copilot has links to the
Microsoft Entra Admin Center for admins to take needed remediation actions. For more
information, see: Assess application risks using Microsoft Security Copilot in Microsoft Entra.
This new feature adds Apple to our list of preconfigured social identity providers. As the first
social identity provider implemented on the eSTS platform, it introduces a "Sign in with Apple"
button to the sign-in options, allowing users to access applications with their Apple accounts.
For more information, see: Add Apple as an identity provider (preview).
This feature allows users to customize their Microsoft default sign in authentication endpoint
with their own brand names. Custom URL Domains help users to change Ext ID endpoint <
tenant-name >.ciamlogin.com to login.contoso.com.
Privileged Identity Management (PIM) capabilities are now integrated into the Azure Role
Based Access Control (Azure RBAC) UI. Before this integration, RBAC admins could only
manage standing access (active permanent role assignments) from the Azure RBAC UI. With
this integration, just-in-time access and timebound access, which are functionalities supported
by PIM, are now brought into the Azure RBAC UI for customers with either a P2, or Identity
Governance, license.
RBAC admins can create assignments of type eligible and timebound duration from the Azure
RBAC add role assignment flow, see the list of different states of role assignment in a single
view, as well as convert the type and duration of their role assignments from the Azure RBAC
UI. In addition, end users now see all their role assignments of different state straight from the
Azure RBAC UI landing page, from where they can also activate their eligible role assignments.
For more information, see: List role assignments at a scope.
In this video series, we guide you through the basics of phishing-resistant authentication
methods in Microsoft Entra ID. Multifactor authentication is one of the most effective
controls to prevent an adversary from gaining access to sensitive information.
Watch the following videos, or visit the Phishing Resistant Authentication in Microsoft
Entra ID video series, for guidance on how to configure phishing-resistant multifactor
authentication methods.
To learn more, see Windows Hello for Business, certificate-based authentication, and
passkeys formally FIDO2 security keys. In addition, learn about Microsoft Entra
Conditional Access, which brings signals together to inform decision making, and
enforces organizational policies.
ノ Expand table
Feedback
Was this page helpful? Yes No