Saltar al contenido principal

Kerberos/SPNEGO para SAML

SSO a través de un IdP SAML y Kerberos/SPNEGO

Kerberos/SPNEGO permite a los usuarios autenticarse en Passwork sin introducir manualmente un login y una contraseña. En este escenario, Passwork es el SP, el proveedor de identidad externo es el IdP, y el IdP verifica al usuario mediante la integración Kerberos con el servicio de directorio.

Passwork no realiza la autenticación Kerberos ni decide si debe usarse el inicio de sesión transparente. Passwork solo envía un SAML AuthnRequest al IdP y acepta el SAML Response en el ACS.

Qué debe proporcionarse en la infraestructura

  • El IdP acepta el AuthnRequest de Passwork y devuelve un SAML Response al ACS de Passwork.
  • La integración SAML con Passwork está configurada correctamente en el lado del IdP: Entity ID, URL del ACS, certificados/firmas.
  • El IdP está conectado a un servicio de directorio o a una infraestructura de identidad que admite autenticación Kerberos.
  • Las credenciales Kerberos/SPNEGO para el servicio HTTP del IdP están preparadas según los requisitos del IdP concreto: service principal, SPN, keytab, cuenta de servicio u otro mecanismo admitido.
  • Los usuarios y los principales Kerberos están correctamente asignados a las cuentas del servicio de directorio.
  • Los dispositivos cliente reciben un ticket Kerberos para la dirección del IdP.
  • Los navegadores confían en la dirección del IdP para Integrated Authentication/SPNEGO mediante políticas del SO, GPO, MDM o configuración local.
  • DNS, TLS y la red no interrumpen las redirecciones SAML ni el acceso del navegador al IdP.
  • El IdP define las condiciones para usar Kerberos/SPNEGO y el comportamiento de fallback cuando esas condiciones no se cumplen.

Acciones en Passwork

No se requieren ajustes adicionales de Passwork para el escenario IdP SAML + Kerberos/SPNEGO.

Passwork debe tener configurada una integración SAML estándar con el IdP. Todas las condiciones del inicio de sesión transparente se definen en el lado del IdP, en el servicio de directorio, en la infraestructura Kerberos y en los dispositivos cliente.

Requisitos del servicio de directorio

El servicio de directorio o la infraestructura relacionada debe admitir autenticación Kerberos y permitir que el IdP verifique el ticket Kerberos del usuario. Por ejemplo, puede ser Active Directory, FreeIPA u otra infraestructura en la que se use un directorio LDAP junto con un KDC Kerberos.

Si solo se usa LDAP sin un KDC Kerberos, la autenticación transparente mediante SPNEGO no es posible. En ese caso, el IdP verificará el login y la contraseña a través de LDAP.

Flujo de autenticación universal

  1. El usuario hace clic en Sign in with SSO en Passwork.
  2. Passwork crea un SAML AuthnRequest y redirige el navegador al IdP.
  3. El IdP comprueba las condiciones y realiza la autenticación Kerberos/SPNEGO (o el fallback).
  4. El navegador envía el ticket Kerberos al IdP sin que el usuario introduzca manualmente un login y una contraseña.
  5. El IdP verifica el ticket, asigna al usuario y crea un SAML Response.
  6. El IdP devuelve el SAML Response al ACS de Passwork (/api/v1/sso/acs).
  7. Passwork valida la respuesta, asigna al usuario y abre una sesión.