Integración de Azure AD con el Servicio de autenticación federada

Introducción

Este documento describe cómo integrar un entorno Citrix® con la función Azure AD de Windows 10.

Windows 10 introdujo Azure AD, que es un nuevo modelo de unión a dominios en el que los equipos portátiles itinerantes pueden unirse a un dominio corporativo a través de Internet con fines de administración e inicio de sesión único.

La implementación de ejemplo de este documento describe un sistema en el que el departamento de TI proporciona a los nuevos usuarios una dirección de correo electrónico corporativa y un código de inscripción para sus equipos portátiles personales con Windows 10. Los usuarios acceden a este código a través de la opción Sistema > Acerca de > Unirse a Azure AD en el panel Configuración.

imagen localizada

Una vez inscrito el equipo portátil, el explorador web Microsoft Edge inicia sesión automáticamente en los sitios web de la empresa y en las aplicaciones publicadas de Citrix a través de la página web de aplicaciones SaaS de Azure, junto con otras aplicaciones de Azure como Office 365.

imagen localizada

Arquitectura

Esta arquitectura replica una red de empresa tradicional completamente dentro de Azure, integrándose con tecnologías de nube modernas como Azure AD y Office 365. Todos los usuarios finales se consideran trabajadores remotos, sin el concepto de estar en una intranet de oficina.

El modelo se puede aplicar a empresas con sistemas locales existentes, ya que la sincronización de Azure AD Connect puede establecer un puente con Azure a través de Internet.

imagen localizada

Las conexiones seguras y el inicio de sesión único, que tradicionalmente habrían sido una LAN con firewall y autenticación Kerberos/NTLM, se reemplazan en esta arquitectura por conexiones TLS a Azure y SAML. Los nuevos servicios se crean como aplicaciones de Azure unidas a Azure AD. Las aplicaciones existentes que requieren Active Directory (como una base de datos de SQL Server) se pueden ejecutar utilizando una máquina virtual de servidor de Active Directory estándar en la parte IAAS del servicio en la nube de Azure.

Cuando un usuario inicia una aplicación tradicional, se accede a ella mediante aplicaciones publicadas de XenApp y XenDesktop®. Los diferentes tipos de aplicaciones se recopilan a través de la página Aplicaciones de Azure del usuario, utilizando las funciones de inicio de sesión único de Microsoft Edge. Microsoft también proporciona aplicaciones para Android e iOS que pueden enumerar e iniciar aplicaciones de Azure.

Crear una zona DNS

Azure AD requiere que el administrador haya registrado una dirección DNS pública y controle la zona de delegación para el sufijo del nombre de dominio. Para ello, el administrador puede usar la función de zona DNS de Azure.

Este ejemplo utiliza el nombre de zona DNS “citrixsamldemo.net.”

imagen localizada

La consola muestra los nombres de los servidores de nombres DNS de Azure. Estos deben referenciarse en las entradas NS del registrador DNS para la zona (por ejemplo, citrixsamldemo.net. NS n1-01.azure-dns.com)

Al añadir referencias a máquinas virtuales que se ejecutan en Azure, lo más fácil es usar un puntero CNAME al registro DNS administrado por Azure para la máquina virtual. Si la dirección IP de la máquina virtual cambia, no necesitará actualizar manualmente el archivo de zona DNS.

Los sufijos de dirección DNS internos y externos coincidirán para esta implementación. El dominio es citrixsamldemo.net y utiliza un DNS dividido (10.0.0.* internamente).

Agregue una entrada “fs.citrixsamldemo.net” que haga referencia al servidor proxy de aplicación web. Este es el Servicio de federación para esta zona.

Crear un servicio en la nube

Este ejemplo configura un entorno Citrix, incluido un entorno de AD con un servidor ADFS que se ejecuta en Azure. Se crea un Servicio en la nube, denominado “citrixsamldemo.”

imagen localizada

Crear máquinas virtuales Windows

Cree cinco máquinas virtuales Windows que se ejecuten en el Servicio en la nube:

  • Controlador de dominio (domaincontrol)
  • Servidor ADFS de Azure Connect (adfs)
  • Proxy de acceso web de ADFS (Proxy de aplicación web, no unido a un dominio)
  • Citrix XenDesktop Controlador de entrega™ (ddc)
  • Citrix XenDesktop Agente de entrega virtual (vda)

imagen localizada

