Integrar Azure AD y el Servicio de autenticación federada

Introducción

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

Windows 10 introdujo Azure AD, que es un nuevo modelo para unirse a dominios, por el cual los portátiles móviles pueden unirse a un dominio de empresa a través de Internet con fines de administración y Single Sign-on.

El ejemplo de implementación en este documento describe un sistema donde TI proporciona a los nuevos usuarios una dirección de correo electrónico de la empresa y un código de inscripción para sus portátiles Windows 10 personales. Los usuarios acceden a este código desde la opción Sistema > Acerca de > Unirse a Azure AD en el panel Configuración.

Imagen localizada

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

Imagen localizada

Arquitectura

Esta arquitectura replica una red de empresa tradicional incluida totalmente dentro de Azure, integrada con tecnologías de nube modernas, tales como Azure AD y Office 365. Los usuarios finales se consideran todos trabajadores remotos, sin concepto de estar en una intranet de la oficina.

El modelo se puede aplicar a las empresas con sistemas existentes en las propias sedes, porque Azure Connect Synchronization puede establecer un puente con Azure a través de Internet.

Imagen localizada

Las conexiones seguras y Single Sign-On, que tradicionalmente se habrían establecido con autenticación Kerberos/NLTM y LAN con firewall, se sustituyen en esta arquitectura con conexiones TLS hacia Azure y SAML. Se crean nuevos servicios a medida que nuevas aplicaciones de Azure se unen a Azure AD. Las aplicaciones que requieren Active Directory (por ejemplo, una base de datos de SQL Server) se pueden ejecutar mediante una VM estándar de servidor de Active Directory en la porción de IAAS del Servicio de nube de Azure.

Cuando un usuario inicia una aplicación tradicional, el acceso tiene lugar usando aplicaciones publicadas de XenApp y XenDesktop. Los diferentes tipos de aplicaciones se intercalan a través de la página Aplicaciones de Azure del usuario con la ayuda de las funciones Single Sign-On de Microsoft Edge. Microsoft también proporciona aplicaciones de iOS y Android 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 controla la zona de delegación para el sufijo de nombre de dominio. Para realizar esta acción, el administrador puede usar la función de zona DNS en Azure.

En este ejemplo, se usa la zona DNS con el nombre “citrixsamldemo.net”.

Imagen localizada

La consola muestra los nombres de los servidores DNS de Azure. Estos deben tener referencia en las entradas NS del registrador DNS para la zona. Por ejemplo: citrixsamldemo.net. NS n1-01.azure-dns.com.

Al agregar referencias a las VM ejecutadas en Azure, lo más sencillo es usar un puntero CNAME que apunte al registro DNS administrado por Azure para la VM. Si la dirección IP de la VM cambia, no será necesario actualizar manualmente el archivo de zona DNS.

Los sufijos de ambas direcciones DNS interna y externa coincidirán en esta implementación. El dominio es citrixsamldemo.net y usan 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 de nube

En este ejemplo, se configura un entorno Citrix, que incluye un entorno AD con un servidor ADFS ejecutándose en Azure. Se crea un servicio de nube llamado “citrixsamldemo”.

Imagen localizada

Crear máquinas virtuales de Windows

Cree cinco máquinas virtuales Windows ejecutándose en el servicio de 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 dominio)
  • Citrix XenDesktop Delivery Controller (ddc)
  • Citrix XenDesktop Virtual Delivery Agent (vda)

Imagen localizada

Controlador de dominio

  • Agregue los roles 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 de dominio, agregue el rol Servicios de certificados de Active Directory.
  • Cree una cuenta de usuario normal para las pruebas (por ejemplo, Jorge@ citrixsamldemo.net).
  • Dado que este servidor ejecutará DNS interno, todos los servidores deben hacer referencia a este servidor para la resolución de DNS. Se logra desde la página Configuración DNS de Azure. (Para obtener más información, consulte el Apéndice en este documento.)

Controlador ADFS y servidor proxy de aplicaciones Web

  • Una el servidor ADFS al dominio citrixsamldemo. El servidor proxy de aplicaciones Web debe estar 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 la comunicación remota de PS a través de firewalls desde la herramienta Azure AD Connect.

Delivery Controller de XenDesktop y VDA

  • Instale XenApp o XenDesktop Delivery Controller y VDA en los otros dos servidores Windows unidos a citrixsamldemo.

