• No se han encontrado resultados

Caracter´ısticas Especiales y Tabla Comparativa

2.3. Resumen

3.1.5. Caracter´ısticas Especiales y Tabla Comparativa

Caracter´ısticas Especiales Espec´ıficamente SQL Server y Oracle Server contienen ciertas caracter´ısticas (cada uno por separado) que los otros manejadores analizados no las poseen, y que a su vez los coloca como DBMS vers´atiles y con ventajas competitivas

a considerar.

SQL Server posee estas caracter´ısticas([17]),([18]) :

Triggers Instead Of. Estos reemplazan toda la acci´on del evento para el cu´al se est´an declarando. Se interpreta como evento las operaciones SELECT, DELETE, UPDATE o INSERT. Por ejemplo si se define un trigger de este tipo en una tabla para un DELETE, se ejecutar´a el c´odigo que contenga el trigger, en vez de la operaci´on DELETE original.

Contextos de ejecuci´on en Stored Procedures ([29]). Este tipo de contexto, permite definir el tipo y modo de ejecuci´on de un stored procedure sin importar qui´en lo invoque.

Control granular de permisos. Permite a los administradores manejar permisos a un nivel granular haciendo la administraci´on de los permisos f´acil.

Separa los usuarios de los esquemas. Significa que la liga entre el usuario y los objetos de los que es due˜no ya no existe. Por ejemplo, en versiones anteriores si se desea borrar un usuario, es necesario borrar todos los objetos relacionados a ´el, afectando posiblemente a aplicaciones que los utilicen; pero ahora ya no es necesario borrar los objetos, el usuario es borrado sin ning´un problema.

Pol´ıticas de passwords. Los administradores pueden aplicar las mismas pol´ıticas que utiliza Microsoft Windows en la administraci´on de sus passwords.

Triggers para DDL. Es posible implementar triggers para este tipo de instruc- ciones (CREATE, ALTER, DROP, etc).

Encripta la informaci´on ya almacenada. Oracle Server tiene la siguiente caracter´ıstica:

Definici´on de pol´ıticas de acceso ([22]). Estas pol´ıticas son estructuras que se activan dependiendo de la operaci´on (SELECT, DELETE, UPDATE o INSERT) efectuada sobre una tabla y que a su vez usan stored procedures para validar y determinar si el usuario tiene permitido ejecutar dicha operaci´on sobre la tabla.

Tabla comparativa Hay que agregar que todos los DBMS mencionados anterior- mente soportan la creaci´on de vistas, las mismas que pueden ser utilizadas en las pr´acticas del control de acceso.

A continuaci´on se muestra una tabla que detalla de manera descriptiva las carac- ter´ısticas con las cu´ales cuentan los DBMS analizados.

Item Criterios Informix Sybase Oracle SQL Server 1 Capacidad para que un

usuario al que se le otor- ga un rol, pueda a su vez otorgar ´este a otro usuario

Si No Si Si

2 Activaci´on de varios roles por sesi´on

No Si Si Si

3 Especificar un rol de- fault para una sesi´on de usuario

No Si Si Si

4 Especifica el m´aximo o m´ınimo de usuarios asig- nados a un rol

No No No No

5 Asigna privilegios de sis- tema a roles y usuarios

No Si Si Si

6 Asigna privilegios de ob- jetos a roles y usuarios

Si Si Si Si

7 Soporta creaci´on de vis- tas

Si Si Si Si

8 Creaci´on de Stored Pro- cedures Si Si Si Si 9 Triggers en DDLs No No Si Si 10 Separaci´on Usuario- Esquema No No No Si

Tabla 3.1: Tabla Comparativa de los DBMS (Criterios)

Para la creaci´on de la tabla comparativa, se han tomado criterios obtenidos a su vez de las caracter´ısticas esenciales que existen en los RDBMS y que pueden ayudar a construir un control de acceso. A continuaci´on se menciona en qu´e consiste cada criterio:

1. Capacidad para que un usuario al que se le otorga un rol, pueda o su vez otorgar ´este a otro usuario. Este criterio se refiere a que un usuario pueda tomar un rol que le fue asignado y tener la capacidad de asignar ese rol a otro usuario, aunque el creador del rol haya sido un tercero.

2. Activaci´on de varios roles por sesi´on. Al conectarse a la base de datos el usuario puede tener uno o m´as roles asignados y la capacidad de poder activar m´as para la misma sesi´on.

3. Especificar un rol default para una sesi´on de usuario. Significa que cuando el usuario se conecta, ya tiene un rol asignado autom´aticamente.

4. Especifica el m´aximo o m´ınimo de usuarios asignados a un rol. Este criterio se refiere a que en la creaci´on del rol se especifique el n´umero de usuarios al que podr´a ser asignado como m´aximo y el n´umero m´ınimo de usuario al que se tiene que asignar.

5. Asigna privilegios de sistema a roles y usuarios. Este criterio consta de poder asignar a role y/o usuarios privilegios poderosos, como creaci´on de tablas, usuarios y otros objetos, asignaci´on ilimitada de recursos de la base de datos.

6. Asigna privilegios de objetos a roles y usuarios. Consta de la capacidad de asignar privilegios a usuarios y/o roles de consulta, inserci´on, actualizaci´on, borrado y ejecuci´on sobre los objetos de la base de datos.

7. Soporta creaci´on de vistas. La capacidad de crear a partir de queries espec´ıficos, los objetos llamados vistas.

8. Creaci´on de Stored Procedures. Capacidad para crear triggers, funciones, proced- imientos y paquetes.

9. Triggers en DDLs. Capacidad para crear triggers en sentencias de creaci´on, bor- rado y modificaci´on de objetos de base de datos.

10. Separaci´on Usuario-Esquema. Significa que no existe una relaci´on estrecha entre el due˜no de un esquema y sus objetos, ya que se puede eliminar al due˜no (borrarlo) sin necesidad de eliminar a los objetos que ´este haya creado.

3.2.

Pr´acticas del Control de Acceso. Casos y Apli-