Configuración de inicio de sesión único de AD FS

Se aplica a: Windows Server (todas las versiones compatibles)

El inicio de sesión único (SSO) permite a los usuarios autenticarse una vez y acceder a varios recursos sin que se pidan más credenciales. En este artículo se describe el comportamiento predeterminado de AD FS para el inicio de sesión único y las opciones de configuración que le permiten personalizar este comportamiento.

Tipos admitidos de inicio de sesión único

AD FS admite varios tipos de experiencias de inicio de sesión único:

  • SSO de sesión

    El SSO de sesión elimina las solicitudes adicionales cuando el usuario cambia de aplicación durante una sesión concreta. Si finaliza una sesión determinada, se le pedirá al usuario que vuelva a solicitar sus credenciales. Las cookies de SSO de sesión se escriben para el usuario autenticado.

    AD FS establecerá cookies de SSO de sesión de forma predeterminada si los dispositivos de los usuarios no están registrados. Si la sesión del explorador ha finalizado y se reinicia, esta cookie de sesión se elimina y ya no es válida.

  • SSO persistente

    El SSO persistente elimina las solicitudes adicionales cuando el usuario cambia de aplicación mientras la cookie de SSO persistente sea válida. Las cookies de SSO persistentes se escriben para el usuario autenticado. La diferencia entre el inicio de sesión único persistente y el SSO de sesión es que el inicio de sesión único persistente se puede mantener en distintas sesiones.

    AD FS establecerá cookies de SSO persistentes si el dispositivo está registrado. AD FS también establecerá una cookie de SSO persistente si un usuario selecciona la opción "Mantener la sesión iniciada". Si la cookie de SSO persistente ya no es válida, se rechaza y se elimina.

  • Inicio de sesión único específico de la aplicación

    En el escenario de OAuth, se usa un token de actualización para mantener el estado de inicio de sesión único del usuario dentro del ámbito de una aplicación determinada.

    AD FS establecerá la hora de expiración de un token de actualización en función de la duración de la cookie de SSO persistente para un dispositivo registrado. De forma predeterminada, la duración de las cookies es de siete días para AD FS en Windows Server 2012 R2. La duración predeterminada de las cookies para AD FS en Windows Server 2016 es hasta un máximo de 90 días si el dispositivo se usa para acceder a los recursos de AD FS dentro de un período de 14 días.

Si el dispositivo no está registrado, pero un usuario selecciona la opción "Mantener la sesión iniciada", la hora de expiración del token de actualización será igual a la duración de la cookie de SSO persistente para "Mantener la sesión iniciada". La duración de las cookies de SSO persistente es un día de forma predeterminada con un máximo de siete días. De lo contrario, la duración del token de actualización es igual a la duración de las cookies de SSO de sesión (8 horas de forma predeterminada).

Los usuarios de dispositivos registrados siempre obtendrán un inicio de sesión único persistente a menos que el inicio de sesión único persistente esté deshabilitado. Para dispositivos no registrados, se puede lograr el inicio de sesión único persistente habilitando la característica "Mantener la sesión iniciada" (KMSI).

En el caso de Windows Server 2012 R2, para habilitar PSSO para el escenario " Mantener la sesión iniciada", debe instalar esta revisión, que también forma parte del paquete de actualizaciones de agosto de 2014 para Windows RT 8.1, Windows 8.1 y Windows Server 2012 R2.

Tarea PowerShell Descripción
Habilitación o deshabilitación del inicio de sesión único persistente Set-AdfsProperties –EnablePersistentSso <Boolean> El inicio de sesión único persistente está habilitado de forma predeterminada. Si está deshabilitado, no se crea ninguna cookie de PSSO.
"Habilitar o deshabilitar "mantener la sesión iniciada" Set-AdfsProperties –EnableKmsi <Boolean> La característica "Mantener la sesión iniciada" está deshabilitada de forma predeterminada. Si está habilitada, el usuario verá la opción " Mantener la sesión iniciada" en la página de inicio de sesión de AD FS