Controlador de dominio

  • Agregue los roles de Servidor DNS y Servicios de dominio de Active Directory para crear una implementación estándar de Active Directory (en este ejemplo, citrixsamldemo.net). Una vez completada la promoción del dominio, agregue el rol de Servicios de certificación de Active Directory.
  • Cree una cuenta de usuario normal para realizar pruebas (por ejemplo, George@citrixsamldemo.net).
  • Dado que este servidor ejecutará DNS interno, todos los servidores deben hacer referencia a este servidor para la resolución de DNS. Esto se puede hacer a través de la página de configuración de DNS de Azure. (Para obtener más información, consulte el Apéndice de este documento).

Controlador de ADFS y servidor proxy de aplicación web

  • Una el servidor ADFS al dominio citrixsamldemo. El servidor proxy de aplicación web debe permanecer en un grupo de trabajo aislado, por lo que debe registrar manualmente una dirección DNS con el DNS de AD.
  • Ejecute el cmdlet Enable-PSRemoting –Force en estos servidores para permitir el acceso remoto de PS a través de firewalls desde la herramienta AzureAD Connect.

Controlador de entrega de XenDesktop y VDA

  • Instale el controlador de entrega de XenApp® o XenDesktop y el VDA en los dos servidores Windows restantes unidos a citrixsamldemo.

Configurar un DNS interno

Una vez instalado el controlador de dominio, configure el servidor DNS para que gestione la vista interna de citrixsamldemo.net y actúe como reenviador a un servidor DNS externo (por ejemplo: 8.8.8.8).

imagen localizada

Añada un registro estático para:

  • wap.citrixsamldemo.net [la VM de Web Application Proxy no estará unida al dominio]
  • fs.citrixsamldemo.net [dirección interna del servidor de federación]
  • enterpriseregistration.citrixsaml.net [igual que fs.citrixsamldemo.net]

Todas las máquinas virtuales que se ejecutan en Azure deben configurarse para usar solo este servidor DNS. Puede hacerlo a través de la GUI de la interfaz de red.

imagen localizada

De forma predeterminada, la dirección IP interna (10.0.0.9) se asigna dinámicamente. Puede usar la configuración de direcciones IP para asignar la dirección IP de forma permanente. Esto debe hacerse para el servidor proxy de aplicaciones web y el controlador de dominio.

Configurar una dirección DNS externa

Cuando una máquina virtual está en ejecución, Azure mantiene su propio servidor de zona DNS que apunta a la dirección IP pública actual asignada a la máquina virtual. Esta es una característica útil para habilitar porque Azure asigna direcciones IP cuando se inicia cada máquina virtual, de forma predeterminada.

imagen localizada

Este ejemplo asigna una dirección DNS de domaincontrol-citrixsamldemo.westeurope.cloudapp.azure.com al controlador de dominio.

Tenga en cuenta que cuando la configuración remota esté completa, solo las máquinas virtuales de Web Application Proxy y NetScaler® deben tener habilitadas las direcciones IP públicas. (Durante la configuración, la dirección IP pública se utiliza para el acceso RDP al entorno).

Configurar grupos de seguridad

La nube de Azure gestiona las reglas de firewall para el acceso TCP/UDP a las máquinas virtuales desde Internet mediante grupos de seguridad. De forma predeterminada, todas las máquinas virtuales permiten el acceso RDP. Los servidores NetScaler y Web Application Proxy también deben permitir TLS en el puerto 443.

imagen localizada

Crear un certificado ADFS

Habilite la plantilla de certificado de Servidor web en la entidad de certificación (CA) de Microsoft. Esto permite la creación de un certificado con direcciones DNS personalizadas que se puede exportar (incluida la clave privada) a un archivo pfx. Debe instalar este certificado tanto en los servidores ADFS como en los de Web Application Proxy, por lo que el archivo PFX es la opción preferida.

Emita un certificado de Servidor web con los siguientes nombres de asunto:

  • Nombre común:
    • adfs.citrixsamldemo.net [nombre del equipo]
  • Nombre alternativo del asunto:
    • *.citrixsamldemo.net [nombre de la zona]
    • fs.citrixsamldemo. net [entrada en DNS]
    • enterpriseregistration.citrixsamldemo.net

imagen localizada

Exporte el certificado a un archivo pfx, incluida una clave privada protegida con contraseña.

Configurar Azure AD

Esta sección detalla el proceso de configuración de una nueva instancia de Azure AD y la creación de identidades de usuario que se pueden usar para unir Windows 10 a Azure AD.

Crear un nuevo directorio

Inicie sesión en el portal clásico de Azure y cree un nuevo directorio.

imagen localizada

Cuando se complete, aparecerá una página de resumen.

imagen localizada

Crear un usuario administrador global (AzureAdmin)

Cree un administrador global en Azure (en este ejemplo, AzureAdmin@citrixsamldemo.onmicrosoft.com) e inicie sesión con la nueva cuenta para configurar una contraseña.

