Papel de la base de datos de configuración de AD FS
La base de datos de configuración de AD FS almacena todos los datos de configuración que representan una sola instancia de los Servicios de federación de Active Directory (AD FS) (es decir, el Servicio de federación). La base de datos de configuración de AD FS define el conjunto de parámetros que un servicio de federación necesita para identificar asociados, certificados, almacenes de atributos, notificaciones y diversos datos sobre estas entidades asociadas. Puede almacenar estos datos de configuración en una base de datos de Microsoft SQL Server® o en la función Windows Internal Database (WID) que se incluye con Windows Server® 2012 o versiones superiores.
Nota
El contenido completo de la base de datos de configuración de AD FS se puede almacenar en una instancia de WID o en una instancia de la base de datos de SQL, pero no en ambas. Eso significa que no puedes hacer que unos servidores de federación usen WID y otros usen una base de datos de SQL Server para la misma instancia de la base de datos de configuración de AD FS.
Puedes usar la información de este tema además del contenido de Consideraciones sobre la topología de implementación de AD FS para conocer las ventajas y desventajas de elegir WID o SQL Server para almacenar la base de datos de configuración de AD FS:
WID usa un almacén de datos relacional y no tiene su propia interfaz de usuario de administración. En su lugar, los administradores pueden modificar el contenido de la base de datos de configuración de AD FS usando el complemento de administración de AD FS, Fsconfig.exe, o los cmdlets de Windows PowerShell™.
Usar WID para almacenar la base de datos de configuración de AD FS
Puede crear la base de datos de configuración de AD FS usando WID como almacén usando la línea de comandos Fsconfig.exe o el Asistente para configurar el servidor de federación de AD FS. Cualquiera de estas herramientas permite elegir las siguientes opciones para crear la topología del servidor de federación. Cada una de estas opciones usa WID para almacenar la base de datos de configuración de AD FS:
Crear un servidor de federación independiente
Crear el primer servidor de federación en una granja de servidores de federación
Agregar un servidor de federación a una granja de servidores de federación
Si seleccionas la opción de servidor independiente, se usa WID para almacenar una única instancia de la base de datos de configuración de AD FS. Esta instancia no se puede compartir entre varios servidores de federación. Está pensada solo para entornos de laboratorio de pruebas. Para obtener más información sobre la opción de servidor de federación independiente o cómo configurar uno, consulta Servidor de federación independiente con WID o Crear un servidor de federación independiente.
Si seleccionas la opción del primer servidor de federación en una granja de servidores de federación, WID se configura para escalabilidad, que permite agregar más servidores de federación a la granja más adelante. Para obtener más información sobre cómo implementar una granja de servidores WID o cómo configurar una, consulta Granja de servidores de federación con WID o Crear el primer servidor de federación en una granja de servidores de federación.
Si seleccionas la opción de agregar un servidor de federación, WID se configura para replicar los cambios de la base de datos de configuración al nuevo servidor de federación a los intervalos establecidos. Para obtener más información sobre cómo agregar un servidor a una granja de servidores WID, consulta Granja de servidores de federación con WID o Agregar un servidor de federación a una granja de servidores de federación.
Nota
Al implementar una granja de servidores de federación mediante WID, algunas características de AD FS podrían no estar disponibles. Para tener acceso a todas las características para configurar la granja de servidores, considera la posibilidad de usar Microsoft SQL Server para almacenar la base de datos de configuración de AD FS. Para obtener más información, consulta Consideraciones sobre la topología de implementación de AD FS.
Cómo funciona una granja de servidores de federación WID
En esta sección se describen conceptos importantes que explican cómo la granja de servidores de federación WID replica los datos entre un servidor de federación principal y los servidores de federación secundarios. .
Servidor de federación principal
Un servidor de federación principal es un equipo que ejecuta Windows Server 2012 o una versión superior que se ha configurado en el rol de servidor de federación usando el Asistente para configurar el servidor de federación de AD FS y que tiene una copia de lectura y escritura de la base de datos de configuración de AD FS. El servidor de federación principal se crea cuando usa el Asistente para configuración de servidor de federación de AD FS, selecciona la opción para crear un servicio de federación y elige ese equipo como primer servidor de federación de la granja de servidores. Todos los demás servidores de federación de la granja, también conocidos como servidores de federación secundarios, deben sincronizar los cambios que se realicen en el servidor de federación principal con la copia de la base de datos de configuración de AD FS que está almacenada localmente.
Servidores de federación secundarios
Los servidores de federación secundarios almacenan una copia de la base de datos de configuración de AD FS del servidor de federación principal, pero estas copias son de solo lectura. Los servidores de federación secundarios se conectan con los datos del servidor de federación principal de la granja y sincronizan los datos sondeándolo a intervalos regulares para comprobar si los datos han cambiado. Los servidores de federación secundarios existen para proporcionar tolerancia a los errores para el servidor de federación principal mientras actúan para equilibrar la carga de las solicitudes de acceso que se realizan en diferentes sitios del entorno de red.
Sincronización de la base de datos de configuración de AD FS
Debido al importante papel que juega la base de datos de configuración de AD FS, está disponible en todos los servidores de federación de la red para proporcionar funcionalidades de tolerancia a los errores y equilibrio de carga en el procesamiento de solicitudes (cuando se usan equilibradores de carga de red). Sin embargo, para que los servidores de federación secundarios cumplan esta función, la base de datos de configuración de AD FS que está almacenada en el servidor de federación principal se debe sincronizar.
Cuando se agrega un servidor de federación a la granja, el nuevo equipo que se convierte en un servidor de federación secundario se conecta al servidor de federación principal para replicar la copia de la base de datos de configuración de AD FS. A partir de este punto, el nuevo servidor de federación continúa extrayendo las actualizaciones del servidor de federación principal de forma regular, como se muestra en la ilustración siguiente.
Todos los servidores de federación secundarios sondean el servidor de federación principal cada cinco minutos para comprobar si hay cambios. Puedes ajustar este valor predeterminado de cinco minutos o aplicar una sincronización inmediata en cualquier momento con un cmdlet de Windows PowerShell. Para más información acerca de cómo hacer esto, vea Administración de AD FS con Windows PowerShell.
El proceso de sincronización de WID también admite transferencias incrementales para una transferencia más eficiente de los cambios intermedios. El proceso de transferencia incremental requiere mucho menos tráfico en la red y las transferencias se completan mucho más rápidamente.
Nota
Se permite migrar una base de datos de configuración de AD FS desde WID a una instancia de SQL Server. Para obtener más información sobre cómo hacerlo, consulte AD FS: Migración de la base de datos de configuración de AD FS a SQL Server en el sitio wiki de TechNet.
Administración de las propiedades de sincronización de AD FS
En esta sección se describe cómo ver y editar las propiedades de sincronización de la base de datos de configuración de AD FS. .
El cmdlet Get-ADFSSyncProperties obtiene las propiedades de sincronización de la base de datos de configuración de Servicios de federación de Active Directory (AD FS).
PS C:\> Get-ADFSSyncProperties
En el servidor de AD FS principal, este cmdlet solo mostrará que el rol es el equipo principal. En un miembro secundario, se mostrará el resto de la configuración, incluido el nombre de dominio completo de la última sincronización desde el equipo principal, el estado y la hora de la última sincronización, la duración del sondeo, el nombre del equipo principal configurado actualmente, el puerto de equipo principal y el rol del equipo secundario.
El cmdlet Set-ADFSSyncProperties modifica la frecuencia de la sincronización de la base de datos de configuración de Servicios de federación de Active Directory (AD FS). El cmdlet también especifica qué servidor de federación es el servidor principal de la granja de servidores de federación.
Nota
Si un servidor de federación principal se bloquea y se desconecta, todos los servidores de federación secundarios continuarán procesando las solicitudes normalmente. Sin embargo, no se pueden realizar cambios el servicio de federación hasta que el servidor de federación principal se vuelva a poner en línea. También puedes designar un servidor de federación secundario como servidor de federación principal mediante Windows PowerShell. Si designa un nuevo servidor principal, se deben modificar los servidores restantes para reflejar el nuevo servidor principal. Tener 2 principales con una granja de WID afectará a la estabilidad de la granja con la posibilidad de perder datos.
Modificación de la duración del sondeo de una granja
PS C:\> Set-AdfsSyncProperties -PollDuration 3600 -PrimaryComputerName "FederationServerPrimary"
Este comando modifica la sincronización de la base de datos a 3600 segundos. El comando realiza el cambio en el servidor de federación principal.
Cambio de un servidor de secundario a principal
PS C:\> Set-AdfsSyncProperties -Role "PrimaryComputer"
Este comando cambia un servidor de AD FS en una granja de WID de secundario a principal.
Cambio de un servidor principal a un servidor secundario
PS C:\> Set-AdfsSyncProperties -Role "SecondaryComputer" -PrimaryComputerName "<FQDN of primary server>"
Este comando cambia un servidor de AD FS principal de una granja de WID a un servidor secundario. Debe escribir el nombre de dominio completo del servidor principal. Si no lo hace, es posible que no todos los servidores de AD FS secundarios se sincronicen correctamente. Nota: El servidor principal debe ser accesible a través de HTTP en el puerto 80 desde el servidor secundario.
Para más información, vea: Set-AdfsSyncProperties
Usar SQL Server para almacenar la base de datos de configuración de AD FS
Puedes crear la base de datos de configuración de AD FS usando una única instancia de una base de datos de SQL Server como almacén, con la herramienta de línea de comandos Fsconfig.exe. Usar una base de datos de SQL Server como base de datos de configuración de AD FS tiene algunas ventajas respecto a WID:
Los administradores pueden aprovechar las características de alta disponibilidad de SQL Server
Proporciona incrementos adicionales del rendimiento para un volumen de tráfico alto.
Proporciona compatibilidad con características de resolución de artefactos SAML y detección de reproducción de tokens de SAML/WS-Federation (se describe más adelante).
El término “servidor de federación principal” no se aplica cuando la base de datos de configuración de AD FS se almacena en una instancia de base de datos de SQL, ya que todos los servidores de federación pueden leer y escribir por igual en la base de datos de configuración de AD FS que está usando la misma instancia de SQL Server en clúster, como se muestra en la siguiente ilustración.
Puede usar SQL Server para configurar dos o más servidores para que trabajen juntos como un clúster de servidores a fin de garantizar que AD FS ofrezca una alta disponibilidad a las solicitudes de cliente de servicio entrantes. La alta disponibilidad proporciona una arquitectura de escalabilidad horizontal cuya capacidad de servidores se puede aumentar agregando servidores adicionales. Los puntos de concentración de errores se mitigan gracias a la conmutación por error automática del clúster.
Para lograr una alta disponibilidad, usa los servicios de equilibrio de carga y de conmutación por error que las tecnologías de clúster de SQL proporcionan. Para más información sobre cómo configurar SQL Server para lograr alta disponibilidad, vea Información general de las soluciones de alta disponibilidad Información general de soluciones de alta disponibilidad.
Resolución de artefactos SAML
La resolución de artefactos del Lenguaje de marcado de aserción de seguridad (SAML) es un extremo basado en la parte del protocolo SAML 2.0 que describe cómo un usuario de confianza puede recuperar un token directamente de un proveedor de notificaciones. En la primera etapa del proceso de resolución, un cliente de explorador se pone en contacto con un servidor de federación de recursos y le proporciona un artefacto. En la segunda etapa, los servidores de federación de recursos envía el artefacto a la dirección URL del extremo del artefacto SAML que está hospedado en algún lugar de la organización del asociado de cuenta para resolver el mensaje del artefacto. En la etapa final, el servidor de federación de cuenta emite el token al servidor de federación en nombre del cliente de explorador.
Nota
Si es administrador en una organización asociada de cuenta, asegúrese de asignar o enlazar un certificado SSL, que se encadena a un certificado raíz de un miembro del Programa de certificados raíz de Windows, al sitio web pasivo de federación en IIS (<NombreDelEquipo>\Sites\Default Web Site\adfs\ls) en todos los servidores de federación de cuenta de la granja. Esto es importante para impedir que los servidores de federación de recursos tengan que agregar manualmente el certificado SSL al almacén de certificados Usuarios de confianza de equipos locales o que no sean capaces de resolver el artefacto publicado en tu organización.
SAML/WS: Detección de reproducción de token de federación
El término reproducción de tokens hace referencia al acto por el que un cliente de explorador en una organización del asociado de cuenta intenta enviar varias veces el mismo token que recibió de un servidor de federación de cuenta para autenticarse en un servidor de federación de recursos. Esto se produce cuando un usuario hace clic en el botón Atrás de su explorador en un intento de reenviar la página de autenticación.
AD FS incluye una característica denominada detección de reproducción de tokens que permite detectar y descartar varias solicitudes de token que usan el mismo token. Cuando esta característica está habilitada, la detección de reproducción de tokens garantiza que el mismo token no se use nunca más de una vez para proteger la integridad de las solicitudes de autenticación, tanto en el perfil pasivo de WS-Federation como en el perfil de SAML WebSSO. Esta característica debe habilitarse también cuando la seguridad sea un aspecto muy preocupante, por ejemplo, cuando se usan quioscos.
En el ejemplo del quiosco, un usuario puede cerrar sesión en todos los sitios web y, después, un usuario malicioso puede intentar usar el historial de exploración para reenviar la página de autenticación federada que el usuario anterior cargó. Esta característica reduce esta preocupación porque almacena información adicional acerca de cada autenticación correcta realizada por una organización del asociado de cuenta con el fin de detectar posteriores reproducciones del token y evitar que los múltiples intentos de autenticación se realicen correctamente.