AD FS 2016: inicio de sesión único y dispositivos autenticados

AD FS 2016 cambia el PSSO cuando el solicitante se autentica desde un dispositivo registrado aumentando hasta un máximo de 90 días, pero requiere una autenticación en un período de 14 días (ventana de uso del dispositivo). Tras proporcionar las credenciales por primera vez, de manera predeterminada los usuarios con dispositivos registrados obtienen el inicio de sesión único durante un periodo máximo de 90 días, siempre que usen el dispositivo para acceder a los recursos de AD FS al menos una vez cada 14 días. Después de 15 días, se volverá a solicitar a los usuarios las credenciales.

El inicio de sesión único persistente está habilitado de forma predeterminada. Si está deshabilitado, no se crea ninguna cookie de PSSO.|

Set-AdfsProperties –EnablePersistentSso <Boolean\>

La ventana de uso del dispositivo (14 días de forma predeterminada) se rige por la propiedad de AD FS DeviceUsageWindowInDays.

Set-AdfsProperties -DeviceUsageWindowInDays

El período máximo de inicio de sesión único (90 días de forma predeterminada) se rige por la propiedad de AD FS PersistentSsoLifetimeMins.

Set-AdfsProperties -PersistentSsoLifetimeMins

Mantener la sesión iniciada para dispositivos no autenticados

En el caso de los dispositivos no registrados, el período de inicio de sesión único viene determinado por la configuración de la característica Mantener la sesión iniciada (KMSI). KMSI está deshabilitado de forma predeterminada y se puede habilitar estableciendo la propiedad de AD FS KmsiEnabled en True.

Set-AdfsProperties -EnableKmsi $true

Con KMSI deshabilitado, el período de inicio de sesión único predeterminado es de 8 horas. El período de inicio de sesión único se puede configurar mediante la propiedad SsoLifetime. La propiedad se mide en minutos, por lo que su valor predeterminado es 480.

Set-AdfsProperties –SsoLifetime <Int32\>

Con KMSI habilitado, el período de inicio de sesión único predeterminado es de 24 horas. El periodo de inicio de sesión único con KMSI habilitado puede configurarse usando la propiedad KmsiLifetimeMins. La propiedad se mide en minutos, por lo que su valor predeterminado es 1440.

Set-AdfsProperties –KmsiLifetimeMins <Int32\>

Comportamiento de la autenticación multifactor (MFA)

AD FS proporciona períodos relativamente largos de inicio de sesión único. Es importante tener en cuenta que AD FS solicitará más autenticación (autenticación multifactor) cuando un inicio de sesión anterior se base en credenciales principales (no MFA), pero el inicio de sesión actual requiera MFA. Este comportamiento es independientemente de la configuración del inicio de sesión único. Cuando AD FS recibe una solicitud de autenticación, primero determina si hay o no un contexto de SSO (por ejemplo, una cookie) y, a continuación, si se requiere MFA. Por ejemplo, se requiere MFA cuando la solicitud de autenticación procede del exterior. En tal caso, AD FS evalúa si el contexto de SSO contiene o no MFA. Si no es así, se solicita MFA.

Revocación de PSSO

Para proteger la seguridad, AD FS rechaza cualquier cookie de SSO persistente emitida previamente cuando se cumplen las siguientes condiciones:

  • El usuario cambia la contraseña

  • La configuración de SSO persistente está deshabilitada en AD FS

  • El administrador desactiva el dispositivo en caso de pérdida o robo

  • AD FS recibe una cookie de SSO persistente, que se emite para un usuario registrado, pero el usuario o el dispositivo ya no se registra

  • AD FS recibe una cookie de SSO persistente para un usuario registrado pero el usuario se vuelve a registrar

  • AD FS recibe una cookie de inicio de sesión único persistente, que se emite como resultado de la opción "Mantener la sesión iniciada", pero la opción "mantener la sesión iniciada" está deshabilitada en AD FS

  • AD FS recibe una cookie de SSO persistente, que se emite para un usuario registrado, pero falta el certificado del dispositivo o se altera durante la autenticación

  • El administrador de AD FS ha establecido un tiempo límite para el inicio de sesión único persistente. Con un tiempo límite configurado, AD FS rechazará cualquier cookie de inicio de sesión único persistente emitida antes de este tiempo

