Un Inicio de Sesión (Login) se define a nivel de Instancia mientras que un Usuario se define a nivel de Base de Datos.
Un inicio de sesión es una entidad de seguridad o una entidad que puede ser autenticada por un sistema seguro.
Los usuarios necesitan iniciar sesión para conectarse a SQL Server.
Puede crear un inicio de sesión basado en una entidad de seguridad de Windows
O puede crear un inicio de sesión que no lo esté (como un inicio de sesión de SQL Server).
TIPOS DE INICIO DE SESION
Windows
} Usuario
} Grupo de usuarios
SQL Server
Certificado
Clave Asimétrica
OPCIONES DE ADMINISTRACIÓN
} Podemos forzar el cambio de contraseña en el primer inicio de sesión: MUST_CHANGE
} Exigir directivas de contraseña
} Desbloquear Cuentas: UNLOCK
} Deshabilitar un inicio de sesión: DISABLE
} Establecer una BD de conexión predeterminada
CREATE LOGIN
}CREATE LOGIN Pepe WITH PASSWORD = ‘Passwd' MUST_CHANGE
}CREATE LOGIN [UNICAN\pepe] FROM WINDOWS
DROP LOGIN / ALTER LOGIN
LA INFORMACIÓN SE ALMACENA EN:
sys.server_principals: Contiene una fila por cada entidad de seguridad del servidor.
sys.sql_logins: Devuelve una fila por cada inicio de sesión de SQL.
ROLES FIJOS DEL SERVIDOR
* Cada rol agrupa un conjunto de permisos
* Facilitan la administración de seguridad
* Se definen a nivel de servidor. Independiente, por tanto, de las bases de datos
*Un inicio de sesión puede pertenecer a cero o más roles de servidor
* Un inicio de sesión que pertenezca a un rol de servidor adquiere los permisos de ese rol
* Son fijos:
} No se pueden modificar sus permisos
} No pueden eliminarse
} No pueden añadirse nuevos roles de servidor
SEGURIDAD DE BASE DE DATOS
Los siguientes inicios de sesión pueden conectarse a una BD:
} sysadmin
} Propietario de la BD
} Usuarios de la BD
} Cualquier inicio de sesión si existe el usuario guest y tiene permiso
Usuario de BD
} Definido a nivel de BD
} Corresponde con un inicio de sesión
CONCEDER ACCESO A UNA BD
Pueden conceder permisos:
}sysadmin
}Propietario dela BD
}Usuario con rol db_owner
}Usuario con rol db_accessadmin
Al conceder acceso a un inicio de sesión a una base de datos:
Se crea el usuario correspondiente en esa BD
Pertenece al rol public
Para conceder permisos ‰ sp_grantdbaccess y sp_adduser
Para quitar el acceso ‰ sp_revokedbaccess
Para reasignar inicios de sesión con usuarios ‰ sp_change_users_login
Ver info de usuarios ‰ sp_helpuser
ROLES DEFINIDOS POR EL USUARIO
Agrupan un conjunto de permisos
No tienen permisos predefinidos
Los permisos se establecen por:
}Pertenencia a otros roles
}Permisos de sentencias
}Permisos específicos de objetos
Pueden ser:
}Rol estándar
}Rol de aplicación: establecer permisos a una aplicación sobre la BD
Los pueden gestionar: sysadmin, propietario de BD, db_owner, db_securityadmin
AUTENTICACIÓN
* Principio del mínimo privilegio
* Usar Autenticación Windows
* Si hay que emplear autenticación SQL:
}Políticas de contraseña en SQL server
*Para el acceso desde aplicaciones, definir un rol de aplicación
ENCRIPTADO
* Sopesar el uso de cifrado de datos
} Aceso a través de procedimientos almacenados
* Cifrado e Indexado
} No cifrar columnas con índices si es posible
Autor: Jordan King Rodriguez Mallqui
Código: 20092687B
Roles fijos de base de datos
Creación de un inicio de sesión
Asignación de un rol de servidor
Asignación de usuarios
Elementos que pueden proteger
Estado del inicio de sesión
USUARIO DE BASE DE DATOS
Crear un Usuario
}CREATE USER <usuario> FOR LOGIN<login> WITH DEFAULT_SCHEMA = <schema>
}Podemos crear un usuario sin asociar: WITHOUT LOGIN
Modificar
}ALTER USER
Eliminar
}DROP USER}No si es propietario de objetos
Invitado
}GRANT CONNECT TO GUEST
Información sobre usuarios en: sys.database_principals
ROLES O FUNCIONES DE BASE DE DATOS
*CREATE ROLE <nombre>
*Asignar a un usuario
} sp_addrolemember <role>,<usuario>
*Ver información en: sys.database_role_members
*Rol Public
Roles fijos de Servidor
Consejos de Buenas Practicas
Principales: entidades de seguridad:
Usuarios windows, usuarios sql server, Usuarios de BD
SEGURIDAD EN SQL SERVER 2008
Modelo de seguridad en SQL Server