Download Investigaciones de las paginas 55-56
Document related concepts
Transcript
Investigaciones de las paginas 55 -56 Investigación individual. 1. Investigar cómo crear y administrar usuarios en SQL Server. Primero antes que nada debemos saber que para crear los usuarios tenemos que: a) Acceder a la base de datos con un usuario con rol securityadmin o sysadmin. b) También conocer acerca de los logins, tipos de logins, que son los roles y cuáles son los que tiene por defecto SQL Server, que es un usuario y qué función tiene. Rol es en SQL server: son las entidades de seguridad que agrupan a otras entidades de seguridad, es decir son entidades predeterminadas de SQL que nos permiten dar privilegios a los logins (inicio de sesión) que creamos. Entre los roles que podemos usar tenemos: sysadmin serveradmin securityadmin Nota de seguridad processadmin setupadmin bulkadmin diskadmin Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor. Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuración en el servidor y apagarlo. Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. Pueden administrar 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. La capacidad de conceder acceso a Motor de base de datos y configurar los permisos de usuario permite que el administrador de seguridad asigne la mayoría de los permisos de servidor. El rol securityadmin se debe tratar como equivalente del rol sysadmin. Los miembros del rol fijo de servidor processadmin pueden finalizar los procesos que se ejecuten en una instancia de SQL Server. Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados. Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT. El rol fijo de servidor diskadmin se usa para administrar archivos de disco. dbcreator public 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 public de servidor. 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 en ese objeto. Solo asigne los permisos públicos en objetos cuando desee que estos estén disponibles para todos los usuarios. Logins (inicio de sesión): es el que permite realizar la conexión con la instancia de servidor, es decir la tarjeta de acceso a el servidor; entre las formas de autenticación para los logins tenemos: de SQL Server, de Windows, asignado a un certificado y asignado a una clave asimétrica. User (Usuario): Es el que nos permite acceder a la base de datos después de que le asignamos privilegios. Sintaxis para administrar los logins //crear logins Create login <nombre de login> with password='contraseña'; //eliminar logins Drop login <nombre de login>; //modificar Alter login <nombre del login> <datos a modificar> //Las instrucción o datos a modificar se encuentran en el siguiente link. http://msdn.microsoft.com/en-us/library/ms189828.aspx Después de esto podemos acceder al servidor con el login pero no tenemos acceso para hacer modificaciones en las base de datos para eso hacemos lo siguiente. 2. Investigar que son los permisos y como asignarle estos a una base de datos. Permisos: son reglas agregadas a objetos, las cuales determinan si un determinado usuario tiene derecho a acceder a áreas especificas o no. Hay dos formas de asignar los permisos a los logins: Asignándole roles Se utiliza la siguiente sintaxis. //agregar permisos. Sp_addsrvrolemember ‘rol’, ‘login; //quitar permisos Sp_dropsrvrolemember ‘rol’, ‘login; //nota no se pueden modificar, debido a que la modificación conlleva la eliminación de permisos y asignación de otros. Creando usuarios y asignando permisos de forma manual. Create user <nombre usuario> for login <nombre del login> //luego le asignamos permisos Use <nombre de la base de datos a la que queremos que el usuario tenga permisos>; //asignando permisos Grant <permiso> to <nombre de usuario>; //quitando permisos Revoke <permiso> to <nombre de usuario>; // denegar acceso Deny <permisos> to <usuarios>; 3. Investigar sobre las técnicas de cifrado y autenticación para una base de datos en SQL server. Técnicas de cifrado de SQL server. Con respecto a las técnicas de cifrado, dejo el link donde esta la información ya que es mucho y hay diferentes tipos de cifrado entre los cuales podemos mencionar cifrado de servidor, de base de datos, de datos entre otros. http://msdn.microsoft.com/es-es/library/bb510663.aspx La autenticación de SQL server: es el modo por el cual accedemos a el servidor de base de datos que básicamente son los tipos o formas de autenticación que tiene SQL server: SQL Server, Windows, asignado a un certificado y asignado a una clave asimétrica. 4. Que es un Schema y cómo administrarlo. Schema(esquemas): es una opción que no sirver para establecer la concesión, denegación o revocación (GRANT, DENY o REVOKE) de permisos a objetos. Sintaxis // crear esquemas CREATE SCHEMA <new schema name> AUTHORIZATION [new schema owner]; //modificar ALTER SCHEMA <nombre de esquema > <accion>; //eliminar DROP SCHEMA schema_name; 5. Investigar los tipos de datos soportados por SQL server y detallarlos en una tabla con su descripción correspondiente Los tipos de datos en SQL se distribuyen por categorías entre las cuales tenemos: http://msdn.microsoft.com/es-es/library/ms378715.aspx 6. Investigar para qué sirve la clausula CONSTRAINT Constraint (restricción) es una propiedad asignada a una columna o el conjunto de columnas de una tabla, que previene ciertos tipos de valores de datos inconsistentes. Constraints (restricciones) se utilizan para exigir la integridad de los datos. Esto asegura la exactitud y fiabilidad de los datos en la base de datos. 7. Investigar para que sirven las palabras reservadas RESTRICT y CASCADE, traer sentencias de ejemplo para presentarlas en clase. Cascade: instrucción que me permite eliminar datos en cascada, ejemplo Tengo una tabla cliente la cual contiene código_cliente, nombre, apellido y también tengo una tabla pedidos que contienen código_pedido, código_cliente, código_producto, cantidad. En este ejemplo suponemos que tenemos una tabla padre que es cliente y una tabla hijo que es pedidos, si aplicamos la propiedad cascade indica que si elimino un elemento de la tabla padre, se eliminara en la tabla hijo también. Restrict: es una instrucción que nos restringe eliminar los datos de una tabla padre cuando la llave primaria de esta, está como llave foránea de otra. Ejemplo: tomando el mismo ejemplo anterior podemos decir que no podemos eliminar a un cliente cuando este tenga datos en la tabla pedidos. Sintaxis en SQL SERVER Cascade CREATE TABLE clientes( Codigo_cliente INTEGER NOT NULL, nombre CHAR(20) NOT NULL, apellido CHAR(20) NOT NULL, CONSTRAINT cliente_pk PRIMARY KEY(Codigo_cliente)) CREATE TABLE pedidos ( Codigo_pedido INTEGER NOT NULL, Codigo_cliente INTEGER NOT NULL, Codigo_producto INTEGER NOT NULL, Cantidad INTEGER NOT NULL, CONSTRAINT pedido_pk PRIMARY KEY(Codigo_pedido), CONSTRAINT cliente_fk FOREIGN KEY(Codigo_cliente) REFERENCES clientes(Codigo_cliente)ON UPDATE CASCADE ) //esto lo que indica es que si se modifica en clientes también se modificaran los datos en pedidos Bibliografía http://msdn.microsoft.com/es-es/library/ms189751.aspx http://msdn.microsoft.com/es-es/library/ms188659.aspx http://msdn.microsoft.com/es-es/library/ms173463.aspx http://www.guillesql.es/Articulos/SQLServerFAQ_Inicio_Sesion_Usuario.aspx http://www.databasejournal.com/features/mssql/article.php/2246271/ManagingUsers-Permissions-on-SQL-Server.htm http://msdn.microsoft.com/es-es/library/ms186320.aspx http://msdn.microsoft.com/es-es/library/ms186270.aspx http://msdn.microsoft.com/es-es/library/ms182763%28v=sql.90%29.aspx