Los inicios de sesión son las credenciales que permiten la autenticación de las conexiones con una instancia. Un usuario de la base de datos debe contar con un inicio de sesión de SQL Server existente. Se puede diferenciar los inicios de sesión de SQL Server en función al tipo de método de autenticación utilizado. SQL Server admite los siguientes tipos de inicio de sesión:
- Windows authenticated login
- SQL Server authenticated login
- Certificate
- Asymmetric key
El usuario que administra las credenciales debe tener el permiso ALTER ANY LOGIN.
Es importante recordar que existe una diferencia entre Logins y Usuarios de la base de datos.
Windows Authenticated SQL Server Logins
Inicio de Sesión autenticado por Windows, son aquellos donde el sistema operativo se encarga de la validación de la credenciales. Esta puede darse desde una cuenta local del equipo o mediante un usuario de Dominio, en ese caso la autenticación es validada por las políticas de seguridad del dominio. Es frecuente que en las compañías grandes se trabaje con la autenticacion por usuario del dominio ya que forma parte de su directorio activo y políticas de seguridad centralizadas. Estos inicios de sesión también pueden darse por grupo de seguridad donde se reúnen usuarios que cumplen con características y requerimientos similares, por ejemplo Operadores, Analistas, Jefaturas como también por áreas Recursos Humanos, Contabilidad, Comercial, etc.
Una de las funciones del Administrador de base de datos es crear las políticas de membresía para estos grupos, la complejidad de la contraseña y las políticas de caducidad para sus miembros.
/*Crea un Login desde una cuenta del equipo Local*/ use MASTER go CREATE LOGIN 'EQUIPOLOCAL\Mario' FROM WINDOWS go /*Crea un Login desde un grupo del equipo Local*/ CREATE LOGIN 'EQUIPOLOCAL\Administradores' FROM WINDOWS go /*Crea un Login desde una cuenta de Dominio*/ CREATE LOGIN 'MiDominio\Mario' FROM WINDOWS go /*Crea un Login desde un grupo de Dominio*/ CREATE LOGIN 'MiDominio\PersonalVentas' FROM WINDOWS go
SQL Server Authenticated Logins
Inicio de sesión autenticado por el servicio de la instancia SqlServer en lugar del equipo o controlador de dominio. Se debe verificar que esta opción se encuentre habilitada en la administración del servidor. Para crear un Login con autenticacion de SqlServer podemos usar el siguiente código.
use Master go CREATE LOGIN CarlosMachado WITH PASSWORD = 'Pa$$w0rd'; go
Se puede añadir a la creación políticas de complejidad de contraseña y expiración.
use Master go CREATE LOGIN CarlosMachado WITH PASSWORD = 'Pa$$w0rd' CHECK_EXPIRATION = ON, EXPIRY_DATE = '12/05/2025'; go
Para mayor información podrías revisar el siguiente link.