Linux Virtual Delivery Agent

Autenticación con Azure Active Directory

Nota:

Esta función solo está disponible para los VDA alojados en Azure.

Según sus necesidades, puede implementar dos tipos de Linux VDA en Azure:

  • Máquinas virtuales unidas a Azure AD DS. Las máquinas virtuales se unen a un dominio administrado de Azure Active Directory (AAD) Domain Services (DS). Los usuarios usan sus credenciales de dominio para iniciar sesión en las máquinas virtuales.
  • Máquinas virtuales no unidas a ningún dominio. Las máquinas virtuales se integran con el servicio de identidad de AAD para proporcionar autenticación de usuario. Los usuarios usan sus credenciales de AAD para iniciar sesión en las máquinas virtuales.

Para obtener más información sobre AAD DS y AAD, consulte este artículo de Microsoft.

En este artículo se muestra cómo habilitar y configurar el servicio de identidad de AAD en los VDA no unidos a un dominio.

Distribuciones compatibles

  • Ubuntu 22.04, 20.04
  • RHEL 8.8, 8.6, 7.9
  • SUSE 15.5

Para obtener más información, consulte este artículo de Microsoft.

Problemas conocidos y soluciones

En RHEL 7.9, el módulo de autenticación conectable (PAM) pam_loginuid.so no establece loginuid después de la autenticación de usuario en AAD. Este problema impide a los usuarios de AAD acceder a las sesiones de VDA.

Para solucionar este problema, en /etc/pam.d/remote, comente la línea Session required pam_loginuid.so. Consulte la siguiente captura de pantalla para ver un ejemplo.

Solución para un problema conocido

Paso 1: Cree una VM de plantilla en Azure Portal

Cree una VM de plantilla e instale la CLI de Azure en la VM.

  1. En Azure Portal, cree una VM de plantilla. Seleccione Login with Azure AD en la ficha Management antes de hacer clic en Review + create.

    configuración para habilitar el inicio de sesión con AAD

  2. Instale la CLI de Azure en la máquina virtual de plantilla. Para obtener más información, consulte este artículo de Microsoft.

Paso 2: Prepare una imagen maestra en la VM de la plantilla

Para preparar una imagen maestra, siga el Paso 3: Prepare una imagen maestra de Usar MCS para crear máquinas virtuales Linux en Azure.

Paso 3: Configure la VM de plantilla en modo no unido a un dominio

Después de crear una imagen maestra, siga estos pasos para establecer la máquina virtual en modo no unido a un dominio:

  1. Ejecute el siguiente script desde el símbolo del sistema.

    Modify /var/xdl/mcs/mcs_util.sh
    <!--NeedCopy-->
    
  2. Busque function read_non_domain_joined_info() y, a continuación, cambie el valor de NonDomainJoined a 2. Consulte el siguiente bloque de código para ver un ejemplo.

    function read_non_domain_joined_info()
    {
    log "Debug: Enter read_non_domain_joined_info"
    # check if websocket enabled
    TrustIdentity=`cat ${id_disk_mnt_point}${ad_info_file_path} | grep '[TrustIdentity]' | sed 's/\s//g'`
    if [ "$TrustIdentity" == "[TrustIdentity]" ]; then
    NonDomainJoined=2
    fi
    ...
    }
    <!--NeedCopy-->
    
  3. Guarde el cambio.

  4. Apague la VM de plantilla.

Paso 4: Cree las máquinas virtuales Linux a partir de la VM de plantilla

Cuando tenga lista la VM de plantilla no unida a un dominio, siga estos pasos para crear máquinas virtuales:

  1. Inicie sesión en Citrix Cloud.

  2. Haga doble clic en Citrix DaaS y, a continuación, acceda a la consola de administración Configuración completa

  3. En Catálogos de máquinas, elija usar Machine Creation Services para crear las máquinas virtuales Linux a partir de la VM de plantilla. Para obtener más información, consulte VDA no unidos a ningún dominio en la documentación de Citrix DaaS.

Paso 5: Asigne cuentas de usuario de AAD a las VM Linux

Después de crear las máquinas virtuales no unidas a ningún dominio, asígneles cuentas de usuario de AAD.

Para asignar cuentas de usuario de AAD a una VM, siga estos pasos:

  1. Acceda a la VM con una cuenta de administrador.
  2. En la ficha Identify > System assigned, habilite System Identity.

    configuración para habilitar el inicio de sesión con AAD

  3. En la ficha Access control (IAM) > Role assignments, busque el área Virtual Machine User Login y, a continuación, agregue las cuentas de usuario de AAD según sea necesario.

    configuración para habilitar el inicio de sesión con AAD

Iniciar sesión en VDA no unidos a ningún dominio

Los usuarios finales de su organización pueden iniciar sesión en un VDA que no esté unido a ningún dominio de dos maneras. Estos son los pasos detallados:

  1. Inicie la aplicación Workspace y, a continuación, inicie sesión en el espacio de trabajo introduciendo el nombre de usuario y la contraseña de AAD. Aparecerá la página del espacio de trabajo.
  2. Haga doble clic en un escritorio no unido a un dominio. Aparecerá la página de INICIO DE SESIÓN de AAD.

    La página varía en función del modo de inicio de sesión establecido en el VDA: código de dispositivo o cuenta/contraseña de AAD. De forma predeterminada, los agentes Linux VDA autentican a los usuarios de AAD mediante el modo de inicio de sesión con código de dispositivo, como se indica a continuación. Como administrador, puede cambiar el modo de inicio de sesión a cuenta/contraseña de AAD si es necesario. Consulte la siguiente sección para conocer los pasos detallados.

    configuración para habilitar el inicio de sesión con AAD

  3. Según las instrucciones que aparecen en pantalla, inicie sesión en el escritorio de una de las siguientes maneras:
    • Escanee el código QR e introduzca el código.
    • Introduzca el nombre de usuario y la contraseña de AAD.

Cambiar al modo de inicio de sesión con cuenta/contraseña de AAD

De forma predeterminada, los agentes Linux VDA autentican a los usuarios de AAD con códigos de dispositivo. Para obtener más información, consulte este artículo de Microsoft. Para cambiar el modo de inicio de sesión a cuenta/contraseña de AAD, siga estos pasos:

Ejecute el siguiente comando en el VDA, busque la clave AADAcctPwdAuthEnable y cambie su valor a 0x00000001.

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -t "REG_DWORD" -v "AADAcctPwdAuthEnable" -d "0x00000001" --force

<!--NeedCopy-->

Nota:

Este enfoque no funciona con cuentas de Microsoft ni con cuentas que tienen habilitada la autenticación de dos factores.