You are on page 1of 19

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING.

MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

CONTENIDO
Autenticacin del Servidor SQL Server Crear USUARIOS en Windows Crear Cuentas de Inicio de Sesin y Roles del servidor Usuarios en SQL Server 2008 Roles de base de datos Asignar/Denegar Permisos sobre todos las Bases de Datos en SQL Server 2008 Asignar/Denegar Permisos sobre los objetos de las Bases de Datos en SQL Server 2008 Copias de Seguridad y Restauracin de BD

TEMA:
En esta sesin veremos la administracin de seguridad, creacin de nuevos usuarios y sus respectivos accesos y permisos; como tambin las copias de seguridad de una base de datos Y la respectiva restauracin de base de datos.

MARCO TEORTICO

Lab. Administracin de Base de Datos1 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

FUNCIONES FIJOS DE SERVIDOR


Funcin de nivel de servidor sysadmin serveradmin Descripcin

Pueden realizar cualquier actividad en el servidor. Pueden cambiar las opciones de configuracin en el servidor y cerrar el servidor. securityadmin Administran los inicios de sesin y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. Tambin administran los permisos de base de datos GRANT, DENY y REVOKE. Asimismo, pueden restablecer las contraseas para los inicios de sesin de SQL Server. processadmin Pueden finalizar los procesos que se ejecutan en una instancia de SQL Server. setupadmin Pueden agregar y quitar los servidores vinculados. diskadmin Se utiliza para administrar archivos de disco. dbcreator Pueden crear, modificar, quitar y restaurar cualquier base de datos. public Cada inicio de sesin de SQL Server pertenece a la funcin pblica de servidor. Cuando a una entidad de seguridad de servidor no se le han
Lab. Administracin de Base de Datos2 (IS-443) Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

concedido ni denegado permisos especficos para un objeto protegible, el usuario hereda los permisos concedidos a la funcin pblica para ese elemento. Solo asigne los permisos pblicos en cualquier objeto cuando desee que el objeto est disponible para todos los usuarios.

FUNCIONES FIJAS DE LA BASE DE DATOS


Cada base de datos tiene un conjunto de funciones fijas de la base de datos. Detallaremos las siguientes funciones: Funcin de la base de datos Db_owner Db_accsessadmin Db_securityadmin Db_ddladmin Db_backupoperator Db_datareader Db_datawriter Db_denydatareader Db_denydatawriter Descripcin Tiene todos los permisos de la base de datos Puede agregar o quitar los id. De usuario Puede administrar todos los permisos, la propiedad de los objetos, las funciones y la pertenencia a ellas. Puede utilizar todas las instrucciones DDL, menos las instrucciones GRANT, REVOKE y DENY Puede utilizar las instrucciones DBCC, CHECKPOINT y BACKUP Puede seleccionar todos los datos de cualquier tabla de usuario de la base de datos Puede modificar todos los datos de cualquier tabla de usuario de la base de datos Puede retirar o denegar permisos SELECT sobre cualquier objeto Puede denegar o retirar permisos INSERT, UPDATE y DELETE sobre cualquier objeto

DESARROLLO PRCTICA Logins y Users


Logins estn asociados a un servidor. Users estn asociados a una base de datos

Modo de autenticacin del servidor

Lab. Administracin de Base de Datos3 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Crear Cuentas de Inicio de Sesin en SQL Server 2008 Usuarios de SQL Server 2008.
En el momento de configurar la conexin con SQL Server 2008, indicamos que comenzaramos la sesin con una cuenta del sistema local. Lo cual quiere decir, que utilizamos la misma cuenta de inicio de sesin de Windows para conectarnos a nuestro servidor de datos. A lo largo de este curso, utilizaremos este modo de autenticacin, no obstante, vamos a explicar como crear cuentas de usuario de SQL Server, puesto que se trata del modo de trabajo ms seguro. Para crear cuentas de usuario, tenemos habilitada la carpeta Security, que podemos encontrar desplegando el rbol de navegacin del explorador de objetos. Dentro de esta carpeta, se almacena la carpeta Logins, la cual muestra en la pestaa principal, las cuentas de usuario que se crean automticamente por defecto al instalar SQL Server y las creadas por nosotros. Para crear una nueva cuenta, pulsamos el botn derecho del ratn sobre la carpeta Logins, y seleccionamos New Login.

