• No se han encontrado resultados

Seguridad e integridad (autorización) en los sistemas de bases de datos

In document MATERIAL INSTRUCCIONAL DE APOYO (página 80-85)

Lectura 6.1 Lectura 6.2 22 22.1. 22.2. 22.3. 22.4. Introducción a los problemas de Seguridad en las bases de datos Control de acceso discrecional basado en concesión/revocación de privilegio Control de acceso obligatorio para seguridad multinivel Introducción a la seguridad en base de datos estadísticas Seguridad y Autorización Autorización en SQL 679-682 682-687 687-689 690-691

3.- Para comenzar con el estudio de esta unidad lea el capítulo 22 del Libro- texto: “Fundamentos de Sistemas de Bases de datos” correspondiente a “Seguridad y autorización en bases de datos” y luego responda las preguntas de repaso que se encuentran al final de este capitulo 22. 4.- Organice los puntos estudiados mediante el uso de un mapa conceptual 5. Efectúe una revisión del ejemplo presentado en el libro-texto de la

asignatura para luego realizar el ejercicio o actividad propuesta.

6.- A continuación se presentan algunos aspectos que lo ayudarán a ampliar los conocimientos adquiridos hasta ahora.

Seguridad e integridad (autorización) en los sistemas de bases de

datos

Aspectos que debe reflexionar con respecto a lo estudiado en esta unidad: • El termino seguridad de los datos se asocia frecuentemente con

integridad, pero ambos conceptos son diferentes. La Seguridad se refiere a la protección de los datos almacenados en la base de datos, frente accesos no autorizados y alteraciones o destrucción malintencionada, mientras que la Integridad se refiere a la validez de

esos datos, es decir proporcionar un medio que asegure que las modificaciones hechas a la base de datos por los usuarios autorizados no provoquen la perdida de la consistencia de los datos, protegiéndolo contra los daños accidentales.

• En la Seguridad e Integridad (autorización) el sistema de base de datos necesita estar al tanto de ciertas restricciones que deben ser especificadas (generalmente por el Administrador de bases de datos) en un lenguaje adecuado. Por otro lado el sistema de gestión de bases de datos (SGBD) debe detectar las operaciones del usuarios para asegurar que se cumplan estas restricciones.

• Características que apoyan la seguridad en los Sistemas de Bases de Datos: Los tópicos que se incluyen a continuación tienen que ver con la exactitud, consistencia y confiabilidad de la información y con la privacidad y confidencialidad de los datos.

Claves Primarias

Esta definición determina que para un valor llave primaria solo existirá una tupla o registro en la tabla. Esta situación garantiza que no se tenga información repetida o discordante para un valor de clave y puede ser usada como control, para evitar la inclusión de información inconsistente o repetida en las tablas.

Dominio de los atributos

El dominio de un atributo define los valores posibles que puede tomar este atributo. Además de los dominios "naturales", usados como tipos de datos, el administrador del sistema puede generar sus propios dominios definiendo el conjunto de valores permitidos. Esta característica, usada en forma correcta, se convierte en mecanismo de control, restricción y validación de los datos a ingresar . Hay que resaltar que estas restricciones siempre serán evaluadas en forma automática por el SGBD.

Reglas de integridad

Cada base de datos funciona en forma diferente y tiene reglas asociadas a su actividad que pueden ser definidas como restricciones en la Base de Datos. Esto implicaría que cualquier operación que se realice debe respetar estas limitantes. Por ejemplo, condicionar que solo se otorgan descuentos en ventas superiores a Bs. 400.000.000,00. Estas son condiciones que la administración coloca a la operación y como principio en el desarrollo de una aplicación, deben ser respetadas por esta.

Vistas

Sirve como mecanismo para compartir la información almacenada, permitiendo presentar a diferentes usuarios parte del universo, según se considere necesario. Según las políticas de seguridad, es usual que gran parte de los usuarios nunca tengan acceso directamente a las tablas completas, sino que lo hagan a través de las vistas, las cuales, por ser un objeto, son sujetas de otras medidas de seguridad.

Perfiles de usuario y Acceso a la Base de Datos

Asignación de nombres de usuarios, con su respectiva clave de acceso (password) y perfiles asociados. Pueden también ser creados roles que serán concedidos a los usuarios según sus funciones.

Auditoría

En situaciones en que los datos sean críticos, se debe contar con el riesgo de violación de la seguridad por una persona no autorizada, además de errores involuntarios que igual pueden causar inconsistencias o falta de veracidad de la información. Para estos casos es interesante mantener un archivo de auditoría (log), donde son registradas todas las operaciones realizadas por los usuarios de las bases de datos. En caso de sospecha de falla en la seguridad, este archivo puede ser consultado para conocer los daños causados e identificar a los responsables de las operaciones irregulares.

Criptografía de Datos

Como recurso de seguridad, se puede mezclar o codificar los datos de modo que, al momento de ser almacenados en disco duro o trasmitidos por alguna línea de comunicación, no sean más que bits ininteligibles para aquellos que los accedan por un medio no oficial. La criptografía es de gran importancia en las bases de datos pues la información esta almacenada por largos periodos de tiempo en medios de fácil acceso, como discos duros.

