Bahena

Friday, June 02, 2006

JOSE LUIS SANCHEZ BAHENA

INGENIERIA EN SISTEMAS COMPUTACIONALES

BASE DE DATOS

LIC. ERICK TELLEZ

021U0324



SEGURIDAD E INTEGRIDAD

La información almacenada en la base de datos debe estar protegida contra accesos no autorizados, destrucción o alteración con fines indebidos y la introducción accidental de inconsistencia.

Violaciones de la seguridad e integridad

El mal uso que se haga de la base de datos puede ser intencionado o accidental. La pérdida accidental de la consistencia de los datos puede deberse a:

- Caídas durante al procesamiento de las transacciones

- Anomalías por acceso concurrente a la base de datos

- Anomalías que resultan de la distribución de los datos entre varios computadores

- Un error lógico que viola la suposición de que las transacciones respetan las protecciones de consistencia de la base de datos.Algunas de las formas de acceso indebido son las siguientes:

- Lectura de datos sin autorización

- Modificación de datos sin autorización

- Destrucción no autorizada de los datos

Para proteger a la base de datos es necesario adoptar medidas de seguridad en varios niveles:

- Físico

- Humano

- Sistema operativo

- Sistema de base de datos

La seguridad de todos los niveles anteriores deben mantenerse para asegurar la seguridad de la base de datos.

Autorizaciones y vistas

Una vista puede ocultar datos que el usuario no tiene necesidad de ver.

Esta posibilidad sirve tanto para simplificar la autorización del sistema como para fomentar la seguridad.Lo normal es que la base de datos relacionales cuentan con dos niveles de seguridad:

- Relación: Puede permitir o impedirse que el usuario tenga acceso directo a una relación.

- Vista: Puede permitirse o impedirse que el usuario tenga acceso a la información que aparece en la lista.

Un usuario puede tener varias formas de autorización sobre partes de la base de datos. Entre ellas se encuentran las siguientes:

- Autorización de lectura: Que permite leer pero no modificar, la base de datos.

- Autorización de inserción: Que permite insertar datos nuevos, pero no modificar los ya existentes.

- Autorización de actualizaciones: Que permite modificar la información pero no permite la eliminación de datos.

- Autorización de borrados: Que permite la eliminación de datos.Un usuario puede tener asignados todos, ninguno o una combinación de los tipos de autorización anteriores.

Además de las formas de autorización de acceso de datos antes mencionadas, es posible autorizar al usuario para que modifique el esquema de la base de datos:

- Autorización de índice: Permite la creación y eliminación de índices.v Autorización de recursos: Permite la creación de de relaciones nuevas

- Autorización de alteración: Permite agregar o eliminar atributos de una relación

- Autorización de eliminación: Permite eliminar relacionesLas autorizaciones de eliminación y borrado difieren en cuanto a que la autorización de borrado solo permite la eliminación de tuplas.

La creación de una vista no requiere de autorización de recursos. El usuario que crea una vista no recibe necesariamente todos los privilegios sobre esa vista.

Aunque es posible impedir que un usuario tenga acceso directo a una relación, puede permitirse acceso a una parte de la relación por medio de una vista.Un usuario puede tener varias formas de autorización sobre partes de la base de datos. Entre en ella se encuentran las siguientes:

· AUTORIZACION DE LECTURA: permite leer, pero no modificar la base de datos.

· AUTORIZACION DE INSERCION: puede insertar datos nuevos, pero no modificarlos los ya existentes.

· AUTORIZACION DE ACTUALIZACION: permite modificar la información, pero no permite la eliminación de datos.

· AUTORIZACION DE BORRADO: permite la eliminación de datos.

Es posible autorizar al usuario para que modifique el Esquema de la base de datos.

· AUTORIZACION DE INDICE: permite al creación y eliminación de índices.

· AUTORIZACION DE RECURSOS: permite la creación de relaciones nuevas.

· AUTORIZACION DE ALTERACION: permite agregar o eliminar atributos de una relación.

· ATORIZACION D ELIMINACION: permite eliminar relaciones.

Las autorizaciones de eliminación y borrado en cuanto a la que la autorización de borrado solo permite la eliminación de tuplas. Si un usuario elimina todas las tuplas de una relación, estas quedaran vacía pero seguirá existiendo. Si se eliminan dejara de existir

Especificación de la seguridad en SQL

El lenguaje de definición de datos de SQL incluye mandatos para conceder y revocar privilegios. El conjunto exacto de privilegios depende de la versión de SQL que consideramos.

El lenguaje original incluìa un conjunto de privilegios sobre relaciones y vistas. IBM SAA SQL incluye una lista modificada de privilegios: alter (modificar), delete (borrar), index (ìndice), insert (insertar), select (elegir) y update (actualizar).Para conceder un privilegio y permitir al beneficiario pasar el privilegio a otros usuarios.

Por defecto un usuario al que se le concede un privilegio en SQL no está autorizado a conceder éste privilegio a otro usuario. Para conceder un privilegio y permitir al beneficiario pasar el privilegio a otros usuarios, la sentencia with grant option (con opción de concesión) se añade al mandato grant apropiado.La sentencia revoke(revocar) se utiliza para anular la autorización. Toma en forma id-entica a la de grant:

El privilegio select esta en correspondencia con el privilegio read.

El SQL estándar incluye privilegios delete, insert, selct, update, incluyendo también el privilegio referentes (referencias) que restringe la habilidad del usuario crear relaciones.

Si las relaciones que va a ser creada incluye una clave exterior que referencia los atributos de otra relación.

La sentencia que se usa para otorgar privilegios es grant.Es grant on toLa lista de privilegios permite conceder varios privilegios en un solo mandato. La siguiente sentencia grant concede a los usuarios U1 , U2 y U3 la autorización select sobre la relación de sucursal:Grant select on sucursal to U1,U2,U3La siguiente sentencia grant da a los usuarios U1,U2,U3 autorización de actualización sobre el atributo saldo de la relación deposito.

Grant update (saldo) on deposito to U1,U2,U3El privilegio references del SQL estándar del ANSI se concede sobre los atributos específicos de una forma similar a los anteriores para el privilegio update.

La siguiente sentencia grant permite al usuario U1 crear relaciones que referenciar la clave exterior nombre—sucursal sobre la relación sucursal.Grant references (nombre-sucursal) on suscrusal to U1La sentencia revoke (revocar) se utiliza para anular la autorización. Toma en forma casi identica a de grant.Revoke de privilegios>On fromPara revocar el privilegio anterior se escribe:Revoke select on sucursal from U1,U2,U3Revoke update (saldo) on deposito from U1,U2,U3Revoke references (nombre-sucursal) on sucursal from U1

0 Comments:

Post a Comment

<< Home