Configurar un DNS interno

Después de que el controlador de dominio está instalado, configure el servidor DNS para controlar la vista de citrixsamldemo.net y actuar como un reenviador a un servidor DNS externo (por ejemplo: 8.8.8.8).

Imagen localizada

Agregue un registro estático para:

  • wap.citrixsamldemo.net [la VM de proxy de aplicaciones Web no estará unidad a un dominio]
  • fs.citrixsamldemo.net [dirección de servidor de federación interno]
  • enterpriseregistration.citrixsaml.net [lo mismo que fs.citrixsamldemo.net]

Todas las VM que se ejecutan en Azure deben estar configuradas para usar solo este servidor DNS. Puede hacerlo a través de la GUI de interfaz de red.

Imagen localizada

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

Configurar una dirección DNS externa

Cuando se está ejecutando una VM, Azure mantiene su propio servidor de zona DNS que apunta a la dirección IP pública actual asignada a la VM. Habilitar esta función resulta muy útil porque Azure asigna direcciones IP cuando cada VM se inicia, de manera 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 se complete la configuración remota, solo las VM del proxy de aplicaciones Web y de NetScaler deben tener direcciones IP públicas habilitadas. (Durante la configuración, la dirección IP pública se usa para el acceso RDP al entorno).

Configurar grupos de seguridad

La nube de Azure administra las reglas de firewall para el acceso TCP/UDP en las VM desde Internet utilizando grupos de seguridad. De forma predeterminada, todas las VM permiten el acceso RDP. Los servidores de NetScaler y el proxy de aplicaciones Web deben permitir TLS en el puerto 443.

Imagen localizada

Crear un certificado ADFS

Habilite la plantilla de certificado 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 pueden exportar (incluida la clave privada) a un archivo .pfx. Debe instalar este certificado en tanto en el servidor proxy de aplicaciones Web como en el servidor ADFS, por lo que un archivo PFX es la opción preferida.

Emita un certificado de servidor Web con los siguientes nombres de sujeto:

  • Commonname:
    • adfs.citrixsamldemo.net [nombre del equipo]
  • SubjectAltname:
    • *.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 por 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 directorio nuevo

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

Imagen localizada

Una vez completado, aparece 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 en Azure AD

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

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

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

Si quiere configurar ADFS para el inicio de sesión único Single Sign-on, marque la casilla correspondiente.

Imagen localizada

Instalar Azure AD Connect

El paso 2 de la interfaz de usuario de configuración de Azure AD le redirige a la página de descarga de Microsoft de Azure AD Connect. Instale esto en la VM de ADFS. Use Instalación personalizada, en lugar de Configuración rápida, para poder acceder a las opciones de ADFS.

Imagen localizada

Seleccione la opción Federación con AD FS como método SSO.

Imagen localizada

Conéctese a Azure con la cuenta de administrador que ha creado anteriormente.

Imagen localizada

Seleccione el bosque de AD interno.

Imagen localizada

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

Imagen localizada

Si la estructura de directorio es sencilla, puede asumir que los nombres de usuario serán lo suficientemente únicos para identificar al usuario que inicia una sesión.

Imagen localizada

Acepte las opciones de filtrado predeterminadas, o restrinja usuarios y dispositivos a un conjunto de grupos determinado.

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 de certificado PFX que se va a usar en ADFS, especificando fs.citrixsamldemo.net como nombre DNS.

Imagen localizada

Cuando se le pida seleccionar un servidor proxy, escriba la dirección del servidor wap.citrixsamldemo.net. Puede que deba ejecutar el cmdlet Enable-PSRemoting – Force como administrador en el servidor proxy de aplicaciones web, para que Azure AD Connect pueda configurarlo.

Imagen localizada

Nota: Si este paso falla debido a problemas de confianza con el PowerShell remoto, una el servidor proxy de aplicaciones web al dominio.

Para los pasos restantes del asistente, use las contraseñas estándar de administrador y cree una cuenta de servicio de ADFS. Azure AD Connect pedirá validar el propietario de la zona DNS.

Imagen localizada

Agregue los registros TXT y MX a los registros de direcciones DNS en Azure.

Imagen localizada

Haga clic en Verificar en la consola de administración de Azure.