imagen localizada

Registrar su dominio con Azure AD

De forma predeterminada, los usuarios se identifican con una dirección de correo electrónico con el formato: <nombre.de.usuario>@<empresa>.onmicrosoft.com.

Aunque esto funciona sin más configuración, es mejor una dirección de correo electrónico con formato estándar, preferiblemente una que coincida con la cuenta de correo electrónico del usuario final: <nombre.de.usuario>@<empresa>.com

La acción Agregar dominio configura una redirección desde el dominio real de su empresa. El ejemplo utiliza citrixsamldemo.net.

Si está configurando ADFS para el inicio de sesión único, habilite la casilla de verificación.

imagen localizada

Instalar Azure AD Connect

El paso 2 de la GUI de configuración de Azure AD redirige a la página de descarga de Microsoft para Azure AD Connect. Instálelo en la VM de ADFS. Utilice la instalación personalizada, en lugar de la configuración rápida, para que las opciones de ADFS estén disponibles.

imagen localizada

Seleccione la opción de inicio de sesión único Federación con AD FS.

imagen localizada

Conéctese a Azure con la cuenta de administrador que creó anteriormente.

imagen localizada

Seleccione el bosque de AD interno.

imagen localizada

Sincronice todos los objetos de Active Directory heredados con Azure AD.

imagen localizada

Si la estructura del directorio es sencilla, puede confiar en que los nombres de usuario son lo suficientemente únicos para identificar a un usuario que inicia sesión.

imagen localizada

Acepte las opciones de filtrado predeterminadas, o restrinja los usuarios y dispositivos a un conjunto de grupos específico.

imagen localizada

Si lo desea, puede sincronizar las contraseñas de Azure AD con Active Directory. Esto normalmente no es necesario para la autenticación basada en ADFS.

imagen localizada

Seleccione el archivo PFX del certificado que se utilizará en AD FS, especificando fs.citrixsamldemo.net como nombre DNS.

Imagen localizada

Cuando se le pida que seleccione un servidor proxy, introduzca la dirección del servidor wap.citrixsamldemo.net. Es posible que deba ejecutar el cmdlet Enable-PSRemoting –Force como administrador en el servidor Web Application Proxy para que Azure AD Connect pueda configurarlo.

Imagen localizada

Nota: Si este paso falla debido a problemas de confianza de Remote PowerShell, intente unir el servidor Web Application Proxy al dominio.

Para los pasos restantes del asistente, utilice las contraseñas de administrador estándar y cree una cuenta de servicio para ADFS. Azure AD Connect le pedirá entonces que valide la propiedad de la zona DNS.

Imagen localizada

Agregue los registros TXT y MX a los registros de dirección DNS en Azure.

Imagen localizada

Haga clic en Verify en la Azure Management Console.

Imagen localizada

Nota: Si este paso falla, puede verificar el dominio antes de ejecutar Azure AD Connect.

Cuando se complete, se contactará con la dirección externa fs.citrixsamldemo.net a través del puerto 443.

Imagen localizada

Habilitar Azure AD Join

Cuando un usuario introduce una dirección de correo electrónico para que Windows 10 pueda realizar la unión a Azure AD, el sufijo DNS se utiliza para construir un registro CNAME DNS que debe apuntar a ADFS: enterpriseregistration.<upnsuffix>.

En el ejemplo, esto es fs.citrixsamldemo.net.

imagen localizada

Si no utiliza una CA pública, asegúrese de que el certificado raíz de ADFS esté instalado en el equipo con Windows 10 para que Windows confíe en el servidor ADFS. Realice una unión a un dominio de Azure AD utilizando la cuenta de usuario estándar generada anteriormente.

imagen localizada

Tenga en cuenta que el UPN debe coincidir con el UPN reconocido por el controlador de dominio de ADFS.

imagen localizada

imagen localizada

imagen localizada

Verifique que la unión a Azure AD se realizó correctamente reiniciando la máquina e iniciando sesión con la dirección de correo electrónico del usuario. Una vez iniciada la sesión, inicie Microsoft Edge y conéctese a https://myapps.microsoft.com. El sitio web debería usar el inicio de sesión único automáticamente.

Instalar XenApp o XenDesktop

Puede instalar las máquinas virtuales Delivery Controller y VDA en Azure directamente desde la ISO de XenApp o XenDesktop de la forma habitual.

En este ejemplo, StoreFront está instalado en el mismo servidor que el Delivery Controller. El VDA se instala como un trabajador RDS de Windows 2012 R2 independiente, sin integrarse con Machine Creation Services (aunque esto se puede configurar opcionalmente). Compruebe que el usuario George@citrixsamldemo.net puede autenticarse con una contraseña antes de continuar.

