SSPI es una tecnología de Windows
para la autenticación segura con inicio de sesión único. PostgreSQL
utilizará SSPI en modo negotiate, que utilizará
Kerberos cuando sea posible y volverá automáticamente
a NTLM en otros casos. SSPI
y GSSAPI interoperan como clientes y servidores; por
ejemplo, un cliente SSPI puede autenticarse ante un servidor
GSSAPI. Se recomienda utilizar SSPI
en clientes y servidores Windows y GSSAPI en plataformas
que no sean Windows.
Cuando se utiliza la autenticación de Kerberos, SSPI funciona del mismo modo que lo hace GSSAPI; consulta la sección Section 20.6 para más detalles.
Se admiten las siguientes opciones de configuración para SSPI:
include_realm
Si se configura como 0, el nombre del reino del principal de usuario autenticado se
elimina antes de pasarse a través del mapa de nombres de usuario
(Section 20.2). Esto se desaconseja y está disponible
principalmente por compatibilidad con versiones anteriores, ya que no es seguro en entornos
multirreino a menos que también se utilice krb_realm. Se recomienda
dejar include_realm configurado con el valor por defecto (1) y
proporcionar una asignación explícita en pg_ident.conf para convertir
los nombres de principal en nombres de usuario de PostgreSQL.
compat_realm
Si se configura como 1, se utiliza el nombre compatible con SAM del dominio (también conocido como
nombre NetBIOS) para la opción include_realm. Este es el valor por defecto.
Si se configura como 0, se utiliza el nombre de reino verdadero del nombre de principal del usuario
Kerberos.
No desactives esta opción a menos que tu servidor se ejecute bajo una cuenta de dominio (esto incluye cuentas de servicio virtuales en un sistema miembro de dominio) y todos los clientes que se autentican a través de SSPI también estén utilizando cuentas de dominio; de lo contrario, la autenticación fallará.
upn_username
Si esta opción se habilita junto con compat_realm, el nombre de usuario
del UPN de Kerberos se utiliza para la autenticación. Si está desactivada (el valor por
defecto), se utiliza el nombre de usuario compatible con SAM. Por defecto, estos dos nombres
son idénticos para las nuevas cuentas de usuario.
Ten en cuenta que libpq utiliza el nombre compatible con SAM si no se especifica ningún nombre de usuario explícito. Si utilizas libpq o un controlador basado en él, debes dejar esta opción desactivada o especificar explícitamente el nombre de usuario en la cadena de conexión.
map
Permite la asignación entre nombres de usuario del sistema y de la base de datos. Consulta la
sección Section 20.2 para más detalles. Para un principal de SSPI/Kerberos,
como [email protected] (o, menos comúnmente,
username/[email protected]), el nombre de usuario utilizado para la
asignación es [email protected] (o
username/[email protected], respectivamente), a menos que
include_realm se haya configurado como 0, en cuyo caso
username (o username/hostbased) es lo que se ve como
nombre de usuario del sistema al realizar la asignación.
krb_realmEstablece el reino con el que se compararán los nombres de los principales de los usuarios. Si se configura este parámetro, solo se aceptarán los usuarios de ese reino. Si no se configura, pueden conectarse usuarios de cualquier reino, sujetos a la asignación de nombres de usuario que se realice.