Disparadores o Triggers

Siendo un Triggers o disparador una rutina asociada con una tabla o vista que automáticamente realiza una acción cuando una fila en la tabla o la vista se inserta (INSERT), se actualiza (UPDATE), o borra (DELETE), permiten vigilar y registrar acciones especificas según las condiciones propias de las reglas establecidas; permitiendo crear log de auditoria a la medida.

Como se puede apreciar, los Sistemas de Bases de Datos ofrecen a los desarrolladores, administradores y usuarios, una gama muy completa de herramientas que permiten garantizar la integridad, consistencia, confidencialidad y en general, la seguridad de la información almacenada y con un elemento muy importante a favor: Las líneas de código que se requieren por parte del diseñador de la base de datos son muy pocas, en ocasiones solo basta con una sencilla sentencia para obligar al SGBD controlar y mantener las restricciones necesarias.

7.- Una vez comprendido el contenido del capítulo 24 y el de las lectura 6.1 y 6.2, te invitamos a leer los siguientes ejemplos que muestra la manera de especificar autorizaciones utilizando vistas

Ejemplo 6.1

6.1.1 En una relación PROYECTOS se quiere restringir a un usuario en particular, López Javier, a tener una autorización de acceso solamente de lectura, a los atributos NUMPROY y LOCALIDAD, entonces se puede definir una contraseña para el acceso solo en lectura para una relación que la llamaremos NUMPROY_LOC : GRANT READ ACCESS ON NUMPROY-LOC TO LÓPEZ JAVIER

Donde la forma general para la autorización en lenguaje SQL se especifica de la siguiente manera:

GRANT < lista de privilegios > ON < nombre de relación o de vista > TO < lista de usuario >

La lista de privilegios permite otorgar varios privilegios (de lectura, de eliminación o de actualización) en una sola instrucción.

6.1.2 Consideremos la relación base PERSONAL que tiene el esquema PERSONAL (CÉDULA, NOMBRE, DIRECCIÓN, HSALARIO, NUMDEPT). De este esquema se quiere limitar el acceso del usuario U1 únicamente puede tener acceso a los empleados del departamento 35 de la tabla PERSONAL. Esta vista se podría expresar como:

CREATE VIEW DEP_35 AS

SELECT CÉDULA, NOMBRE, DIRECCIÓN, HSALARIO, NUMDEPT FROM PERSONAL

WHERE NUMDEPT = 35

8.- Si desea profundizar en los aspectos involucrados en esta unidad 5, se sugiere que consulte el siguiente texto que se encuentran en la biblioteca de la UNA:

Consulta de libros

Si desea profundizar sobre este tema se sugiere que consulte el texto Introducción a los Sistemas de Bases de Datos (1998), Quinta edición del autor C. J. Date.

9.- Una vez culminado el estudio de la unidad 6, proceda a realizar el siguiente ejercicio, luego compruebe sus respuestas con la dada en la “Respuesta a los Ejercicios de Autoevaluación”, en caso de no coincidir, estudie nuevamente el tópico en el cual desacertó.

Ejercicio de autoevaluación

Una institución gubernamental requiere de un sistema de base de datos, que presente en forma oportuna y veraz información relacionada a una población, por ejemplo: datos estadísticos basados en grupos de edad, niveles de ingreso, tamaño de la familia, nivel de educación y otros criterios. Al realizar las pruebas para la puesta en marcha de este sistema de base de datos se detectó el siguiente problema: cualquier actuario gubernamental o usuario de empresas de investigación de mercados, pueden tener acceso a información confidencial detallada sobre individuos

como por ejemplo el ingreso de una persona específica, la dirección exacta de su domicilio, etc.

Con base al problema planteado usted deberá responder la siguiente pregunta ¿qué tipo de problema se presenta en la situación planteada y como lo resolvería?.

10.- Resuelva la siguiente actividad propuesta:

Ejercicio o actividad propuesta

Una empresa desea procesar la nomina del personal para fin de mes, pero ésta presenta inconveniente al momento del cuadre de la distribución de asignaciones, cabe destacar que algunas de estas asignaciones están contenidas en varios archivos de la base de datos y en algún momento del proceso no fue actualizado uno de ellos.

Con base al problema planteado usted deberá responder la siguiente pregunta: ¿qué tipo de problema cree usted que se presenta en esta base de datos y como lo solucionaría?

11- Una vez desarrollado el Ejercicio de Autoeveluación, podrá comparar su repuesta con la dada a continuación:

Respuesta al Ejercicio de autoevaluación

En el sistema de base de datos multiusuario de la institución gubernamental se presenta un problema de seguridad; debido a que se debe prohibir el acceso de información confidencial a personas no autorizadas, por lo tanto es necesario la existencia de un control de acceso, con la finalidad de que el sistema de gestión de base de datos (SGBD) chequee cada operación que se realice, con el propósito de validar cualquier restricción de seguridad y suprimir el acceso a datos no permitidos. Por lo general el SGBD cuenta con un subsistema de seguridad y autorización de la base de datos que se encarga de velar por la seguridad de la base de datos y controlar el acceso no autorizado.

Módulo III

In document MATERIAL INSTRUCCIONAL DE APOYO (página 80-85)