• No se han encontrado resultados

Atributo de Clasificaci´on de Informaci´on y Usuarios

4.3. Funcionamiento y Componentes del Control de Acceso

4.3.3. Atributo de Clasificaci´on de Informaci´on y Usuarios

El atributo de clasificaci´on es una caracter´ıstica o un patr´on, el cu´al se usa para agrupar la informaci´on que existe dentro del modelo de datos que se desea o desean proteger y que a su vez, sirva para agrupar tambi´en a los usuarios de dicho modelo. En otras palabras, el atributo de clasificaci´on es un dato f´acilmente identificable dentro de la operaci´on diaria de la organizaci´on y que adem´as ya existe dentro de las estructuras de las tablas de los modelos de datos. Para clarificar este punto, piense en el ejemplo anterior, la pol´ıtica de zona; esta pol´ıtica menciona a los usuarios de la zona occidente, viendo esto, se puede deducir que el datoZONAes sensible dentro de la operaci´on diaria y de la informaci´on de la organizaci´on, ya que ciertos procesos pueden basarse en el datoZONA para su funcionamiento. Por ejemplo, suponga que se decide crear una nueva pol´ıtica de acceso que diga:

Los usuarios de la zona occidente pueden accesar s´olo a la informaci´on de dicha zona, entendiendo por accesar las actividades de consultar, agregar y modificar datos.

Esta pol´ıtica de acceso nos lleva a revisar el modelo de datos y verificar que se pueda clasificar la informaci´on y los usuarios por medio del atributoZONA. Es muy im- portante hacer hincapi´e en este aspecto: el conocimiento del modelo de datos debe de ser el suficiente para poder llevar acabo la tarea de constatar que el atributoZONAexiste dentro de las tablas del modelo y que es el indicado ya que es la principal caracter´ıstica y requerimiento de la clasificaci´on de la informaci´on y usuarios.

Esta clasificaci´on lleva a identificar de manera f´acil y r´apida dentro del modelo, qu´e informaci´on corresponde a qu´e zona. Hasta aqu´ı se ha visto que es necesario tener el conocimiento necesario del modelo de datos a proteger y que a partir de esto se

puede clasificar la informaci´on en base al atributo seleccionado. Pero falta clasificar a los usuarios; en esta parte se tiene que echar mano de la creaci´on de un objeto en la base de datos para poder clasificarlos. Este objeto es una tabla, llamada tabla de clasificaci´on, misma que es creada con la cuenta SYSTEM o con la cuenta administradora que se destinar´a para el control de acceso. La tabla de clasificaci´on debe contener dos campos en su estructura:

Campo que contendr´a elUSERID (o cuenta de base de datos) de los usuarios que se conectan a la base de datos. El tipo de dato es VARCHAR2 y en el nombre del campo se debe incluir la palabra USERID.

Campo que contendr´a el valor del atributo por el cu´al se est´a clasificando. El tipo de dato depender´a del tipo de dato que sea el atributo. De manera general puede ser VARCHAR2, ya que puede ser convertido a otros tipos en operaciones posteriores. Este campo no tiene restricci´on en el nombre. Para el ejemplo de esta secci´on ser´a VARCHAR2.

Regresando al ejemplo, se puede construir la tabla de clasificaci´on como sigue:

USERID ZONA

FRODRIGUEZ OCCIDENTE

Aqu´ı se puede apreciar e identificar la clasificaci´on de los usuarios y a qu´e atrib- uto pertenecen o est´an asignados; por lo tanto de la tabla de clasificaci´on se puede deducir que el usuario FRODRIGUEZ pertenece a la zona occidente; as´ı cada cuenta de base de datos de los usuarios deber´a existir en esta tabla de clasificaci´on y determinar a qu´e ZONA pertenece. Habr´a algunos que no sea necesario ponerlos en esta tabla, por ejemplo los s´uper usuarios como SYSTEM, SYS, los due˜nos de los modelos de datos y cuentas especiales o administradoras.

Antes de continuar es necesario hacer un conjunto de aclaraciones:

