Configuración del inicio de sesión único para Azure Virtual Desktop con la autenticación de Microsoft Entra ID

En este artículo se le guía por el proceso de configuración del inicio de sesión único (SSO) para Azure Virtual Desktop con la autenticación de Microsoft Entra ID. Al habilitar el inicio de sesión único, los usuarios se autentican en Windows mediante un token de Microsoft Entra ID. Este token permite el uso de la autenticación sin contraseña y de los proveedores de identidades de terceros que se federan con Microsoft Entra ID al conectarse a un host de sesión, lo que hace que la experiencia de inicio de sesión sea perfecta.

El inicio de sesión único mediante la autenticación de Microsoft Entra ID también proporciona una experiencia perfecta para los recursos basados en Microsoft Entra ID dentro de la sesión. Para obtener información sobre el uso de la autenticación sin contraseña en una sesión, consulte Autenticación sin contraseña en sesión.

Para habilitar el inicio de sesión único mediante la autenticación de Microsoft Entra ID, hay cinco tareas que debe completar:

  1. Habilite la autenticación de Microsoft Entra para el Protocolo de escritorio remoto (RDP).

  2. Configure los grupos de dispositivos de destino.

  3. Cree un objeto de Kerberos Server, si Active Directory Domain Services forma parte de su entorno. En su sección se incluye más información sobre los criterios.

  4. Revise las directivas de acceso condicional.

  5. Configure el grupo de hosts para habilitar el inicio de sesión único.

Antes de habilitar el inicio de sesión único

Antes de habilitar el inicio de sesión único, revise la siguiente información sobre su uso en su entorno.

Desconexión cuando la sesión está bloqueada

Cuando el inicio de sesión único está habilitado, en Windows el inicio de sesión se realiza mediante un token de autenticación de Microsoft Entra ID, que permite la autenticación sin contraseña en Windows. La pantalla de bloqueo de Windows de la sesión remota no admite tokens de autenticación de Microsoft Entra ID ni métodos de autenticación sin contraseña, como las claves FIDO. La falta de compatibilidad con estos métodos de autenticación significa que los usuarios no pueden desbloquear sus pantallas en las sesiones remotas. Cuando se intenta bloquear una sesión remota, ya sea a través de la acción del usuario o de la directiva del sistema, la sesión se desconecta y el servicio envía un mensaje al usuario en el que se explica que se ha desconectado.

La desconexión de la sesión también garantiza que, cuando se vuelva a iniciar la conexión después de un período de inactividad, Microsoft Entra ID evaluará de nuevo las directivas de acceso condicional aplicables.

Uso de una cuenta de administrador de dominio de Active Directory con inicio de sesión único

En entornos con un Active Directory Domain Services (AD DS) y cuentas de usuario híbridas, la directiva de replicación de contraseñas predeterminada sobre controladores de dominio de solo lectura rechaza la replicación de contraseñas para los miembros de los grupos de seguridad Administradores de dominio y Administradores. Esta directiva impedirá que estas cuentas de administrador inicien sesión en hosts unidos a Microsoft Entra híbrido y se les podría seguir solicitando que introduzcan sus credenciales. También impedirá que las cuentas de administrador accedan a recursos locales que saquen provecho de la autenticación Kerberos desde hosts unidos a Microsoft Entra.

Para permitir que estas cuentas de administrador se conecten cuando el inicio de sesión único está habilitado, consulte Allow Active Directory domain administrator accounts to connect (Permitir que las cuentas de administrador de dominio de Active Directory se conecten).

Requisitos previos

Para poder habilitar el inicio de sesión único, debe cumplir los siguientes requisitos:

Habilitación de la autenticación de Microsoft Entra para RDP

Primero debe permitir la autenticación de Microsoft Entra para Windows en el inquilino de Microsoft Entra, lo que permite emitir tokens de acceso RDP y que los usuarios puedan iniciar sesión en los hosts de sesión de Azure Virtual Desktop. Establezca la propiedad isRemoteDesktopProtocolEnabled en True en el objeto remoteDesktopSecurityConfiguration de la entidad de servicio para las siguientes aplicaciones de Microsoft Entra:

Nombre de la aplicación Identificador de la aplicación
Escritorio remoto de Microsoft a4a365df-50f1-4397-bc59-1a1564b8bb9c
Inicio de sesión en la nube de Windows 270efc09-cd0d-444b-a71f-39af4910ec45

Importante