El rechazo de una cookie de SSO persistente requiere que el usuario proporcione sus credenciales para volver a autenticarse con AD FS.

Para establecer el tiempo de corte, ejecute el siguiente cmdlet de PowerShell:

Set-AdfsProperties -PersistentSsoCutoffTime <DateTime>

Habilite PSSO para que los usuarios de Office 365 accedan a SharePoint Online

Después de habilitar y configurar PSSO, AD FS crea una cookie persistente inmediatamente después de la autenticación del usuario. PSSO evita la necesidad de volver a autenticarse en sesiones posteriores, siempre y cuando la cookie siga siendo válida.

Los usuarios también pueden evitar solicitudes de autenticación adicionales para Office 365 y SharePoint Online. Configure las dos reglas de notificaciones siguientes en AD FS para desencadenar la persistencia en Microsoft Entra ID y SharePoint Online. Para habilitar PSSO para que los usuarios Office 365 accedan a SharePoint Online, instale esta revisión. Forma parte del paquete acumulativo de actualizaciones de agosto de 2014 para Windows RT 8.1, Windows 8.1 y Windows Server 2012 R2.

Una regla de transformación de emisión para pasar a través de la notificación InsideCorporateNetwork

@RuleTemplate = "PassThroughClaims"
@RuleName = "Pass through claim - InsideCorporateNetwork"
c:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork"]
=> issue(claim = c);
A custom Issuance Transform rule to pass through the persistent SSO claim
@RuleName = "Pass Through Claim - Psso"
c:[Type == "https://schemas.microsoft.com/2014/03/psso"]
=> issue(claim = c);

En resumen:

Experiencia de inicio de sesión único ADFS 2012 R2
¿Está registrado el dispositivo?
ADFS 2016
¿Está registrado el dispositivo?
No, pero KMSI sí No, pero KMSI sí
SSO=>set Refresh Token=> 8 horas n/a n/a 8 horas n/a n/a
PSSO=>set Refresh Token=> n/a 24 horas 7 días n/a 24 horas Máx. 90 días con un período de 14 días
Duración del token 1 h 1 h 1 h 1 h 1 h 1 h

¿Dispositivo registrado? Obtiene PSSO / SSO persistente.

¿Dispositivo no registrado? Obtiene SSO.

¿Dispositivo no registrado pero sí KMSI? Obtiene PSSO / SSO persistente.

SI:

  • [x] Administración ha habilitado la característica KMSI [Y]
  • [x] El usuario activa la casilla KMSI en la página de inicio de sesión de formularios

  AD FS emite un nuevo token de actualización solo si la validez del token de actualización más reciente es mayor que el token anterior. La vida máxima de un token es de 84 días, pero AD FS mantiene la validez de los tokens en una ventana variable de 14 días. Si el token de actualización es válido durante 8 horas, que es el tiempo de inicio de sesión único normal, no se emite un nuevo token de actualización.

Información útil:

Los usuarios federados que no tienen sincronizado el atributo LastPasswordChangeTimestamp reciben cookies de sesión y tokens de actualización que tienen un valor Max Age of 12 hours (Antigüedad máxima de 12 horas).

Las cookies de la sesión y los tokens de actualización con valor de antigüedad máximo se emiten porque Microsoft Entra ID no puede determinar cuándo revocar los tokens relacionados con una credencial antigua. Este comportamiento podría deberse a una contraseña que se ha cambiado, por ejemplo. Microsoft Entra ID debe comprobar con más frecuencia que el usuario y los tokens asociados siguen siendo válidos.