Microsoft SQL Server 2016 ofrece a los administradores dos opciones para implementar cómo el sistema autenticará a los usuarios: Modo de autenticación de Windows o modo de autenticación mixta.
Autenticación de Windows significa que SQL Server valida la identidad de un usuario usando sólo su nombre de usuario y contraseña de Windows. Si el usuario ya ha sido autenticado por el sistema Windows, SQL Server no solicita una contraseña.
Modo mixto significa que SQL Server permite tanto la autenticación de Windows como la autenticación de SQL Server. La autenticación de SQL Server crea inicios de sesión de usuario no relacionados con Windows.
Conceptos básicos de autenticación
La autenticación es el proceso de confirmar la identidad de un usuario o de un ordenador. El proceso consta normalmente de cuatro pasos:
-
El usuario hace una declaración de identidad, generalmente proporcionando un nombre de usuario.
-
El sistema reta al usuario a probar su identidad. El reto más común es la solicitud de una contraseña.
-
El usuario responde a la impugnación aportando la prueba solicitada, normalmente una contraseña.
-
El sistema verifica que el usuario ha proporcionado pruebas aceptables, por ejemplo, comparando la contraseña con una base de datos de contraseñas local o utilizando un servidor de autenticación centralizado.
Para nuestra discusión sobre los modos de autenticación de SQL Server, el punto crítico se encuentra en el cuarto paso anterior: el punto en el que el sistema verifica la prueba de identidad del usuario. La elección de un modo de autenticación determina donde SQL Server va a verificar la contraseña del usuario.
Acerca de los modos de autenticación de SQL Server
Exploremos estos dos modos un poco más:
El modo de autenticación de Windows requiere que los usuarios proporcionen un nombre de usuario y una contraseña de Windows válidos para acceder al servidor de base de datos. Si se elige este modo, SQL Server desactiva la funcionalidad de inicio de sesión específica de SQL Server y la identidad del usuario se confirma únicamente a través de su cuenta de Windows. Este modo se denomina a veces seguridad integrada debido a la dependencia de SQL Server de Windows para la autenticación.
El modo de autenticación mixta permite el uso de credenciales de Windows pero las complementa con cuentas de usuario locales de SQL Server que el administrador crea y mantiene dentro de SQL Server. El nombre de usuario y la contraseña del usuario se almacenan en SQL Server, y los usuarios deben volver a autenticarse cada vez que se conectan.
Selección de un modo de autenticación
La mejor práctica recomendada por Microsoft es utilizar el modo de autenticación de Windows siempre que sea posible. La principal ventaja es que el uso de este modo le permite centralizar la administración de cuentas de toda su empresa en un solo lugar: Directorio Activo. Esto reduce drásticamente las posibilidades de error o descuido. Debido a que la identidad del usuario es confirmada por Windows, se pueden configurar cuentas específicas de usuarios y grupos de Windows para iniciar sesión en SQL Server. Además, la autenticación de Windows utiliza cifrado para autenticar a los usuarios de SQL Server.
La autenticación de SQL Server, por otro lado, permite que los nombres de usuario y las contraseñas se pasen a través de la red, haciéndolos menos seguros. Este modo puede ser una buena opción, sin embargo, si los usuarios se están conectando desde diferentes dominios no confiables o cuando se utilizan aplicaciones de Internet menos seguras, como ASP.NET.
>.Por ejemplo, considere el escenario en el que un administrador de bases de datos de confianza abandona su organización en condiciones poco amistosas. Si utiliza el modo de autenticación de Windows, la revocación del acceso de ese usuario se produce automáticamente al deshabilitar o eliminar la cuenta de Active Directory del DBA.
Si utiliza el modo de autenticación mixta, no sólo debe desactivar la cuenta de Windows del DBA, sino que también debe revisar los listados de usuarios locales de cada servidor de base de datos para asegurarse de que no existen cuentas locales en las que el DBA pueda conocer la contraseña. Eso es mucho trabajo!
En resumen, el modo que elija afecta tanto al nivel de seguridad como a la facilidad de mantenimiento de las bases de datos de su organización.