Enforce Microsoft Entra multifactor authentication for Azure Virtual Desktop using Conditional Access
If you're visiting this page from the Azure Virtual Desktop (classic) documentation, make sure to return to the Azure Virtual Desktop (classic) documentation once you're finished.
Users can sign into Azure Virtual Desktop from anywhere using different devices and clients. However, there are certain measures you should take to help keep your environment and your users safe. Using Microsoft Entra multifactor authentication (MFA) with Azure Virtual Desktop prompts users during the sign-in process for another form of identification in addition to their username and password. You can enforce MFA for Azure Virtual Desktop using Conditional Access, and can also configure whether it applies to the web client, mobile apps, desktop clients, or all clients.
When a user connects to a remote session, they need to authenticate to the Azure Virtual Desktop service and the session host. If MFA is enabled, it's used when connecting to the Azure Virtual Desktop service and the user is prompted for their user account and a second form of authentication, in the same way as accessing other services. When starting a remote session, a username and password is required for a session host, but this is seamless to the user if single sign-on (SSO) is enabled. For more information, see Authentication methods.
How often a user is prompted to reauthenticate depends on Microsoft Entra session lifetime configuration settings. For example, if their Windows client device is registered with Microsoft Entra ID, it will receive a Primary Refresh Token (PRT) to use for single sign-on (SSO) across applications. Once issued, a PRT is valid for 14 days and is continuously renewed as long as the user actively uses the device.
While remembering credentials is convenient, it can also make deployments for Enterprise scenarios using personal devices less secure. To protect your users, you can make sure the client keeps asking for Microsoft Entra multifactor authentication credentials more frequently. You can use Conditional Access to configure this behavior.
Learn how to enforce MFA for Azure Virtual Desktop and optionally configure sign-in frequency below.
Here's what you'll need to get started:
- Assign users a license that includes Microsoft Entra ID P1 or P2.
- A Microsoft Entra group with your Azure Virtual Desktop users assigned as group members.
- Enable Microsoft Entra multifactor authentication for your users. For more information about how to do that, see Enable Microsoft Entra multifactor authentication.
Create a Conditional Access policy
Here's how to create a Conditional Access policy that requires multifactor authentication when connecting to Azure Virtual Desktop:
Sign in to the Azure portal as a global administrator, security administrator, or Conditional Access administrator.
In the search bar, type Microsoft Entra Conditional Access and select the matching service entry.
From the overview, select Create new policy.
Give your policy a name. We recommend that organizations create a meaningful standard for the names of their policies.
Under Assignments > Users, select 0 users and groups selected.
Under the Include tab, select Select users and groups and check Users and groups, then under Select, select 0 users and groups selected.
On the new pane that opens, search for and choose the group that contains your Azure Virtual Desktop users as group members, then select Select.
Under Assignments > Target resources, select No target resources selected.
Under the Include tab, select Select apps, then under Select, select None.
On the new pane that opens, search for and select the necessary apps based on the resources you are trying to protect.
If you're using Azure Virtual Desktop (based on Azure Resource Manager), you can configure MFA on three different apps:
Azure Virtual Desktop (app ID 9cdead84-a844-4324-93f2-b2e6bb768d07), which applies when the user subscribes to Azure Virtual Desktop, authenticates to the Azure Virtual Desktop Gateway during a connection, and when diagnostics information is sent to the service from the user's local device.
The app name was previously Windows Virtual Desktop. If you registered the Microsoft.DesktopVirtualization resource provider before the display name changed, the application will be named Windows Virtual Desktop with the same app ID as above.
Microsoft Remote Desktop (app ID a4a365df-50f1-4397-bc59-1a1564b8bb9c) and Windows Cloud Login (app ID 270efc09-cd0d-444b-a71f-39af4910ec45). These apply when the user authenticates to the session host when single sign-on is enabled. It's recommended to match conditional access policies between these apps and the Azure Virtual Desktop app above, except for the sign-in frequency.
The clients used to access Azure Virtual Desktop use the Microsoft Remote Desktop Entra ID app to authenticate to the session host today. An upcoming change will transition the authentication to the Windows Cloud Login Entra ID app. To ensure a smooth transition, you need to add both Entra ID apps to your CA policies.
If you're using Azure Virtual Desktop (classic), choose these apps:
Windows Virtual Desktop (app ID 5a0aa725-4958-4b0c-80a9-34562e23f3b7).
Windows Virtual Desktop Client (app ID fa4345a4-a730-4230-84a8-7d9651b86739), which will let you set policies on the web client.
If you're using Azure Virtual Desktop (classic) and if the Conditional Access policy blocks all access excluding Azure Virtual Desktop app IDs, you can fix this by also adding the Azure Virtual Desktop (app ID 9cdead84-a844-4324-93f2-b2e6bb768d07) to the policy. Not adding this app ID will block feed discovery of Azure Virtual Desktop (classic) resources.
When searching for an application name on Azure, use search terms that begin with the application name in order instead of keywords the application name contains out of order. For example, when you want to use Azure Virtual Desktop, you need to enter 'Azure Virtual
in that order. If you entervirtual` by itself, the search won't return the desired application.
Don't select the app called Azure Virtual Desktop Azure Resource Manager Provider (app ID 50e95039-b200-4007-bc97-8d5790743a63). This app is only used for retrieving the user feed and shouldn't have multifactor authentication.
Once you've selected your apps, select Select.
Under Assignments > Conditions, select 0 conditions select.
Under Client apps, select Not configured.
On the new pane that opens, for Configure, select Yes
Select the client apps this policy will apply:
- Select Browser if you want the policy to apply to the web client.
- Select Mobile apps and desktop clients if you want to apply the policy to other clients.
- Select both check boxes if you want to apply the policy to all clients.
- Deselect values for legacy authentication clients.
Once you've selected the client apps this policy will apply to, select Done.
Under Access controls > Grant, select 0 controls selected.
On the new pane that opens, select Grant access.
Check Require multifactor authentication, and then select Select.
At the bottom of the page, set Enable policy to On and select Create.
When you use the web client to sign in to Azure Virtual Desktop through your browser, the log will list the client app ID as a85cf173-4192-42f8-81fa-777a763e6e2c (Azure Virtual Desktop client). This is because the client app is internally linked to the server app ID where the conditional access policy was set.
Some users may see a prompt titled Stay signed in to all your apps if the Windows device they're using is not already registered with Microsoft Entra ID. If they deselect Allow my organization to manage my device and select No, sign in to this app only, they may be prompted for authentication more frequently.
Configure sign-in frequency
To optionally configure the time period before a user is asked to sign-in again:
- Open the policy you created previously.
- Under Access controls > Session, select 0 controls selected.
- On the new pane that opens, select Sign-in frequency.
- Select Periodic reauthentication.
- Set the value for the time period before a user is asked to sign-in again, and then select Select. For example, setting the value to 1 and the unit to Hours, will require multifactor authentication if a connection is launched over an hour after the last one.
- At the bottom of the page, under Enable policy select Save.
- If single sign-on is enabled, it's recommended to configure the sign-in frequency only on the Microsoft Remote Desktop and Windows Cloud Login Entra ID apps and not the Azure Virtual Desktop Entra ID app. This will ensure that feed refresh and diagnostics upload continue working in the background as expected.
- Without single sign-on, sign-in frequency can be configured on the Azure Virtual Desktop Entra ID app.
Microsoft Entra joined session host VMs
For connections to succeed, you must disable the legacy per-user multifactor authentication sign-in method. If you don't want to restrict signing in to strong authentication methods like Windows Hello for Business, you'll also need to exclude the Azure Windows VM Sign-In app from your Conditional Access policy.