imagen localizada

Ejecute el cmdlet de PowerShell Set-BrokerSite –TrustRequestsSentToTheXmlServicePort $true en el Controller para permitir que StoreFront™ se autentique sin las credenciales de los usuarios.

Instalar el Servicio de autenticación federada

Instale el componente Federated Authentication Service (FAS) en el servidor ADFS y configure una regla para que el Controller actúe como un StoreFront de confianza.

imagen localizada

imagen localizada

Configurar StoreFront

Solicite un certificado de equipo para el Delivery Controller y configure IIS y StoreFront para usar HTTPS estableciendo un enlace IIS para el puerto 443 y cambiando la dirección base de StoreFront a https:.

imagen localizada

Configure StoreFront para usar el servidor FAS (utilice el script de PowerShell del artículo Federated Authentication Service), y pruebe internamente en Azure, asegurándose de que el inicio de sesión utilice el FAS comprobando el visor de eventos en el servidor FAS.

imagen localizada

Configurar StoreFront para usar NetScaler

Mediante la GUI de Manage Authentication Methods en la consola de administración de StoreFront, configure StoreFront para que use NetScaler para realizar la autenticación.

imagen localizada

Para integrar las opciones de autenticación de NetScaler, configure una Secure Ticket Authority (STA) y configure la dirección de NetScaler Gateway.

imagen localizada

Configurar una nueva aplicación de Azure AD para el inicio de sesión único en StoreFront

Esta sección utiliza las funciones de inicio de sesión único (SAML 2.0) de Azure AD, que actualmente requieren una suscripción a Azure Active Directory Premium. En la herramienta de administración de Azure AD, seleccione New Application y elija Add an application from the Gallery.

imagen localizada

Seleccione PERSONALIZADO > Agregar una aplicación no listada que mi organización está usando para crear una nueva aplicación personalizada para sus usuarios.

Configurar un icono

Cree una imagen de 215 por 215 píxeles y cárguela en la página CONFIGURAR para usarla como icono de la aplicación.

imagen localizada

Configurar la autenticación SAML

Vuelva a la página de información general del panel de la aplicación y seleccione Configurar inicio de sesión único.

imagen localizada

Esta implementación utilizará la autenticación SAML 2.0, que corresponde a Inicio de sesión único de Microsoft Azure AD.

imagen localizada

El Identificador puede ser una cadena arbitraria (debe coincidir con la configuración proporcionada a NetScaler); en este ejemplo, la URL de respuesta es /cgi/samlauth en el servidor NetScaler.

imagen localizada

La siguiente página contiene información que se utiliza para configurar NetScaler como parte de confianza para Azure AD.

imagen localizada

Descargue el certificado de firma de confianza base 64 y copie las URL de inicio y cierre de sesión. Las pegará en las pantallas de configuración de NetScaler más adelante.

Asignar la aplicación a los usuarios

El último paso es habilitar la aplicación para que aparezca en la página de control “myapps.microsoft.com” de los usuarios. Esto se hace en la página USUARIOS Y GRUPOS. Asigne acceso a las cuentas de usuario de dominio sincronizadas por Azure AD Connect. También se pueden usar otras cuentas, pero deben asignarse explícitamente porque no se ajustan al patrón <user>@<domain>.

imagen localizada

Página de MyApps

Cuando la aplicación se ha configurado, aparece en las listas de aplicaciones de Azure de los usuarios cuando visitan https://myapps.microsoft.com.

imagen localizada

Cuando está unido a Azure AD, Windows 10 admite el inicio de sesión único en las aplicaciones de Azure para el usuario que inicia sesión. Al hacer clic en el icono, el navegador se dirige a la página web SAML cgi/samlauth que se configuró anteriormente.

URL de inicio de sesión único

Vuelva a la aplicación en el panel de Azure AD. Ahora hay una URL de inicio de sesión único disponible para la aplicación. Esta URL se utiliza para proporcionar enlaces de navegador web o para crear accesos directos en el menú Inicio que llevan a los usuarios directamente a StoreFront.

imagen localizada

Pegue esta URL en un navegador web para asegurarse de que Azure AD le redirige a la página web cgi/samlauth de NetScaler configurada anteriormente. Esto solo funciona para los usuarios a los que se les ha asignado, y solo proporcionará inicio de sesión único para las sesiones de inicio de sesión de Windows 10 unidas a Azure AD. (A otros usuarios se les solicitarán las credenciales de Azure AD).

Instalar y configurar NetScaler Gateway