Lab. Administracin de Base de Datos4 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

En la siguiente ventana comienza el proceso de creacin de la cuenta. En el primer paso (General) indicamos:

El nombre o Login de la cuenta. El tipo de autenticacin para esta cuenta, pudiendo elegir entre autenticacin windows o autenticacin SQL Server. Si seleccionamos autenticacin Windows, mediante el boton "Search" podemos buscar entre las cuentas de Windows que existen en nuestro sistema y seleccionar una de ellas. En este caso, vamos a crear una cuenta de SQL Server, por lo tanto la seleccionamos y le indicamos el nombre de usuario y su contrasea. Vemos que tenemos la posibilidad de forzar las polticas de contraseas, las cuales se aseguran que las contraseas cumplan unas determinadas condiciones de formato, de caducidad, y la posibilidad de que el usuario cambie su contrasea en el momento de iniciar por primera vez su sesin. Estas polticas se encuentras deshabilitadas en la versin Express de Sql Server 2005. Base de datos por defecto con la que trabajar el usuario, y el lenguaje por defecto.

Lab. Administracin de Base de Datos5 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Una vez indicadas estas propiedades, vamos a configurar los permisos de acceso de este usuario, para ello, vamos al panel que tenemos a la izquierda y seleccionamos Server Roles.(Funciones del servidor) Esto ltimo puede no ser lo conveniente en muchas situaciones en las que prefiramos tener un mayor control sobre las acciones que pueden realizar los usuarios. Para estos casos deberemos utilizar otro role que el de db_owner y autorizar las acciones mediante instrucciones GRANT.

Asignacin de un rol de servidor

Lab. Administracin de Base de Datos6 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Desde esta pestaa, indicamos las reglas de acceso sobre el servidor, pudiendo elegir entre permisos para administracin de procesos, creacin de bases de datos, administracin de seguridad (crear nuevos usuarios...) etc. A continuacin, le indicamos los permisos especficos que tendr el usuario para cada base de datos. Para ello le indicamos a que grupo de usuarios pertenecer el usuario en una base de datos concreta.

Asignacin de usuarios

Lab. Administracin de Base de Datos7 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Y por ltimo, podemos como administradores del servidor habilitar o deshabilitar la cuenta de usuario que estamos creando, mediante la opcin del panel izquierdo Status:

Estado del inicio de sesin

Lab. Administracin de Base de Datos8 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Una vez configuradas todas las propiedades de esta cuenta pulsamos OK para almacenar todos los cambios. Ahora podramos pulsar sobre el botn para conectarnos al servidor e introducir el login y contrasea de la cuenta SQL Server que hemos creado. Y comprobar los permisos de cuenta que hemos indicado.

Crear Cuentas de usuario en Windows

Lab. Administracin de Base de Datos9 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Lab. Administracin de Base de Datos10 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Lab. Administracin de Base de Datos11 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Ejercicio:
3.- Crear user 02, con acceso a la bd Ventas y con permiso de administrador de cuentas. 4.- Crear user03 con acceso a la bd Ventas y permisos solo leer una base de datos

Crear cuenta de usuario para acceso a SQL Server


Siempre que he tenido que crear una base de datos en SQL Server lo he hecho desde la consola de administracin, incluyendo las tareas relativas a la creacin de nuevos usuarios y sus autorizaciones sobre las bases de datos creadas. A Continuacin se muestra un script que se encargue de crear una base de datos, crear una cuenta de usuario, y autorizarla sobre la base de datos.
use Master CREATE DATABASE bddPrueba GO -- utilizando procedimiento almacenados exec sp_addlogin 'usrPrueba', '123D' GO Use bddPrueba exec sp_grantdbaccess 'usrPrueba' GO exec sp_addrolemember 'db_owner','usrPrueba' GO

