El DBMS cuenta con un subsistema que se encarga de garantizar la seguridad de la base de datos. Este subsistema realiza lo siguiente:
Enviado por Erick Gracia • 28 de Abril de 2017 • Ensayo • 1.907 Palabras (8 Páginas) • 453 Visitas
A partir de los datos contenidos en una base de datos, se puede generar información de gran valor para los diferentes tipos de usuarios. La lectura, la modificación o destrucción de datos sin autorización puede ser fatal para la toma de decisiones, además de derivar en pérdidas económicas inimaginables, por lo tanto es de vital importancia mantener seguros los datos.
Es necesario proteger la información contra accesos con fines indebidos. Aun cuando no sea posible proteger los datos de forma absoluta, es necesario adoptar medidas de seguridad en varios niveles para cerrar la mayoría de los caminos al que intente hacer un mal manejo de datos.
El DBMS cuenta con un subsistema que se encarga de garantizar la seguridad de la base de datos. Este subsistema realiza lo siguiente:
- Identifica y autentifica a los usuarios, mediante códigos de acceso y palabras claves, entre otros.
- Autoriza el acceso considerado el tipo de terminal, el tipo de operación a realizar, la hora y/o el día en que se hace la solicitud.
- Protege los datos usando técnicas de encriptación, aplicables a todo tipo de bases de datos.
- Permite crear diferentes tipos de cuentas para los usuarios, asignándoles un nivel de seguridad específico, por medio de la concesión y revocación de privilegios.
- Maneja una tabla de usuarios con código y contraseña, así como una bitácora para el control de las operaciones efectuadas en cada sesión de trabajo por el usuario.
El personal responsable de la seguridad de la base de datos, tendrá que tomar en cuenta los niveles físico, humano, sistema operativo y el de la propia base de datos, identificando a un usuario. El subsistema de seguridad del DBMS facilitará su tarea.
Los mecanismos de seguridad deben establecerse desde el primer contacto que el usuario pueda tener con la base de datos. Antes de acceder a la base de datos, los usuarios tendrán que identificarse, así el sistema verifica su correspondiente archivo de usuario y a continuación procederá a autentificar su identificación.
Autentificar significa verificar la identidad del usuario, para esto, el subsistema de seguridad solicita información conocida sólo por la persona que el usuario dice ser.
En general, el proceso de identificación-autentificación puede repetirse un sin número de veces. En el caso de usuario en línea, esto formará parte del proceso de firmarse en el sistema y se realiza una vez por sesión; pero se puede repetir más de una vez si la base de datos lo requiere.
El subsistema de un DBMS, autoriza a los usuarios realizar operaciones con la base de datos mediante un método que asigna derechos a los usuarios con respecto a los recursos disponibles, registrándolos en una matriz, que en su momento será revisada por un programa llamado “verificador”, el cual tiene acceso total a la base de datos y su función es revisar cada petición de acceso y otorgar o negar permiso.
Es posible agregar controles estadísticos al utilizar operadores como AVERAGE. Se permite hacer referencia a las variables del sistema como fecha, hora o dirección de las terminales.
De la misma forma en que se controla el acceso a los objetos de datos, también se necesita controlar el acceso a los programas que acceden a la base de datos, asignando permisos como RUN para ejecutar y NONE para denegar el permiso.
Es importante controlar el acceso a la propia matriz de autorización, para esto es necesario considerar a la matriz como otro objeto más en el sistema, de esta manera se podrá integrar a los encabezados de la misma.
Una vez que se encuentra la matriz, el verificador se encarga de completar la fase de autorización. Este programa inspecciona la matriz de autorización y realiza una serie de pruebas para determinar si se concede la petición o no.
Las diferentes formas de autorización que pueden tener un usuario son:
- Lectura: Se asigna la autorización de lectura a todos los usuarios que necesitan leer datos, pero no modificarlos.
- Inserción: Esta autorización se asigna a los usuarios que van a agregar datos nuevos, pero no deben modificar los ya existentes.
- Actualización: Por medio de esta autorización se pueden modificar datos pero no eliminarlos.
- Borrado: Es la autorización que se asigna para poder eliminar los datos, el usuario puede borrar todas las tuplas deseadas de una relación, pero no la relación en sí.
- Índice: Autorización que se asigna para poder crear y eliminar índices.
- Recursos: Se asigna esta autorización a los usuarios que van a crear relaciones nuevas. Cuando un usuario con autorización de recursos crean una nueva relación se le asignan todos los privilegios sobre esa relación automáticamente.
- Alteración: Es la autorización que se asigna para poder agregar o eliminar atributos de una relación.
- Eliminación: Autorización que se asigna para poder eliminar relaciones por completo.
Los usuarios pueden tener asignadas una o varias autorizaciones de las mencionadas anteriormente, pero el usuario que tiene el máximo de autorizaciones es el Administrador de Bases de Datos (DBA).
En una base de datos relacional existen dos niveles de seguridad, el nivel de relación y el nivel de vista. El primero restringe el acceso directo de los usuarios a una relación, en tanto que el segundo restringe el acceso de los usuarios a la información que aparece en una vista.
El mecanismo de las vistas proporciona un buen sistema de seguridad, sin embargo, presenta ciertas desventajas:
Puede ser molesto cuando se quieren definir diferentes niveles de acceso para un usuario a distintos subconjuntos de la misma tabla.
Es importante incluir la cláusula WITH CHECK OPTION para que los registros insertados o actualizados a través de un avista, satisfagan el predicado en la definición de la vista.
También se debe considerar que cuando un registro es insertado a través de una vista, a cualquier campo de la tabla base que no aparezca dentro del conjunto definido en la vista, se le asignará un valor nulo; si dicho campo resulta ser un campo llave, provocaría además problemas de integridad.
...