Sign-On Configuración único de AD FS

Un solo Sign-On (SSO) permite a los usuarios autenticarse una vez y acceder a varios recursos sin que se le pidan credenciales adicionales. En este artículo se describe el comportamiento predeterminado de AD FS para el inicio de sesión único, así como las opciones de configuración que permiten personalizar este comportamiento.

Tipos admitidos de single Sign-On

AD FS admite varios tipos de experiencias de Sign-On única:

  • SSO de sesión

    Las cookies de SSO de sesión se escriben para el usuario autenticado, lo que elimina más solicitudes cuando el usuario cambia las aplicaciones durante una sesión determinada. Sin embargo, si finaliza una sesión determinada, se volverá a solicitar al usuario sus credenciales.

    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 no es válida más.

  • SSO persistente

    Las cookies de SSO persistentes se escriben para el usuario autenticado, lo que elimina más solicitudes cuando el usuario cambia las aplicaciones siempre y cuando la cookie de SSO persistente sea válida. 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 rechazará y eliminará.

  • 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.

    Si se registra un dispositivo, AD FS establecerá la hora de expiración de un token de actualización en función de la duración persistente de las cookies de SSO para un dispositivo registrado que sea de forma predeterminada de 7 días para AD FS 2012R2 y hasta un máximo de 90 días con AD FS 2016 si usan su dispositivo para acceder a los recursos de AD FS en 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 persistente de las cookies de SSO para "mantener la sesión iniciada", que es de 1 día de forma predeterminada con un máximo de 7 días. De lo contrario, la duración del token de actualización es igual a la duración de la cookie de SSO de sesión, que es de 8 horas de forma predeterminada.

Como se mencionó anteriormente, 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. En el caso de los dispositivos no registrados, se puede lograr el inicio de sesión único persistente habilitando la característica "Mantener la sesión iniciada" (KMSI).

Para 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 acumulativo 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 escribirá 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á habilitado, el usuario final verá una opción "Mantener la sesión iniciada" en la página de inicio de sesión de AD FS.

AD FS 2016: dispositivos autenticados y Sign-On únicos

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). Después de proporcionar las credenciales por primera vez, de forma predeterminada, los usuarios con dispositivos registrados obtienen un único Sign-On durante un período 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. Si esperan 15 días después de proporcionar las credenciales, 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 escribirá 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 Sign-On único (90 días de forma predeterminada) se rige por la propiedad PersistentSsoLifetimeMins de AD FS.

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. Esto 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. Esto se puede configurar mediante 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)

Es importante tener en cuenta que, al proporcionar períodos relativamente largos de inicio de sesión único, AD FS solicitará autenticación adicional (autenticación multifactor) cuando un inicio de sesión anterior se basara en credenciales principales y no en MFA, pero el inicio de sesión actual requiere MFA. Esto es independientemente de la configuración de SSO. AD FS, cuando 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, si la solicitud procede de fuera) evaluará si el contexto de SSO contiene MFA o no. Si no es así, se solicita MFA.

Revocación de PSSO

Para proteger la seguridad, AD FS rechazará cualquier cookie de SSO persistente emitida anteriormente cuando se cumplan las condiciones siguientes. Esto requerirá que el usuario proporcione sus credenciales para volver a autenticarse con AD FS.

  • El usuario cambia la contraseña

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

  • El administrador deshabilita el dispositivo en caso perdido o robado.

  • AD FS recibe una cookie de inicio de sesión único persistente que se emite para un usuario registrado, pero el usuario o el dispositivo ya no está registrado.

  • AD FS recibe una cookie de inicio de sesión único persistente para un usuario registrado, pero el usuario vuelve a registrarse

  • 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 inicio de sesión único persistente que se emite para un usuario registrado, pero falta un certificado de dispositivo o se modifica durante la autenticación.

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

    Para establecer el tiempo límite, ejecute el siguiente cmdlet de PowerShell:

Set-AdfsProperties -PersistentSsoCutoffTime <DateTime>

Habilitación del inicio de sesión único de psso para que los usuarios de Office 365 accedan a SharePoint Online

Una vez que PSSO está habilitado y configurado en AD FS, AD FS escribirá una cookie persistente después de que un usuario se haya autenticado. La próxima vez que el usuario entre, si una cookie persistente sigue siendo válida, un usuario no necesita proporcionar credenciales para volver a autenticarse. También puede evitar la solicitud de autenticación adicional para Office 365 y SharePoint usuarios en línea configurando las dos reglas de notificaciones siguientes en AD FS para desencadenar la persistencia en Microsoft Azure AD y SharePoint Online. Para permitir que PSSO para Office 365 usuarios accedan a SharePoint en línea, debe instalar esta revisión que tambié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);

Para resumir:

Experiencia de inicio de sesión único ADFS 2012 R2
¿Está registrado el dispositivo?
ADFS 2016
¿Está registrado el dispositivo?
No NO, pero KMSI No NO, pero KMSI
SSO=>set Refresh Token=> 8 horas N/D N/D 8 horas N/D N/D
PSSO=>set Refresh Token=> N/D 24 horas 7 días N/D 24 horas Período máximo de 90 días con 14 días
Vigencia del token 1 horas 1 horas 1 horas 1 horas 1 horas 1 horas

¿Dispositivo registrado? Obtiene un SSO /Persistent SSO
¿No está registrado el dispositivo? Obtiene un inicio de sesión único.
¿No se ha registrado el dispositivo, pero KMSI? Obtiene un inicio de sesión único persistente de PSSO/

SI:

  • [x] El administrador ha habilitado la característica KMSI [AND]
  • [x] El usuario hace clic en 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 duración máxima de un token es de 84 días, pero AD FS mantiene el token válido en una ventana deslizante 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 emitirá un nuevo token de actualización.  

Bueno saber:
Los usuarios federados que no tienen sincronizado el atributo LastPasswordChangeTimestamp son cookies de sesión emitidas y tokens de actualización que tienen un valor de antigüedad máxima de 12 horas.
Esto ocurre porque Azure AD no puede determinar cuándo revocar tokens relacionados con una credencial antigua (por ejemplo, una contraseña que se ha cambiado). Por lo tanto, Azure AD debe comprobar con más frecuencia para asegurarse de que el usuario y los tokens asociados siguen estando en buen estado.