Utilizar la autenticación Kerberos con SQL Server

El uso de la autenticación Kerberos con SQL Server requiere que se cumplan las siguientes condiciones:

  • Los equipos servidor y cliente deben formar parte del mismo dominio de Windows o estar en dominios de confianza.

  • Se debe registrar un Nombre principal de servicio (SPN) en Active Directory, suponiendo que la función del Centro de distribución de claves se encuentre en un dominio de Windows. El SPN, una vez registrado, se asigna a la cuenta de Windows que inició el servicio de la instancia de SQL Server. Si el registro del SPN no se ha realizado o ha provocado un error, el nivel de seguridad de Windows no podrá determinar la cuenta asociada al SPN y no se utilizará la autenticación Kerberos.

    Nota

    Si el servidor no puede registrar automáticamente el SPN, éste se deberá registrar manualmente.

Puede comprobar que una conexión está utilizando Kerberos consultando la vista de administración dinámica sys.dm_exec_connections. Ejecute la consulta siguiente y compruebe el valor de la columna auth_scheme, que será "KERBEROS" si Kerberos está habilitado.

SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid ;

La función del SPN en la autenticación

Cuando una aplicación abre una conexión y utiliza la autenticación de Windows, SQL Server Native Client pasará el nombre del servidor de SQL Server, el nombre de instancia y, opcionalmente, un SPN. Si la conexión pasa un SPN, se utilizará sin ningún cambio.

Si la conexión no pasa un SPN, se creará un SPN predeterminado basándose en el protocolo utilizado, el nombre del servidor y el nombre de instancia.

En los escenarios anteriores, el SPN se envía al Centro de distribución de claves con el fin de obtener un token de seguridad para autenticar la conexión. Si no se puede obtener un token de seguridad, la autenticación utilizará NTLM.