Professional Documents
Culture Documents
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
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS
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.
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.
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.
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.
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
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:
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.
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS
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
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
3.-Realizar un reporte de los datos de los vendedores logr realizar el reporte? Por que?
Permitir a los usuarios User01, user02 para crear bases de datos y tablas GRANT CREATE DATABASE, CREATE TABLE TO user02, user01
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
2.
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
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
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
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?