Como parte de un próximo cambio, estamos realizando la transición de Escritorio remoto de Microsoft a Inicio de sesión en la nube de Windows a partir de 2024. Si configura ambas aplicaciones, ahora tendrá la garantía de tener todo listo para el cambio.

Para configurar la entidad de servicio, use el SDK de PowerShell de Microsoft Graph para crear un nuevo objeto remoteDesktopSecurityConfigurationen la entidad de servicio y establezca la propiedadisRemoteDesktopProtocolEnabled en true. También puede usar Microsoft Graph API con una herramienta como Graph Explorer.

  1. Inicie Azure Cloud Shell en el Azure Portal con el tipo de terminal PowerShell o ejecute PowerShell en el dispositivo local.

    1. Si usa Cloud Shell, asegúrese de que el contexto de Azure esté establecido en la suscripción que desea usar.

    2. Si usa la CLI de Azure localmente, primero Inicie sesión con PowerShell de Azure y asegúrese de que el contexto de Azure esté establecido en la suscripción que desea usar.

  1. Compruebe que ha instalado el SDK de PowerShell de Microsoft Graph desde los requisitos previos y, a continuación, importe los módulos Autenticación y Aplicaciones de Microsoft Graph y conéctese a Microsoft Graph con los ámbitos de Application.Read.All y Application-RemoteDesktopConfig.ReadWrite.All mediante la ejecución de los siguientes comandos:

    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Applications
    
    Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
    
  2. Obtenga el id. de objeto de cada entidad de servicio y almacénelos en variables mediante la ejecución de los siguientes comandos:

    $MSRDspId = (Get-MgServicePrincipal -Filter "AppId eq 'a4a365df-50f1-4397-bc59-1a1564b8bb9c'").Id
    $WCLspId = (Get-MgServicePrincipal -Filter "AppId eq '270efc09-cd0d-444b-a71f-39af4910ec45'").Id
    
  3. Ejecute los siguientes comandos para establecer la propiedad isRemoteDesktopProtocolEnabled en true. No hay ninguna salida de estos comandos.

    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId -IsRemoteDesktopProtocolEnabled
    }
    
    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId -IsRemoteDesktopProtocolEnabled
    }
    
  4. Ejecute los siguientes comandos para confirmar que la propiedad isRemoteDesktopProtocolEnabled está establecida en true:

    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId
    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId
    

    La salida debe ser:

    Id IsRemoteDesktopProtocolEnabled
    -- ------------------------------
    id True
    

Configuración de los grupos de dispositivos de destino

Después de habilitar la autenticación de Microsoft Entra para RDP, debe configurar los grupos de dispositivos de destino. De manera predeterminada, al habilitar el inicio de sesión único, se pide a los usuarios que se autentiquen en Microsoft Entra ID y permitan la conexión de Escritorio remoto al iniciar una conexión a un nuevo host de sesión. Microsoft Entra recuerda hasta 15 hosts durante 30 días antes de volver a preguntar. Si ve un diálogo para permitir la conexión a Escritorio remoto, seleccione para conectarse.

Configure una lista de dispositivos de confianza para ocultar este diálogo y proporcionar el inicio de sesión único para todas las conexiones. Debe crear uno o varios grupos en Microsoft Entra ID que contengan los hosts de sesión y, a continuación, establecer una propiedad en las entidades de servicio para las mismas aplicaciones de Escritorio remoto de Microsoft e inicio de sesión en la nube de Windows, como se usó en la sección anterior, para el grupo.

Sugerencia

Se recomienda usar un grupo dinámico y configurar las reglas de pertenencia dinámica para incluir todos los hosts de sesión de Azure Virtual Desktop. Puede usar los nombres de dispositivo de este grupo, pero para beneficiarse de una opción más segura, puede establecer y usar atributos de extensión de dispositivo mediante Microsoft Graph API. Aunque los grupos dinámicos normalmente se actualizan en un plazo de 5 a 10 minutos, los inquilinos grandes pueden tardar hasta 24 horas.

Para usar grupos dinámicos, se necesita una licencia de Microsoft Entra ID P1 o una licencia de Intune para Educación. Para obtener más información, consulte Reglas de pertenencia dinámica para grupos.

