Usuarios, Roles, Encriptacin y Back Up de la base de datos. Luis Carlos Campos Carrin Creacin de un nuevo Usuario 1. Dar clic en Seguridad. 2. Dar clic derecho en Logins.
Creacin de un nuevo Usuario Clic en New Login Creacin de un nuevo Usuario Se muestra el siguiente cuadro de dilogo Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario Finalmente se muestra el Usuario creado. Sin embargo, este an no funciona, para ello se deben de hacer unos cambios. Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario
Creacin de un nuevo Usuario Como crear un Usuario con cdigo. 1)Se crea el inicio de sesin. CREATE LOGIN Prueba WITH PASSWORD = 'Passwd Crea un usuario de base de datos para el inicio de sesin creado anteriormente. CREATE USER Prueba FOR LOGIN Prueba; Roles SQL Server Cada rol agrupa un conjunto de permisos Facilitan la admn. de seguridad Se definen a nivel de servidor. Independiente, por tanto, de las bases de datos Un inicio de sesin puede pertenecer a cero o ms roles de servidor Un inicio de sesin 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 aadirse nuevos roles de servidor Roles a nivel de servidor Rol Descripcin sysadmin Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor. serveradmin Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuracin del servidor y apagarlo. securityadmin Los miembros del rol fijo de servidor securityadmin administran los inicios de sesin y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. Tambin pueden administrar los permisos de nivel de base de datos GRANT, DENY y REVOKE si tienen acceso a una base de datos. Asimismo, pueden restablecer las contraseas para los inicios de sesin de SQL Server. processadmin Los miembros del rol fijo de servidor processadmin pueden finalizar los procesos que se ejecuten en una instancia de SQL Server. setupadmin Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados. bulkadmin Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instruccin BULK INSERT. Roles a nivel de servidor Rol Descripcin diskadmin El rol fijo de servidor diskadmin se usa para administrar archivos de disco. dbcreator Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos. public Cada inicio de sesin de SQL Server pertenece al rol de servidor public. Cuando a una entidad de seguridad de servidor no se le han concedido ni denegado permisos especficos para un objeto protegible, el usuario hereda los permisos concedidos al rol public para ese objeto. Solo asigne permisos pblicos en cualquier objeto cuando desee que el objeto est disponible para todos los usuarios. No puede cambiar la pertenencia en public. Roles a nivel de Base de Datos Rol Descripcin db_owner Los miembros del rol fijo de base de datos db_owner pueden realizar todas las actividades de configuracin y mantenimiento en la base de datos y tambin pueden quitar la base de datos. db_securitya dmin Los miembros del rol fijo de base de datos db_securityadmin pueden modificar la pertenencia a roles y administrar permisos. Si se agregan entidades de seguridad a este rol, podra habilitarse un aumento de privilegios no deseado. db_accessa dmin Los miembros del rol fijo de base de datos db_accessadmin pueden agregar o quitar el acceso a la base de datos para inicios de sesin de Windows, grupos de Windows e inicios de sesin de SQL Server. db_backupo perator Los miembros del rol fijo de base de datos db_backupoperator pueden crear copias de seguridad de la base de datos. Roles a nivel de Base de Datos Rol Descripcin db_ddladmi n Los miembros del rol fijo de base de datos db_ddladmin pueden ejecutar cualquier comando del lenguaje de definicin de datos (DDL) en una base de datos. db_datawrite r Los miembros del rol fijo de base de datos db_datawriter pueden agregar, eliminar o cambiar datos en todas las tablas de usuario. db_dataread er Los miembros del rol fijo de base de datos db_datareader pueden leer todos los datos de todas las tablas de usuario. db_denydata writer Los miembros del rol fijo de base de datos db_denydatawriter no pueden agregar, modificar ni eliminar datos de tablas de usuario de una base de datos. db_denydata reader Los miembros del rol fijo de base de datos db_denydatareader no pueden leer datos de las tablas de usuario dentro de una base de datos. 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 especficos de objetos Pueden ser: Rol estndar Rol de aplicacin: establecer permisos a una aplicacin sobre la BD Los pueden gestionar: sysadmin, propietario de BD, db_owner, db_securityadmin Crear un Rol con Cdigo CREATE ROLE compradores AUTHORIZATION Prueba;
Asignar un Rol a un Usuario.
sp_addrolemember compradores,Prueba Crear un Rol
Crear un Rol
Crear un Rol
Restriccin de Usuario (Permisos)
Restriccin de Usuario (Permisos)
Restriccin de Usuario (Permisos)
Restriccin de Usuario (Permisos)
Restriccin de Usuario (Permisos) con cdigo Permitir a un usuario crear una base de datos y tablas. GRANT CREATE DATABASE, CREATE TABLE TO Prueba
Permitir a un usuario Insertar, modificar y eliminar registros de una tabla. GRANT INSERT, UPDATE, DELETE ON dbo.authors TO Prueba Restriccin de Usuario (Permisos) con cdigo Permitir a un usuario actualizar un nico campo de una tabla. GRANT UPDATE( phone ) ON dbo.authors TO Prueba Permitir a un usuario Insertar, modificar y eliminar registros de una tabla. GRANT INSERT, UPDATE, DELETE ON dbo.authors TO Prueba Restriccin de Usuario (Revocar Permisos) con cdigo Impedir que el usuario pueda crear vistas de una tabla. REVOKE CREATE VIEW TO Prueba Impedir que un usuario pueda eliminar. REVOKE DELETE TO Prueba Restriccin de Usuario (Denegar Permisos) con cdigo Denegar a un usuario el permiso de seleccionar. DENY SELECT TO Prueba Denegar a un usuario el permiso de crear tablas. DENY CREATE TABLE TO Prueba Encriptacin de datos para qu? Evitar acceso a datos sensibles Evitar robo de copias de seguridad con datos sensibles qu tcnicas? Encriptacin a nivel de columna Encriptacin transparente (TDE) (afecta a toda la BD) coste? Mayor sobrecarga y puede afectar al rendimiento Requiere una estrategia para la definicin y mantenimiento de claves, passwords y certificados Por ello no debe considerarse para todos los datos y conexiones Encriptacin de datos Encriptacin a nivel de columna Mediante certificados, keys o frases Requiere el uso de funciones especficas Symmetric Key Certificate EncrypyPassphrase Encriptacin de datos Encriptacin a nivel de columna Encriptacin transparente (TDE), afecta a toda la BD No protege las comunicaciones entre aplicacin cliente y servidor No encripta FILESTREAM. No impide al DBA ver los datos. Puede caer el rendimiento si conviven BD TDE y sin encriptar. Encriptacin de datos. Ejemplo Encriptar un registro de una tabla.
SELECT EncryptByPassPhrase(address,'PassWord') AS encrypted FROM dbo.authors
Encriptacin de datos. Ejemplo Insertar un registro encriptado.
Encriptacin de datos. Ejemplo Insertar un registro encriptado.
2)Insertar los registros
insert into login_details(uid,username,password) values(1,'smith',EncryptByPassPhrase('12','XXX')) insert into login_details(uid,username,password) values(2,'kennal',EncryptByPassPhrase('12','YYY')) insert into login_details(uid,username,password) values(3,'staurt',EncryptByPassPhrase('12','ZZZ')) Encriptacin de datos. Ejemplo Insertar un registro encriptado.
3) Verificar Encriptacin.
select * from login_details
Encriptacin de datos. Ejemplo Desencriptar los registros.
select uid,username,convert(varchar(10), DECRYPTBYPASSPHRASE ('12',password)) from login_details