Lo que hace el script es muy sencillo. Trabajando primero sobre master, mediante CREATE DATABASE crea la nueva base de datos de nombre bddPrueba, y crea a continuacin el usuario usrPrueba. Despus de esto se cambia la base de datos de trabajo a la recin creada use bddPrueba y se autoriza al usuario a acceder a ella con sp_grantdbaccess. Mediante la ltima orden, sp_addrolemember, hacemos que el nuevo usuario tome el role de propietario de la base de datos.

En Sql Server 2008 si puede crear las bases de datos que se quieran y por defecto se les asigna el esquema dbo. (database owner), los esquemas son recursos para administrar las bases de datos, es importante conocerlos, mientras tanto se trabaja de forma normal es decir se lanzan los query's contra el nombre de la tabla sin nada mas y Sql Server 2008 las busca en el esquema dbo.
Lab. Administracin de Base de Datos12 (IS-443) Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Otra manera de crear usuarios


CREATE LOGIN user03 WITH PASSWORD = 12345' MUST_CHANGE Ejercicios: 1.Crear un asuario alumnoAdmin y desde esa cuenta crear alumnosistemas, dar los respectivos privilegios 2.-Crear un user05 darle privilegios de la base de datos solo lectura. Insertar un registro en la tabla vendedores Que pasa, logr insertar el registro? Por que? un nuevo usuario

3.-Realizar un reporte de los datos de los vendedores logr realizar el reporte? Por que?

Establecer permisos: ejemplos

Permitir a los usuarios User01, user02 para crear bases de datos y tablas GRANT CREATE DATABASE, CREATE TABLE TO user02, user01

Permitir a user03 insertar, modificar y borrar en la tabla articulos.


GRANT INSERT, UPDATE, DELETE ON articulos TO user03 CREATE SCHEMA (Transact-SQL) Crea un esquema en la base de datos actual. La transaccin CREATE SCHEMA tambin puede crear tablas y vistas dentro del esquema nuevo, y establecer la concesin, denegacin o revocacin (GRANT, DENY o REVOKE) de permisos sobre esos objetos. Sintaxis
Lab. Administracin de Base de Datos13 (IS-443) Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS CREATE SCHEMA schema_name_clause [ <schema_element> [ ...n ] ] <schema_name_clause> ::= { schema_name | AUTHORIZATION owner_name | schema_name AUTHORIZATION owner_name } <schema_element> ::= { table_definition | view_definition | grant_statement revoke_statement | deny_statement }

Argumentos schema_name Es el nombre por el que se identifica al esquema en esta base de datos. AUTHORIZATION owner_name Especifica el nombre de la entidad de seguridad de la base de datos que poseer el esquema. Es posible que esta entidad de seguridad posea otros esquemas y no utilice el esquema actual como predeterminado. table_definition Especifica una instruccin CREATE TABLE que crea una tabla en el esquema. La entidad de seguridad que ejecuta esta instruccin debe tener el permiso CREATE TABLE en la base de datos actual. view_definition Especifica una instruccin CREATE VIEW que crea una vista en el esquema. La entidad de seguridad que ejecuta esta instruccin debe tener el permiso CREATE VIEW en la base de datos actual.

grant_statement Especifica una instruccin GRANT que otorga permisos sobre cualquier elemento que puede protegerse, excepto el esquema nuevo. revoke_statement Especifica una instruccin REVOKE que revoca permisos sobre cualquier elemento que puede protegerse, excepto el esquema nuevo. deny_statement Especifica una instruccin DENY que deniega permisos sobre cualquier elemento que puede protegerse, excepto el esquema nuevo. CREATE SCHEMA puede crear un esquema, las tablas y las vistas que lo contienen; asimismo, puede tener permisos GRANT, REVOKE o DENY para cualquier elemento que
Lab. Administracin de Base de Datos14 (IS-443) Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

