Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Administración de un SGBD relacional Bases de Datos 2 - Tecnologo de Informatica BD2 - Administración de un SGBD relacional Outline 1 Catálogos y SQL esquemas (schema) Catálogos del sistema Esquemas SQL 2 Seguridad y Autorización Tipos de seguridad Mecanismos de seguridad: DAC, MAC BD2 - Administración de un SGBD relacional Sistema de Gestión de Base de Datos Un Sistema de Gestión de Base de Datos (SGBD, o DBMS por su siglas en ingles Database Management System) es un sistema computarizado que permite al usuario crear y mantener una base de datos. Definir una base de datos involucra especificar los tipos de datos, estructuras y restricciones de los datos a ser almacenados en la base. La definición o información descritiva de la base de datos es también almacenada por el DBMS en forma de un catálogo o diccionario. BD2 - Administración de un SGBD relacional Catálogo del sistema Contiene una descripción completa de la estructura de la base de datos y sus restricciones. Tipos de datos de los elementos de datos. Mapeo entre esquemas y las restricciones. Incluye información como nombres y tamaños de archivos. Detalles del almacenamiento de cada archivo. Información de usuario. La información almacenada en el catalogo se denomina meta-datos. Su principal utilidad es la de conocer que datos existen sin acceder a ellos. BD2 - Administración de un SGBD relacional Ficheros tradicionales En el procesamiento la definición de datos normalmente forma parte de los propios programas de aplicación. Por lo que solo pueden trabajar con un único tipo de archivo o “base de datos”. El único que sabe como leer el archivo es el programa para el cual está hecho. BD2 - Administración de un SGBD relacional Ficheros DBMS Puede acceder a varios “tipos” de archivo utilizando la definición existente en el catálogo. Cada vez que un DBMS intenta acceder a un archivo (por ejemplo con una sentencia SELECT sobre una tabla): 1 Primero se fija en el catálogo del sistema para ver la estructura del fichero y que tipo de datos contiene. 2 La estructura le dice: donde esta cada dato (en que byte y que largo tiene). 3 Luego ingresa al fichero usando la información obtenida del catálogo. BD2 - Administración de un SGBD relacional Catálogos del sistema de Postgres Todos los catálogos del sistema tienen un nombre con prefijo “pg_”. Figura : PostgreSQL - System catalogs http://www.postgresql.org/docs/current/ static/catalogs-overview.htmlBD2 - Administración de un SGBD relacional http://www.postgresql.org/docs/current/static/catalogs-overview.html http://www.postgresql.org/docs/current/static/catalogs-overview.html Catálogos del sistema de Postgres Los catalogos del sistema de PostgreSQL son tablas. Estas pueden ser modificadas, eliminadas y/o alterar sus datos como cualquier tabla. Para no tener que manipular los catalogos manualmente, se cuenta con comandos SQL especiales. Por ejemplo, el comando CREATE DATABASE inserta una fila en el catalogo pg_database y crea la base de datos en disco. BD2 - Administración de un SGBD relacional Catálogos del sistema de ORACLE ORACLE utiliza el término Data Dictionary (diccionario de datos) en lugar de catalog. Su data dictionary consiste de: Tablas base (base tables). Almacenan la información sobre la base de datos. Solo Oracle DBMS escribe o lee de estas tablas. Vistas. Decodifican las tablas base en información util. Las vistas contienen los nombres y descripción de todos los objetos en el data dictionary. Algunas vistas son accesibles por todos los usuarios de la base de datos y otras están pensada solo para el acceso de administradores. BD2 - Administración de un SGBD relacional Catálogos del sistema de ORACLE Las vistas del data dictionary están agrupadas en conjuntos. Se disintguen por el prefijo de su nombre. Prefijo Acceso usuario Contenido Notas DBA_ Administradores Todos los objetos Algunas vistas agregan Información util para los administradores. ALL_ Todos losusuarios Objetos a los cuales tiene acceso un usuario Incluye objetos que son propiedad del usuario. USER_ Todos losusuarios Objetos propiedad del usuario Las vistas omiten el atributo owner, se muestra información relacionada con el usuario que consulta. https://docs.oracle.com/database/121/CNCPT/ datadict.htm#CNCPT002 BD2 - Administración de un SGBD relacional https://docs.oracle.com/database/121/CNCPT/datadict.htm#CNCPT002 https://docs.oracle.com/database/121/CNCPT/datadict.htm#CNCPT002 Esquemas en Bases de Datos Un clúster de bases de datos contiene una o más bases de datos con un nombre asociado. Usuarios y grupos de usuarios se comparten en el clúster pero no se comparte nada más entre las bases de datos. Un cliente que se conecta al servidor de bases de datos solo puede acceder a los datos de la base de datos a la que se conectó. Por ejemplo, si quisiera conectarse a una base conteniendo información de usuario centralizada (login único) y luego acceder a una base de datos usada por un software particular, debería realizar dos conexiones. BD2 - Administración de un SGBD relacional Esquemas en Bases de Datos Una base de datos puede contener uno o varios esquemas, que a su vez contiene tablas. Además, el esquema contiene otro tipo de objetos con nombre, como ser: Tipos de datos. Funciones Operadores Un objeto puede ser usado con el mismo nombre en esquemas diferentes. BD2 - Administración de un SGBD relacional Esquemas en Bases de Datos Hay varias razones para usar esquemas en Bases de Datos: Para permitir que muchos usuarios usen una base de datos sin interferir unos con otros. Para organizar los objetos de una Base de Datos en grupos lógicos más manejables. Aplicaciones Third-party puede ser “instaladas” en esquemas diferentes y así evitar colisiones con los nombres de objetos entre distintas aplicaciones. Los esquemas son análogos a los directorios a nivel de S.O., con excepción que no pueden anidarse. Para crear un esquema se usa la sentencia: CREATE SCHEMA <nombre_esquema>; BD2 - Administración de un SGBD relacional Conceptos y amenazas ¿Por qué es necesaria la seguridad y restricción en el acceso a información? Por cuestiones éticas o legales. Cuestiones de política institucional, estatal, etc. Ej.: historia medica. Necesidad en las organizaciones de identificar múltiples niveles de seguridad y categorizar la información y los usuarios acorde a éstos. Ej.: Top Secret, Secret, Confidential, Unclassified. La falta o carencia en mecanismos de seguridad y autorización puede resultar en la perdida o degradación de los siguientes aspectos: integridad, disponibilidad y confindencialidad. BD2 - Administración de un SGBD relacional NOTAS - Tipos de Seguridad Conceptos y amenazas Pérdida de integridad. La integridad de la base de datos tiene relación con el requisito a cumplir de que la información se encuentre protegida frente a modificaciones inadecuadas. La modificación de datos incluye la creación, inserción, modificación, cambio del estado de los datos y el borrado. La integridad se pierde si se realizan cambios no autorizados en los datos mediante acciones intencionadas o accidentales. Si no se corrige la pérdida de integridad del sistema o de los datos, el uso continuado de un sistema contaminado o de datos corrompidos podría tener como consecuencia la toma de decisiones inexactas, fraudulentas o erróneas. BD2 - Administración de un SGBD relacional NOTAS - Tipos de Seguridad Conceptos y amenazas Pérdida de disponibilidad. La disponibilidad de la base de datos tiene relación con que los objetos estén disponibles para un usuario humano o para un programa que tenga los derechos correspondientes. Pérdida de confidencialidad. La confidencialidad de la base de datos tiene relación con la protección de los datos frente al acceso no autorizado. El impacto del acceso no autorizado a la información confidencial puede variar desde la violación de las leyes sobre privacidad de los datos hasta la amenaza a la seguridad nacional. El acceso no autorizado,no previsto o no intencionado podría tener como resultado la pérdida de la confianza en la organización, el que ésta quede en entredicho o que sea objeto de acciones legales en su contra. BD2 - Administración de un SGBD relacional Conceptos y amenazas Medidas de control Para proteger las bases de datos contra estos tipos de amenazas, es habitual implementar cuatro tipos de medidas de control: Control de accesos (access control) Control de inferencias (inference control) Control de flujo (flow control) Cifrado (data encryption) BD2 - Administración de un SGBD relacional Mecanismos de seguridad DAC, MAC, Basado en roles ¿Qué mecanismos existen para proteger el acceso a Bases de Datos contra personas que no estén autorizadas? Control de Acceso Discrecional (DAC, Discretionary Access Control) conceder y revocar privilegios. Control de Acceso Obligatorio o Mandatorio (MAC, Mandatory Access Control) múltiples niveles de seguridad (Ejército). BD2 - Administración de un SGBD relacional Administrador de Base de Datos Usuario con “superpoderes”. Puede crear cuentas y grupos (acceso a BD) También realiza la concesión de privilegios (DAC) Revocación de privilegios (DAC) Asignación de niveles de seguridad a usuarios y objetos (MAC) BD2 - Administración de un SGBD relacional Control de Acceso Discrecional (DAC) Tipos de privilegios Se basa en conceder y revocar privilegios. Tipos de privilegios (siempre para usuarios): Nivel de Cuenta privilegios que tiene el usuario independiente de las relaciones de BD. CREATE. SCHEMA, TABLE, VIEW, etc. GRANT, REVOKE. Nivel de Relación (o Tabla) se controlan los privilegios de un usuario a nivel de relación o vista. Modelo de Matriz de Acceso: M(i,j) BD2 - Administración de un SGBD relacional Control de Acceso Discrecional (DAC) Modelo de Matriz de Acceso Modelo de Matriz de Acceso: M(i, j) i - son usuarios, cuentas, programas (SUJETOS) j - son relaciones, registros, columnas, vistas, operaciones (OBJETOS) Cada elemento de la matriz m(i,j) representa los tipos de privilegios (lectura, escritura o modificación) para el sujeto i y el objeto j. Para controlar la concesión o revocación de privilegios a cada relación se le asigna un usuario propietario que tiene todos los derechos sobre la misma. BD2 - Administración de un SGBD relacional Control de Acceso Mandatorio (MAC) Clases de seguridad / Bell-LaPadula Para ciertas aplicaciones se necesita una política de seguridad que clasifique los datos y los usuarios por niveles o clases de seguridad. Se crean clases de seguridad. Las más usuales son: TS, S, C, U. Se sigue el modelo de Bell-LaPadula (o BLP) Asigna a cada sujeto (usuario, cuenta, programa) y objeto (relación, tupla, columna, vista, operación) una clasificación de seguridad: TS, S, C, U u otra definida. NO al par sino a CADA UNO. BD2 - Administración de un SGBD relacional Control de Acceso Mandatorio (MAC) Reglas del modelo Bell-LaPadula El modelo BLP tiene las siguientes reglas. Ningún sujeto puede leer un objeto cuya clasificación de seguridad sea más alta que la acreditación del sujeto. Se prohíbe a un sujeto escribir un objeto que tenga la clasificación de seguridad menor que la acreditación del sujeto. La violación de esta regla permitiría el flujo de información desde un nivel de seguridad alto a uno más bajo. BD2 - Administración de un SGBD relacional Seguridad en BD Estadísticas Las BD Estadísticas son BD cuyo principal objetivo es obtener estadísticas generales de distinta índole: promedio, media, total, etc. Las técnicas de seguridad en éstas BD se basan en lograr que no se puede obtener tupas individuales de una consulta cualquiera. Ej.: La persona que gana más de 100.000 pesos BD2 - Administración de un SGBD relacional Catálogos y SQL esquemas (schema) Catálogos del sistema Esquemas SQL Seguridad y Autorización Tipos de seguridad Mecanismos de seguridad: DAC, MAC
Compartir