El atributo es seleccionado o elegido por los usuarios administradores respons- ables de la operaci´on de los procesos de la organizaci´on y los DBA’s. Tanto en las pol´ıticas de acceso como en la selecci´on del atributo, ellos son los respons- ables de la implementaci´on y selecci´on (respectivamente) de dichos componentes, apeg´andose a las necesidades de acceso de la organizaci´on. En esta tarea se debe de seguir un proceso de estudio y an´alisis en el cu´al se involucre a todos los usuar- ios de la informaci´on, modelo de datos y se revise el impacto que tendr´a en la operaci´on diaria de la organizaci´on.

Para la tabla de clasificaci´on, es necesario que el valor del atributo sea identificado de la misma manera en como se hace dentro del modelo de datos, por ejemplo,

si dentro del modelo de datos existe el dato ZONA y las ocurrencias v´alidas del mismo son OCCIDENTE, SUR, NORTE y ORIENTE; entonces la tabla de clasificaci´on debe de contener estas mismas ocurrencias como v´alidas para la clasificaci´on de los usuarios.

La clasificaci´on de los usuarios, es decir, definir qu´e usuario se clasificar´a con qu´e valor del atributo, es responsabilidad de los usuarios administradores respon- sables de la operaci´on de los procesos de la organizaci´on y los DBA’s.

El modelo de datos debe tener un est´andar bien definido en lo que se refiere a los nombres de tablas y campos. Esto es con el fin de que al desarrollar la funci´on de acceso, el nombre de las tablas y campos puedan ser usados de manera f´acil para hacer funciones generalizadas y que puedan aplicar a varias tablas. Es decir, recu´erdese que la funci´on de acceso consta de dos par´ametros, uno de ellos es OBJECT en cu´al describe el nombre de la tabla que se est´a accesando, entonces dentro de esta funci´on de acceso, se usan sentencias PLSQL comoOBJECT||’ ZONA’; esta sentencia ayuda a identificar el campo ZONA de cualquier tabla, sin necesi- dad de hacer una funci´on de acceso especializada para cada tabla. As´ı se puede asegurar que una pol´ıtica de acceso puede aplicar para varias tablas.

La tabla de clasificaci´on no es r´ıgida en cuanto al tama˜no de los campos. Tampoco al asignar el atributo al usuario, ya que puede ser que un usuario aplique para ser clasificado en m´as de un atributo; si este es el caso, se debe separar los atributos por comas como valor dentro del campo del atributo.

Hasta este punto parecer´ıa que la tabla de clasificaci´on no tiene relaci´on alguna con los otros componentes, pero no es as´ı. La tabla de clasificaci´on determina algo muy importante: identificar a los usuarios. Por ejemplo en la pol´ıtica recientemente definida: Los usuarios de la zona occidente pueden accesar s´olo a la informaci´on de dicha zona, entendiendo por accesar las actividades de consultar, agregar y modificar datos.

Es necesario identificar qu´e usuarios son de dicha zona. Sin la tabla de clasificaci´on, no podr´ıa ser posible que se identificara a los usuarios de esta zona y sin eso no podr´ıa ser debidamente implementada la pol´ıtica de acceso en su respectiva funci´on de acceso, ya que esta ´ultima hace uso de la informaci´on presente en la tabla de clasificaci´on y as´ı determinar que el usuario que est´a accesando a los datos, llegue s´olo a los que se le est´a permitido. Esto se logra al construir el predicado extra usando la correspondencia que debe existir entre el atributo del registro que est´a accesando el usuario, y el atributo que al que ´este est´a asignado en la tabla de clasificaci´on.

Ahora que se tienen comprendidos todos los elementos que integran el control de acceso, se dar´a cabida al template de especificaci´on de las pol´ıticas de acceso. Este punto se vi´o hasta este momento porque era necesario conocer el atributo de clasifi- caci´on de informaci´on y de usuarios. Como se sabe, las pol´ıticas de acceso son definidas textualmente; tambi´en se habl´o de que los responsables de la definici´on de ´estas son los usuarios administradores o responsables de la operaci´on de la organizaci´on y tambi´en pueden ser los administradores de la base de datos. Pero a continuaci´on se mostrar´a el template de especificaci´on de las pol´ıticas que ser´a usado para generar el c´odigo para las mismas. Conociendo esto y conociendo el atributo de clasificaci´on, se propone usar el siguiente template para la especificaci´on de la pol´ıtica de acceso:

Pol´ıtica: Aqu´ı se define el nombre de la pol´ıtica de acceso

Tabla a proteger: Nombre de la tabla que se proteger´a. Due~no tabla a proteger: Due~no del esquema al que pertenece la

tabla a proteger.

Atributo de Clasificaci´on: Es el atributo de clasificaci´on que se ha definido para el control de acceso.

Operaciones en las que aplica: Son las operaciones DML SELECT, INSERT, DELETE y/o UPDATE.

Tabla de clasificaci´on: Nombre de la tabla de clasificaci´on a usar. Tabla 4.1: Template de Especificaci´on de las Pol´ıticas de Acceso

Con este sencillo template, los datos son tomados como parte de los par´ametros que se requieren para la generaci´on de c´odigo; este template es dado al encargado de generar el c´odigo y a su vez lo usar´a para alimentar la consola de generaci´on de c´odigo y complementarla con otro par´ametros que requiere, tales como el nombre de la funci´on de acceso y el nombre del paquete que encapsular´a a la funci´on de acceso; para un mejor entendimiento en la secci´on 4.6 se mostrar´a la consola de generaci´on y los par´ametros que ´esta recibe.

Para ejemplificar el uso del template de especificaci´on de las pol´ıticas, t´omese como ejemplo la pol´ıtica de acceso Pol´ıtica de Zona, la cu´al dice:

Pol´ıtica de Zona. Los usuarios de la zona occidente de la organizaci´on, s´olo pueden consultar los datos de las ventas diarias (tabla VENTAS DIARIAS) hechas en su zona.

Entonces la template de especificaci´on de la pol´ıtica de zona queda de la siguiente manera:

Pol´ıtica: Zona

Tabla a proteger: VENTAS DIARIAS Due~no tabla a proteger: VENTAS

Atributo de Clasificaci´on: ZONA Operaciones en las que aplica: SELECT

Tabla de clasificaci´on: TABLA CLASIFICACION Tabla 4.2: Template de Especificaci´on de la Pol´ıtica de Zona

Los datos de este template ser´an usados para generar el c´odigo para la pol´ıtica de acceso zona. De la misma forma las pol´ıticas de acceso pueden ser localizadas dentro de la base de datos usando la vista del diccionario de datos llamanda DBA POLICIES. Esta informaci´on puede ser obtenida despu´es de que la pol´ıtica sea implementada en la base de datos. Los campos importantes de esta vista son:

OBJECT OWNER. Este campo describe el due˜no de la tabla que se est´a prote- giendo.

OBJECT NAME. Es el nombre de la tabla protegida. POLICY NAME. Es el nombre de la pol´ıtica.

PF OWNER. Es el due˜no del esquema en donde se compil´o el paquete que con- tiene a la funci´on de acceso.

PACKAGE. Nombre del paquete que contiene a la funci´on de acceso. FUNCTION. Nombre de la funci´on de acceso.

SEL. Este campo contiene el valor ”YES”para indicar que la pol´ıtica de acceso protege a la tabla contra operaciones SELECT.

INS. Contiene el valor ”YES”para indicar que se protege a la tabla contra opera- ciones INSERT.

UPD. Contiene el valor ”YES”para indicar que se protege a la tabla contra op- eraciones UPDATE.

DEL. Contiene el valor ”YES”para indicar que se protege a la tabla contra op- eraciones DELETE.

ENABLE. Este campo tiene el valor ”YES”indicando que la pol´ıtica de acceso est´a activa.

Despu´es de estas aclaraciones, se contin´ua con la descripci´on de los pasos para implementar el control de acceso.

4.4.

Pasos para Implementar el Control de Acceso