Usuarios, Roles, Encriptación y Back Up de la

Download Report

Transcript Usuarios, Roles, Encriptación y Back Up de la

Microsoft

®

SQL Server 2008

Usuarios, Roles, Encriptación y Back Up de la base de datos.

Creación de un nuevo Usuario   1. Dar clic en Seguridad.

2. Dar clic derecho en Logins.

Creación de un nuevo Usuario  Clic en New Login…

Creación de un nuevo Usuario  Se muestra el siguiente cuadro de diálogo

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario   Finalmente se muestra el Usuario creado.

Sin embargo, este aún no funciona, para ello se deben de hacer unos cambios.

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario

Creación de un nuevo Usuario      Como crear un Usuario con código.

1)Se crea el inicio de sesión.

CREATE LOGIN PASSWORD = Prueba 'Passwd‘ WITH Crea un usuario de base de datos para el inicio de sesión creado anteriormente.

CREATE Prueba ; USER Prueba FOR LOGIN

            Roles SQL Server Cada rol agrupa un conjunto de permisos Facilitan la admó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

Roles a nivel de servidor

Rol

sysadmin

Descripción

Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor.

serveradmin securityadmin Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuración del servidor y apagarlo.

Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. También 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 contraseñas para los inicios de sesión 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 instrucción BULK INSERT.

Roles a nivel de servidor

Rol

diskadmin dbcreator public

Descripción

El rol fijo de servidor diskadmin se usa para administrar archivos de disco.

Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos.

Cada inicio de sesión 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 específicos para un objeto protegible, el usuario hereda los permisos concedidos al rol public para ese objeto.

Solo asigne permisos públicos 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 db_owner db_securitya dmin db_accessa dmin db_backupo perator Descripción

Los miembros del rol fijo de base de datos

db_owner

pueden realizar todas las actividades de configuración y mantenimiento en la base de datos y también pueden quitar la base de datos.

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, podría habilitarse un aumento de privilegios no deseado.

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 sesión de Windows, grupos de Windows e inicios de sesión de SQL Server.

Los miembros del rol fijo de base de datos

db_backupoperator

la base de datos.

pueden crear copias de seguridad de

Roles a nivel de Base de Datos

Rol db_ddladmi n db_datawrite r db_dataread er db_denydata writer db_denydata reader Descripción

Los miembros del rol fijo de base de datos

db_ddladmin

pueden ejecutar cualquier comando del lenguaje de definición de datos (DDL) en una base de datos.

Los miembros del rol fijo de base de datos

db_datawriter

pueden agregar, eliminar o cambiar datos en todas las tablas de usuario.

Los miembros del rol fijo de base de datos

db_datareader

pueden leer todos los datos de todas las tablas de usuario.

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.

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 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

 Crear un Rol con Código CREATE ROLE Prueba ; compradores AUTHORIZATION  Asignar un Rol a un Usuario.

 sp_addrolemember compradores , Prueba

Crear un Rol

Crear un Rol

Crear un Rol

Restricción de Usuario (Permisos)

Restricción de Usuario (Permisos)

Restricción de Usuario (Permisos)

Restricción de Usuario (Permisos)

Restricción de Usuario (Permisos) con código  Permitir a un usuario crear una base de datos y tablas.

 GRANT CREATE DATABASE , TABLE TO Prueba CREATE   Permitir a un usuario Insertar, modificar y eliminar registros de una tabla.

GRANT INSERT , dbo .

authors TO UPDATE Prueba , DELETE ON

Restricción de Usuario (Permisos) con código  Permitir a un usuario actualizar un único campo de una tabla.

 GRANT UPDATE ( dbo .

authors TO phone Prueba ) ON   Permitir a un usuario Insertar, modificar y eliminar registros de una tabla.

GRANT INSERT , dbo .

authors TO UPDATE Prueba , DELETE ON

Restricción de Usuario (Revocar Permisos) con código  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

Restricción de Usuario (Denegar Permisos) con código  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

Encriptación de datos  ¿para qué?

          Evitar acceso a datos sensibles  Evitar robo de copias de seguridad con datos sensibles ¿qué técnicas?

 Encriptación a nivel de columna  Encriptación transparente (TDE) (afecta a toda la BD) ¿coste?

 Mayor sobrecarga y puede afectar al rendimiento  Requiere una estrategia para la definición y mantenimiento de claves, passwords y certificados  Por ello no debe considerarse para todos los datos y conexiones

Encriptación de datos 

Encriptación a nivel de columna

     Mediante certificados, keys o frases Requiere el uso de funciones específicas  Symmetric Key  Certificate  EncrypyPassphrase

Encriptación de datos 

Encriptación a nivel de columna

  Encriptación transparente (TDE), afecta a toda la BD No protege las comunicaciones entre aplicación cliente y servidor    No encripta FILESTREAM.

No impide al DBA ver los datos.

Puede caer el rendimiento si conviven BD TDE y sin encriptar.

Encriptación de datos. Ejemplo  Encriptar un registro de una tabla.

 SELECT EncryptByPassPhrase ( address , 'PassWord' ) encrypted FROM dbo .

authors AS

Encriptación de datos. Ejemplo  Insertar un registro encriptado.

 1) Crear la Tabla       create table login_details ( uid integer , username varchar ( 10 ), ) password varbinary ( 100 )

Encriptación 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' ))

Encriptación de datos. Ejemplo  Insertar un registro encriptado.

 3) Verificar Encriptación.

 select * from login_details

Encriptación de datos. Ejemplo  Desencriptar los registros.

 select uid , username , convert ( varchar ( 10 ), DECRYPTBYPASSPHRASE from login_details ( '12' , password ))

Back Up de la Base de Datos

Back Up de la Base de Datos

Back Up de la Base de Datos

Back Up de la Base de Datos

Back Up de la Base de Datos

Back Up de la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos

Restaurar la Base de Datos