Imagen localizada

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

Una vez completado, se contacta con la dirección externa fs.citrixsamldemo.net a través del puerto 443.

Imagen localizada

Habilitar la función Unirse a Azure AD

Cuando un usuario introduce una dirección de correo electrónico para que Windows 10 pueda unirse a Azure AD, se usa el sufijo DNS para crear un registro DNS CNAME que debe apuntar a ADFS: enterpriseregistration.<sufijoUPN>.

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

Imagen localizada

Si no está usando una entidad de certificación CA pública, asegúrese de que el certificado raíz de ADFS está instalado en el equipo con Windows 10 de modo que Windows confié en el servidor ADFS. Realice la unión con el dominio de Azure AD utilizando la cuenta de usuario estándar generada anteriormente.

Imagen localizada

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

Imagen localizada

Imagen localizada

Imagen localizada

Verifique si la unión al dominio de Azure AD tuvo éxito reiniciando la máquina e iniciando la sesión usando la dirección de correo electrónico del usuario. Una vez iniciada la sesión, abra Microsoft Edge y conéctese a https://myapps.microsoft.com. El sitio web debe utilizar Single Sign-On automáticamente.

Instalar XenApp o XenDesktop

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

En este ejemplo, StoreFront se instala en el mismo servidor que el Delivery Controller. El VDA se instala como una máquina de trabajo Windows 2012 R2 RDS independiente, sin integración con Machine Creation Services (aunque esto puede configurarse si se prefiere). Compruebe que el usuario Jorge@citrixsamldemo.net se puede autenticar con una contraseña, antes de continuar.

Imagen localizada

Ejecute el cmdlet Set-BrokerSite –TrustRequestsSentToTheXmlServicePort $true de PowerShell 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 del servicio de autenticación federada FAS (Federated Authentication Service) 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 de IIS para el puerto 443 y cambiando la dirección de base de datos de StoreFront a https:.

Imagen localizada

Configure StoreFront para usar el servidor de FAS (use el script de PowerShell en el artículo Servicio de autenticación federada), y haga pruebas internamente dentro de Azure, para asegurarse de que el inicio de sesión usa el servicio FAS consultando el visor de eventos en el servidor FAS.

Imagen localizada

Configurar StoreFront para usar NetScaler

Mediante la interfaz de usuario de Administrar métodos de autenticación en la consola de administración de StoreFront, configure StoreFront para que utilice NetScaler para realizar la autenticación.

Imagen localizada

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

Imagen localizada

Configurar una nueva aplicación de Azure AD para inicios Single Sign-On en StoreFront

En esta sección se usan las funciones de Single Sign-on de Azure AD SAML 2.0, que actualmente requieren una suscripción de Azure Active Directory Premium. En la herramienta de administración de Azure AD, seleccione Nueva aplicación y elija Agregar una aplicación de la galería.

Imagen localizada

Seleccione Personalizado > Agregar una aplicación que no figura en la lista que mi organización está usando para crear una nueva aplicación personalizada para los usuarios.

Configurar un icono

Cree una imagen de 215 x 215 píxeles de tamaño 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 introductoria Panel de la aplicación y seleccione Configurar Single Sign-On.

Imagen localizada

Esta implementación utilizará la autenticación SAML 2.0, que corresponde a Microsoft Azure AD Single Sign-On.

Imagen localizada

La cadena de identificación Identifier puede ser una cadena arbitraria (debe coincidir con la configuración suministrada a NetScaler); en este ejemplo, la URL de respuesta, Reply URL, es /cgi/samlauth en el servidor NetScaler.

Imagen localizada

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

Imagen localizada

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

Asignar la aplicación a los usuarios

El paso final es habilitar la aplicación de modo que aparezca en la página de control “myapps.microsoft.com” de los usuarios. Esto se realiza en la página Usuarios y grupos. Asigne acceso para las cuentas de usuarios de domino sincronizadas por Azure AD Connect. Otras cuentas también se puede usar, pero deben estar explícitamente asignadas porque no son conformes al formato <usuario>@<dominio>.

Imagen localizada

Página MyApps

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

Imagen localizada

Cuando está unido a Azure AD, Windows 10 admite el inicio de sesión único Single Sign-on en las aplicaciones de Azure para el usuario que inicie sesión. Al hacer clic en el icono, el explorador va a la página de SAML cgi/samlauth que se configuró anteriormente.