Para configurar la entidad de servicio, use el SDK de PowerShell de Microsoft Graph para crear un nuevo objeto targetDeviceGroup en la entidad de servicio con el id. de objeto y el nombre para mostrar del grupo dinámico. También puede usar Microsoft Graph API con una herramienta como Graph Explorer.

  1. Cree un grupo dinámico en Microsoft Entra ID que contenga los hosts de sesión para los que desea ocultar el diálogo. Anote el id. de objeto del grupo para el paso siguiente.

  2. En la misma sesión de PowerShell, cree un objeto de targetDeviceGroup ejecutando los siguientes comandos, reemplazando el <placeholders> por sus propios valores:

    $tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
    $tdg.Id = "<Group object ID>"
    $tdg.DisplayName = "<Group display name>"
    
  3. Ejecute los siguientes comandos para agregar el grupo al objeto targetDeviceGroup:

    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -BodyParameter $tdg
    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -BodyParameter $tdg
    

    La salida debe ser similar a:

    Id                                   DisplayName
    --                                   -----------
    12345678-abcd-1234-abcd-1234567890ab Contoso-session-hosts
    

    Repita los pasos 2 y 3 para cada grupo que quiera agregar al objeto targetDeviceGroup, hasta un máximo de 10 grupos.

  4. Si más adelante necesita quitar un grupo de dispositivos del objeto targetDeviceGroup, ejecute los comandos siguientes y reemplace el <placeholders> por sus propios valores:

    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -TargetDeviceGroupId "<Group object ID>"
    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -TargetDeviceGroupId "<Group object ID>"
    

Creación de un objeto de servidor de Kerberos

Debe Crear un objeto de servidor Kerberos si su host de sesión cumple los siguientes criterios:

  • El host de sesión está unido a Microsoft Entra híbrido. Debe tener un objeto de servidor Kerberos para completar la autenticación en un controlador de dominio.
  • Su host de sesión está unido a Microsoft Entra y su entorno contiene controladores de dominio de Active Directory. Debe tener un objeto de servidor Kerberos para que los usuarios accedan a recursos locales, como recursos compartidos SMB y autenticaciones a sitios web integradas con Windows.

Importante

Si habilita el inicio de sesión único en sus host de sesión unidos a Microsoft Entra híbrido antes de crear un objeto de servidor Kerberos, podría darse uno de los siguientes casos:

  • Recibe un mensaje de error diciendo que la sesión específica no existe.
  • El inicio de sesión único se omitirá y verá un diálogo de autenticación estándar para el host de sesión.

Para resolver estas incidencias, cree el objeto de servidor Kerberos antes de intentar volver a conectar.

Revisión de las directivas de acceso condicional

Cuando el inicio de sesión único está habilitado, se introduce una nueva aplicación de Microsoft Entra ID para autenticar a los usuarios en el host de sesión. Si tiene directivas de acceso condicional que se aplican al acceder a Azure Virtual Desktop, revise las recomendaciones sobre cómo configurar la autenticación multifactor para asegurarse de que los usuarios tengan la experiencia deseada.

Configurar el grupo de hosts para habilitar el inicio de sesión único

Para habilitar el inicio de sesión único en su grupo de hosts, necesita configurar la siguiente propiedad RDP, lo cual puede hacer mediante Azure Portal o PowerShell. Encontrará los pasos para configurar las propiedades RDP en Personalización de las propiedades de Protocolo de escritorio remoto (RDP) para un grupo de hosts.

  • En Azure Portal, establezca Inicio de sesión único en Microsoft Entra en Las conexiones usarán la autenticación de Microsoft Entra para proveer el inicio de sesión único.
  • En PowerShell, establezca la propiedad enablerdsaadauth en 1.

Permitir que las cuentas de administrador de dominio de Active Directory se conecten

Para permitir que las cuentas de administrador de dominio de Active Directory se conecten cuando el inicio de sesión único está habilitado:

  1. En un dispositivo que use para administrar su dominio de Active Directory, abra la consola Usuarios y equipos de Active Directory con una cuenta que sea miembro del grupo de seguridad de Administradores de dominio.

  2. Abra la unidad organizativa de los controladores de dominio para su dominio.

  3. Busque el objeto AzureADKerberos, haga clic en él con el botón derecho y seleccione Propiedades.

  4. Seleccione la pestaña Directiva de replicación de contraseñas.

  5. Cambie la directiva para los Administradores de dominio de Denegar a Permitir.

  6. Elimine la directiva para los Administradores. El grupo Administradores de dominio es miembro del grupo Administradores, así que denegar la replicación a los administradores también la deniega a los administradores de dominio.

  7. Seleccione Aceptar para guardar los cambios.

Pasos siguientes