Para acceder de forma remota a la implementación, este ejemplo utiliza una máquina virtual independiente que ejecuta NetScaler. Esto se puede adquirir en Azure Store. Este ejemplo utiliza la versión “Traiga su propia licencia” de NetScaler 11.0.

imagen localizada

Inicie sesión en la máquina virtual de NetScaler, apuntando un navegador web a la dirección IP interna, utilizando las credenciales especificadas cuando el usuario se autenticó. Tenga en cuenta que debe cambiar la contraseña del usuario nsroot en una máquina virtual de Azure AD.

Añada licencias, seleccionando reiniciar después de añadir cada archivo de licencia, y apunte el resolvedor DNS al controlador de dominio de Microsoft.

Ejecute el asistente de configuración de XenApp y XenDesktop

Este ejemplo comienza configurando una integración sencilla de StoreFront sin SAML. Una vez que esa implementación funcione, añade una directiva de inicio de sesión SAML.

imagen localizada

Seleccione la configuración estándar de NetScaler StoreFront. Para su uso en Microsoft Azure, este ejemplo configura el puerto 4433, en lugar del puerto 443. Alternativamente, puede reenviar puertos o reasignar el sitio web administrativo de NetScaler.

imagen localizada

Para simplificar, el ejemplo carga un certificado de servidor existente y una clave privada almacenados en un archivo.

imagen localizada

Configure el controlador de dominio para la administración de cuentas de AD

El controlador de dominio se utilizará para la resolución de cuentas, así que añada su dirección IP al método de autenticación principal. Tenga en cuenta los formatos esperados en cada campo del cuadro de diálogo.

imagen localizada

Configure la dirección de StoreFront

En este ejemplo, StoreFront se ha configurado utilizando HTTPS, así que seleccione las opciones del protocolo SSL.

imagen localizada

Verifique la implementación de NetScaler

Conéctese a NetScaler y compruebe que la autenticación y el inicio se realizan correctamente con el nombre de usuario y la contraseña.

Imagen localizada

Habilitar la compatibilidad con la autenticación SAML de NetScaler

El uso de SAML con StoreFront es similar al uso de SAML con otros sitios web. Agregue una nueva directiva SAML, con una expresión de NS_TRUE.

Imagen localizada

Configure el nuevo servidor IdP de SAML, utilizando la información obtenida de Azure AD anteriormente.

Imagen localizada

Verificar el sistema de extremo a extremo

Inicie sesión en un escritorio de Windows 10 unido a Azure AD, utilizando una cuenta registrada en Azure AD. Inicie Microsoft Edge y conéctese a: https://myapps.microsoft.com.

El explorador web debe mostrar las aplicaciones de Azure AD para el usuario.

Imagen localizada

Compruebe que al hacer clic en el icono se le redirige a un servidor StoreFront autenticado.

Del mismo modo, compruebe que las conexiones directas mediante la URL de inicio de sesión único y una conexión directa al sitio de NetScaler le redirigen a Microsoft Azure y de vuelta.

Finalmente, compruebe que las máquinas no unidas a Azure AD también funcionan con las mismas URL (aunque habrá un único inicio de sesión explícito en Azure AD para la primera conexión).

Apéndice

Se deben configurar varias opciones estándar al configurar una máquina virtual en Azure.

Proporcionar una dirección IP pública y una dirección DNS

Azure asigna a todas las máquinas virtuales una dirección IP en la subred interna (10.*.*.* en este ejemplo). De forma predeterminada, también se proporciona una dirección IP pública, a la que se puede hacer referencia mediante una etiqueta DNS actualizada dinámicamente.

imagen localizada

Seleccione Configuración de la etiqueta de dirección IP pública/nombre DNS. Elija una dirección DNS pública para la máquina virtual. Esto se puede usar para referencias CNAME en otros archivos de zona DNS, lo que garantiza que todos los registros DNS sigan apuntando correctamente a la máquina virtual, incluso si la dirección IP se reasigna.

imagen localizada

Configurar reglas de firewall (grupo de seguridad)

Cada máquina virtual en la nube tiene un conjunto de reglas de firewall aplicadas automáticamente, conocido como grupo de seguridad. El grupo de seguridad controla el tráfico reenviado de la dirección IP pública a la privada. De forma predeterminada, Azure permite que RDP se reenvíe a todas las máquinas virtuales. Los servidores NetScaler y ADFS también deben reenviar tráfico TLS (443).

Abra Interfaces de red para una máquina virtual y, a continuación, haga clic en la etiqueta Grupo de seguridad de red. Configure las Reglas de seguridad de entrada para permitir el tráfico de red adecuado.

imagen localizada

Información relacionada