Bases de Datos 2
Teórico
Catálogo del Sistema
 Contiene una descripción completa de la
estructura de la base de datos y sus restricciones.
 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.
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.
Ficheros de 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):
 Primero se fija en el catálogo del sistema para ver la
estructura del fichero y que tipo de datos contiene.
 La estructura le dice: donde esta cada dato ( en que
byte y que largo tiene) , etc .
 Luego ingresa al fichero usando la información
obtenida del catálogo.
Catálogo del Sistema de PostGres
 Todos los catálogos del sistema tienen un nombre
que empieza por pg_...
 Más sobre catálogo de PostGres:
http://www.postgresql.org/docs/8.2/static/catalogs-
overview.html
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
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.
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 para hacerlos más manejables.
 Aplicaciones Third-party pueden ser “instaladas” en
esquemas diferentes y así evitar colisiones con los nombres
de los 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 miEsquema;
Vistas
 En terminología SQL , una vista (VIEW) es una tabla derivada de
otras tablas.
 Se les considera tablas virtuales porque no contienen datos ,solo
definiciones de cómo acceder a ellos.
 Las vistas proveen ventajas sobre las tablas “comunes”:
 Pueden contener subconjuntos de los datos contenidos en una tabla.
 Se puede realizar un JOIN o una PROYECCION y simplificar muchas tablas en una tabla “
virtual”. (“prolijidad” o seguridad)
 Pueden usarse como tablas de agregación, donde son “agregadas” al contener el
resultado de realizar cálculos sobre tablas “reales”.
 Pueden ocultar la complejidad de los datos (seguridad).
 Ocupan poco lugar de almacenamiento: solo su definición.
 Pueden limitar la exposición al “mundo exterior ” (seguridad).
Vistas
 Haga clic para modificar el estilo de texto del patrón
 Segundo nivel
 Tercer nivel
 Cuarto nivel
 Quinto nivel
Ejemplo: Dada una tabla definida como:
La siguiente es una vista definida sobre la misma:
CREATE VIEW clientes_ricos AS SELECT nombre, cedula
FROM cliente cl, cuentas cu WHERE cl.cuenta = cu.cuenta
and cu.saldo >100.000
Seguridad y Autorización
 ¿Que técnicas existen para proteger el acceso a
Bases de Datos contra personas que no estén
autorizadas?
 Control de Acceso Discrecional (DAC)
 conceder y revocar privilegios
 Control de Acceso Obligatorio o Mandatorio (MAC).
 múltiples niveles de seguridad (Ejército)
Tipos de Seguridad
 ¿Por que 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.
 Identificar múltiples niveles de seguridad.
Por ejemplo: Top Secret, Secret, Confidential,
Unclassified.
Administrador de Bases de Datos
 Usuario con “superpoderes” que puede:
 Crear cuentas y grupos (acceso a BD)
 Concesión de privilegios (DAC)
 Revocación de privilegios (DAC)
 Asignación de niveles de seguridad a usuarios y
objetos (MAC)
Control de Acceso Discrecional - DAC
 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)
Control de Acceso Discrecional - DAC
 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.
Control de Acceso Mandatorio - MAC
 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.
Control de Acceso Mandatorio - MAC
 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 . (POCO INTUITIVA)
Significa que: la violación de esta regla permitiría el
flujo de información desde un nivel de seguridad alto
a uno más bajo.
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 Bases de Datos
Estadísticas se basan en lograr que no se pueda
obtener tuplas individuales de una consulta
cualquiera.
 Ejemplo con la persona que gana más de 100.000
pesos

bd2-teorico03.pdf

  • 1.
    Bases de Datos2 Teórico
  • 2.
    Catálogo del Sistema Contiene una descripción completa de la estructura de la base de datos y sus restricciones.  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.
  • 3.
    Ficheros tradicionales  Enel 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.
  • 4.
    Ficheros de 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):  Primero se fija en el catálogo del sistema para ver la estructura del fichero y que tipo de datos contiene.  La estructura le dice: donde esta cada dato ( en que byte y que largo tiene) , etc .  Luego ingresa al fichero usando la información obtenida del catálogo.
  • 5.
    Catálogo del Sistemade PostGres  Todos los catálogos del sistema tienen un nombre que empieza por pg_...  Más sobre catálogo de PostGres: http://www.postgresql.org/docs/8.2/static/catalogs- overview.html
  • 6.
    Esquemas en Basesde 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
  • 7.
    Esquemas en Basesde 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.
  • 8.
    Esquemas en Basesde 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 para hacerlos más manejables.  Aplicaciones Third-party pueden ser “instaladas” en esquemas diferentes y así evitar colisiones con los nombres de los 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 miEsquema;
  • 9.
    Vistas  En terminologíaSQL , una vista (VIEW) es una tabla derivada de otras tablas.  Se les considera tablas virtuales porque no contienen datos ,solo definiciones de cómo acceder a ellos.  Las vistas proveen ventajas sobre las tablas “comunes”:  Pueden contener subconjuntos de los datos contenidos en una tabla.  Se puede realizar un JOIN o una PROYECCION y simplificar muchas tablas en una tabla “ virtual”. (“prolijidad” o seguridad)  Pueden usarse como tablas de agregación, donde son “agregadas” al contener el resultado de realizar cálculos sobre tablas “reales”.  Pueden ocultar la complejidad de los datos (seguridad).  Ocupan poco lugar de almacenamiento: solo su definición.  Pueden limitar la exposición al “mundo exterior ” (seguridad).
  • 10.
    Vistas  Haga clicpara modificar el estilo de texto del patrón  Segundo nivel  Tercer nivel  Cuarto nivel  Quinto nivel Ejemplo: Dada una tabla definida como: La siguiente es una vista definida sobre la misma: CREATE VIEW clientes_ricos AS SELECT nombre, cedula FROM cliente cl, cuentas cu WHERE cl.cuenta = cu.cuenta and cu.saldo >100.000
  • 11.
    Seguridad y Autorización ¿Que técnicas existen para proteger el acceso a Bases de Datos contra personas que no estén autorizadas?  Control de Acceso Discrecional (DAC)  conceder y revocar privilegios  Control de Acceso Obligatorio o Mandatorio (MAC).  múltiples niveles de seguridad (Ejército)
  • 12.
    Tipos de Seguridad ¿Por que 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.  Identificar múltiples niveles de seguridad. Por ejemplo: Top Secret, Secret, Confidential, Unclassified.
  • 13.
    Administrador de Basesde Datos  Usuario con “superpoderes” que puede:  Crear cuentas y grupos (acceso a BD)  Concesión de privilegios (DAC)  Revocación de privilegios (DAC)  Asignación de niveles de seguridad a usuarios y objetos (MAC)
  • 14.
    Control de AccesoDiscrecional - DAC  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)
  • 15.
    Control de AccesoDiscrecional - DAC  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.
  • 16.
    Control de AccesoMandatorio - MAC  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.
  • 17.
    Control de AccesoMandatorio - MAC  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 . (POCO INTUITIVA) Significa que: la violación de esta regla permitiría el flujo de información desde un nivel de seguridad alto a uno más bajo.
  • 18.
    Seguridad en BDEstadí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 Bases de Datos Estadísticas se basan en lograr que no se pueda obtener tuplas individuales de una consulta cualquiera.  Ejemplo con la persona que gana más de 100.000 pesos