URL de Single Sign-on

Vuelva a la aplicación en el panel de mandos de Azure AD. Ahora hay una URL de Single Sign-on disponible para la aplicación. Esta dirección URL se utiliza para proporcionar enlaces de explorador Web o crear accesos directos del menú Inicio que llevan a los usuarios directamente a StoreFront.

Imagen localizada

Pegue la dirección URL en un explorador Web para asegurarse de que Azure AD le redirige a la página Web de NetScaler cgi/samlauth configurada anteriormente. Este sistema funciona solamente para los usuarios que se han asignado y ofrecerá inicio de sesión único Single Sign-on solo para sesiones de inicio de sesión en Windows 10 unido a Azure AD. (A otros usuarios se les pedirán credenciales de Azure AD.)

Instalar y configurar NetScaler Gateway

Para acceder de manera remota a la implementación, en este ejemplo se utiliza una VM independiente que ejecuta NetScaler. Esta VM se puede adquirir en Azure Store. En este ejemplo, se usa la opción “Bring your own License” de NetScaler 11.0.

Imagen localizada

Inicie sesión en la VM de NetScaler, apuntando el explorador Web a la dirección IP interna, usando las credenciales especificadas cuando el usuario se autenticó. Tenga en cuenta que se debe cambiar la contraseña del usuario nsroot en una VM de Azure AD.

Agregue licencias, seleccionando reboot después de agregar cada una de ellas, y apunte la resolución DNS al controlador de dominio de Microsoft.

Ejecute el asistente de instalación de XenApp y XenDesktop

Este ejemplo empieza configurando una integración simple de StoreFront sin SAML. Una vez que esta implementación está funcionando, agrega una directiva de inicio de sesión de SAML.

Imagen localizada

Seleccione los parámetros estándar de NetScaler de StoreFront. Para usarlo en Microsoft Azure, en este ejemplo se configura el puerto 4433, en lugar del puerto 443. De forma alternativa, puede redirigir el puerto o reasignar el sitio Web de administración de NetScaler.

Imagen localizada

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

Imagen localizada

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

El controlador de dominio se usará para la resolución de cuentas, por lo que hay que agregar su dirección IP en el método de autenticación principal. Tenga en cuenta el formato esperado en cada campo en el cuadro de diálogo.

Imagen localizada

Configurar la dirección de StoreFront

En este ejemplo, StoreFront se ha configurado usando HTTPS, por lo tanto, seleccione las opciones de protocolo SSL.

Imagen localizada

Verificar 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 el respaldo para la autenticación SAML

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

Imagen localizada

Configurar el servidor de identidades SAML, mediante la información obtenida de Azure AD previamente.

Imagen localizada

Verificar el sistema de extremo a extremo

Inicie sesión en un escritorio de Windows 10 unido a Azure AD, usando una cuenta registrada en Azure AD. Abra 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 hacer clic en el icono que se le redirige a un servidor StoreFront autenticado.

Del mismo modo, compruebe que las conexiones directas a través de la URL de Single Sign-on y una conexión directa con el sitio de NetScaler le redirigen a Microsoft Azure y viceversa.

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

Apéndice

Deben configurarse algunas opciones estándar al configurar una VM en Azure.

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

Azure da a todas las VM 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 Configuration en Public IP address/DNS name label. Elija una dirección DNS pública para la VM. Se puede usar para las referencias de CNAME en otros archivos de zona DNS, asegurándose de que todos los registros DNS quedan apuntando correctamente a la VM incluso aunque la dirección IP se reasigne.

Imagen localizada

Configurar las reglas de firewall (grupo de seguridad)

Cada VM en una nube tiene un conjunto de reglas de firewall que se aplican automáticamente, lo que se conoce como el grupo de seguridad. El grupo de seguridad controla el tráfico reenviado desde la dirección IP privada a la pública. De forma predeterminada, Azure permite el reenvío de RDP a todas las VM. Los servidores NetScaler y ADFS también deben reenviar el tráfico TLS (443).

Abra Network Interfaces en una VM, y luego haga clic en la etiqueta Network Security Group. Configure Inbound security rules para permitir el tráfico de red apropiado.

Imagen localizada

Información relacionada