puede protegerse; todo ello en una sola instruccin. Esta instruccin debe ejecutarse como un lote independiente. Los objetos creados por la instruccin CREATE SCHEMA se crean dentro del esquema que se est creando. Las transacciones CREATE SCHEMA son atmicas. Si ocurre un error durante la ejecucin de una instruccin CREATE SCHEMA, no se crea ninguno de los elementos que pueden protegerse especificados ni se conceden permisos. Los elementos que pueden protegerse, que va a crear CREATE SCHEMA, se pueden enumerar en cualquier orden, excepto en el caso de las vistas que hacen referencia a otras vistas. En estos casos, la vista referenciada debe crearse antes de la vista a la que hace referencia. Por lo tanto, una instruccin GRANT puede conceder permiso sobre un objeto antes de que ese objeto se haya creado o una instruccin CREATE VIEW puede aparecer antes que las instrucciones CREATE TABLE que crean las tablas a las que hace referencia la vista. Adems, las instrucciones CREATE TABLE pueden declarar claves externas a las tablas definidas posteriormente en la instruccin CREATE SCHEMA. Ejemplos En el ejemplo siguiente se crea el esquema Escuela, que es propiedad de usrPrueba
CREATE SCHEMA Escuela AUTHORIZATION
CREATE TABLE Escuela.testtable (codigo INT NOT NULL, nombre CHAR(10) NOT NULL)

usrPrueba

Ejercicio: Crear dos esquemas VENTAS Y RH


CREATE SCHEMA VENTAS GO

2.

Crear Tablas Beneficios, empleado, articulos con 2 asignrselas al esquema RH

campos cualesquiera

3.- Crear Logins llamados: Vendedor, RecursosHumanos y AdminVentas. Con Autenticacion SQL Server. Password: 123. Quitamos Enforce Policy Password para que nos deje guardar la contrasea sencilla. En todos los casos ponemos por defecto la base de datos ventas
4.- En User Mapping, seleccionamos la base de datos Ventas y buscamos el schema y

asignamos al usuario correspondiente. En el caso de AdminVentas no le asignamos uno especfico porque tendr accesos a muchos.

Crear un rol de BD
Lab. Administracin de Base de Datos15 (IS-443) Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Establecer proteccin a asegurables

Lab. Administracin de Base de Datos16 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Ejercicios: crear un Rol para la base de datos Ventas, Rol: V_VENTAS y rol V_RECURSOSHUMANO y asignarlo por esquema y a cada usuario. En la carpeta Security. Roles. DataBase Roles. Asignar/Denegar Permisos sobre los objetos de las Bases de Datos en SQL Server 2008

Lab. Administracin de Base de Datos17 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Ejercicios:
Crear Cuentas de usuario en Windows
Crear los siguientes grupos con sus respectivos miembros y usuarios del dominio en el dominio local. Grupo de Windows 20Xx Customer_sistemas Miembors carlos_sist Jose_sist Maria_sist Pedro_sist Guille_sist Marcos_sist contrasea del ususario 123 123 123 123 1234 1234

Usuarios del dominio

Crear Cuentas de Inicio de Sesion en SQL Server 2008

Lab. Administracin de Base de Datos18 (IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS
1. Crear la BD Matricula 2. Crear las siguientes cuentas de inicio de sesin: Nombre base de datos Predeterminada nameServidor\ Guille_sist nameServidor \carlos_sist nameServidor \Jose_sist nameServidor \customer_sistemas Matricula Matricula Matricula Matricula base de datos que tendr acceso Matricula Matricula Matricula Matricula

Probar las cuentas de usuario Ingresar con el usuario pedro_sist y clave password Pudo conectarse pedro_sist a la base de datos, por que?

Ingresar con el usuario marcos_sist y clave password Pudo conectarse marcos_sist a la base de datos, por que?

4. Eliminar la cuenta de inicio de sesin nombreServidos\customer_sistemas, Pueden los usuarios de Windows que son miembros de ese grupo tener acceso a SQL Server despus de que el grupo se haya quitado de SQL Server 2008?

5. Denegar Acceso al usuario nombreServidor\guille_sist, Puede guille_sist tener acceso a SQL Server 2008?

Lab. Administracin de Base de Datos19 (IS-443)

Prof. Elvira Fernndez

You might also like