Guia 5 SQL Server
Guia 5 SQL Server
Guia 5 SQL Server
GUA 5 Pg.
I. OBJETIVOS Crear inicios de sesin en SQL Server 2005 Crear usuarios de base de datos en SQL Server 2005 Administrar privilegios a usuarios de base de datos II. INTRODUCCIN La proteccin de la informacin (controlar el acceso a los datos de una organizacin) se parece mucho a la proteccin de una estructura fsica. Por ejemplo, imagine que tiene su propio negocio y el edificio que lo alberga tambin es de su propiedad no querr que el pblico en general pueda acceder al edificio; solo deberan tener acceso los empleados. Sin embargo, tambin necesita restricciones para las zonas a las que los empleados pueden acceder, porque solo los contables deberan tener acceso al departamento de contabilidad y casi nadie debera tener acceso a su despacho; debe instalar diversos sistemas de seguridad. La proteccin de SQL Server (su edificio) se basa en este concepto; nadie puede entrar a menos que se le conceda acceso y, una vez que los usuarios estn dentro, los diferentes sistemas de seguridad mantienen las areas confidenciales a salvo de miradas indiscretas. Inicios de sesin (Login): son los accesos al servidor, lo cual no quiere decir que puedan acceder a las bases de dato a que all hay. Para poder acceder a cada una de las bases de datos necesitas un user. Usuario de la base de datos (User): Da acceso a la base de datos, pero esto tampoco quiere decir que pueda hacer cualquier operacin sobre la base de datos, en principio no puede hacer casi nada, salvo que se le vaya asignando roles y otros privilegios para darle permisos de acceso a los objetos de esa base de datos. En SQL Server nos encontramos con tres niveles o capas en los cuales podemos gestionar la seguridad. El primero de ellos se encuentra a nivel de servidor, en l podemos gestionar quin tiene acceso al servidor y quin no, y adems gestionamos que roles va a desempear. Para que alguien pueda acceder al servidor debe tener un inicio de sesin (login) asignado, y a ste se asignaremos los roles o funciones que puede realizar sobre el servidor. El que alguien tenga acceso al servidor no quiere decir que pueda acceder a las bases de datos que se encuentran en l. Para ello hay que tener acceso a la siguiente barrera de seguridad, que es a nivel de base de dato. Para que un login tenga acceso a una base de datos, tenemos que crear en ella un usuario (user). Deberemos crear un usuario en cada una de las bases de datos a las que queramos que acceda un login.
GUA 5 Pg.
Anlogamente, el que un usuario tenga acceso a una base de datos no quiere decir que tenga acceso a todo su contenido, ni a cada uno de los objetos que la componen. Para que esto ocurra tendremos que irle concediendo o denegando permisos sobre cada uno de los objetos que la componen. A continuacin se puede observar un grfico que refleja este modelo.
III. MATERIAL Y EQUIPO A UTILIZAR Gua de Laboratorio N 5 de SQL Server Computadora con SQL SERVER 2005 Disquete o memoria USB IV. PROCEDIMIENTO CREACION DE INICIOS DE SESION Para crear un inicio de sesin de SQL Server que use la autenticacin de SQL Server 1. Iniciar SQL desde el equipo, utilizando el usuario: sa y el password: sql2005 2. Ejecute el script que le proporcionar su instructor 3. En SQL Server Management Studio, abra el Explorador de objetos y expanda la carpeta que tiene el nombre del servidor. 4. Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a continuacin, Inicio de sesin.
GUA 5 Pg.
5. En la pgina General, escriba un nombre para el nuevo inicio de sesin en el cuadro Nombre de inicio de sesin, para este caso su carnet 6. Seleccione Autenticacin de SQL Server. 7. Escriba una contrasea de inicio de sesin. 8. Desmarque la opcin de Exigir directivas de contrasea, no es recomendable hacerlo, pero para efectos de prctica lo haremos. 9. Selecciona en base de datos predeterminada Alumnos 10. Haga clic en Aceptar. Para crear un inicio de sesin de SQL Server que use la autenticacin de SQL Server (Transact-SQL) En el Editor de consultas, escriba el siguiente comando Transact-SQL:
CREATE LOGIN <login name> WITH PASSWORD = '<password>' ;
BORRANDO INICIOS DE SESION Utilizando Interfaz: Expanda la carpeta seguridad, busque el inicio de sesin que desea eliminar, de clic derecho y seleccione eliminar Utilizando Transact-SQL DROP LOGIN <login name>
GUA 5 Pg.
Si se loguea con el inicio de sesion que acaba de crear, notar que no tiene acceso a las bases de datos de Sql Server y el mostrara un mensaje de error, para tener acceso debemos crear usuarios de BD
REGRESE AL MODO DE USUARIO SA CREACION DE USUARIOS DE BASE DE DATOS 1. Expandir la base de datos en la que se quiere crear el usuario, en esta practica ser Alumnos, 2. En la carpeta Seguridad, seleccionar la carpeta usuarios, clic derecho y nuevo usuario. 3. En Nombre de usuario digitamos un nombre de usuario, que ud. desee, luego dar clic en los puntos suspensivos al lado de Nombre de inicio de sesin, para asociar el nombre de usuario a un Inicio de sesin existente, esto quiere decir que cuando alguien inicie su sesin, se activaran las cuentas de BD asociadas a ese inicio.
4. Digite las primeras letras del nombre de inicio de sesin y luego de clic en comprobar nombres, para que SQL busque las coincidencias en los nombres de sesin existentes, en la nueva ventana seleccione el nombre de la sesin y de clic en aceptar. Tambin puede dar clic en examinar y buscar de una vez el nombre de inicio de sesin y seleccionarlo.
GUA 5 Pg.
5. En esquema predeterminado seleccionar alum 6. En la parte Esquemas propiedad de este usuario, seleccionamos el esquema que deseamos que el usuario pueda tener acceso y control sobre el, que tambin seria alum y damos clic en aceptar.
GUA 5 Pg.
7. Ahora nos logueamos con el inicio de sesin que creamos para que se active el usuario de bd 8. Expandimos la base de datos alumnos y verificamos a que tablas tenemos acceso
Si quisiramos acceder a la tabla notas con un select, SQL Server nos mandara el siguiente mensaje de error
Cuando la tabla se cree veremos que quedara en el esquema dbo Ahora en la carpeta seguridad de la base de datos Alumnos, dar doble clic sobre el usuario de bd que se cre anteriormente, en la parte izquierda de la pantalla seleccionamos la opcin Elementos que pueden protegerse
GUA 5 Pg.
Si seleccionamos la opcin: Objetos especficos: crearemos permisos para uno o varios objetos de SQL el usuario tiene la oportunidad de agregar los objetos de su preferencia. Todos los objetos de los tipos: se seleccionaran todos los tipos de objetos, es decir si selecciona el objetos tabla, se seleccionaran todas las tablas que contenga la BD Todos los objetos que pertenecen al esquema: podr seleccionar los objetos que pertenezcan a un esquema en especfico. En esta ocasin el ejercicio es solo asignar ciertos permisos a la tabla que acabamos de crear, como solo queremos una tabla seleccionamos la primera opcin, objetos especficos, en la ventana damos clic en Tipos de objeto y seleccionamos tablas.
Damos clic en aceptar y ahora damos clic al botn examinar para buscar las tablas existentes en la base de datos
GUA 5 Pg.
Seleccionamos la tabla MATERIAS y damos clic en aceptar, y nos encontraremos con la siguiente pantalla en la cual marcaremos las casillas de Update y Select, lo que quiere decir que el usuario solo podr hacer consultas y actualizar datos, para finalizar dar clic en aceptar
Salga del modo sa e ingrese con el inicio de usuario que creo anteriormente para ver probar los permisos en esa tabla. Prueba las siguientes sentencias --Haciendo uso de SELECT select * from dbo.MATERIAS
GUA 5 Pg.
--Haciendo uso de UPDATE Update dbo.MATERIAS set nombre='Fisica II' where ID=101 --HACIENDO USO DE INSERT INSERT INTO dbo.MATERIAS VALUES(105,'SQL SERVER')
Agregando permisos a esquemas En los ejemplos anteriores, un usuario de bd poda realizar consultas y actualizaciones de datos, ahora haremos que ese usuario de bd tenga el permiso para crear tablas las cuales quedaran en el esquema que se le predetermino cuando se estaba creando. 1- Expandir la base de datos en la que se quiere otorgar los permisos, en esta prctica ser siempre Alumnos. 2- Expandir la carpeta seguridad y luego expandir la carpeta esquemas
3- Dar clic derecho sobre el esquema en el que se otorgaran permisos al usuario, en este ejercicio ser al esquema alum y dar clic en propiedades 4- En la parte izquierda dar clic en la pgina de permisos, y luego dar clic en la parte donde dice VER PERMISOS DE BASE DE DATOS como se muestra en la siguiente figura.
GUA 5 Pg.
10
5- En la seccin de permisos explcitos que se encuentra en la parte de abajo, seleccionar los permisos que deseamos que posea el usuario, en este ejercicio agregamos el permiso para creacin de tablas y procedimientos, de clic en la casilla conceder a la par del permiso Create procedure y Create table
6- Ingrese con el inicio de sesin que creo y pruebe crear una tabla cualquiera en la base de datos alumnos V. INVESTIGACIN Y EJERCICIOS COMPLEMENTARIOS Crear un inicio de sesin en SQL Server con Autenticacin de Windows, mostrar capturas de pantalla, para mejor explicacin de los pasos que se deben seguir.
GUA 5 Pg.
11