Cuando se publica un cubo en O3 Server es necesario asignar accesos para que los usuarios comiencen a utilizar el cubo. Dependiendo de los requerimientos de cada usuario puede ser necesario restringir el acceso a determinadas dimensiones y medidas. Es posible también restringir en forma parámetrica el acceso a elementos específicos de cada dimensión, permitiendo implementar requerimientos de seguridad complejos.
Asignación Simple de Acceso a Cubos
La seguridad de O3 Server en su forma más simple permite otorgar o negar permisos de acceso a los cubos para cada uno de los roles que se definen en el servidor. Esta configuración de permisos se realiza para cada cubo, enumerando los roles que podrán tener acceso a dicho cubo. Agregado a los usuarios como actores de los roles es como se asigna acceso a los cubos.
Cuando un usuario intenta acceder a un cubo, O3 Server verifica si el usuario integra alguno de los roles asignados al cubo. Si el servidor encuentra un rol del usuario asignado al cubo, éste obtendrá el permiso para acceder al cubo bajo ese rol. Si un usuario está asociado con más de uno rol autorizado sobre un cubo, el usuario usará el primer rol de la lista de roles.
Para asignar roles autorizados a un cubo:
- Inicie el componente O3 Server Administrator.
- Expanda la rama Servicios | Cubos | Cubos disponibles del Árbol de Administración.
- Seleccione el cubo al cual desea asignar un rol y haga clic en la sección General del Panel de Propiedades. En la parte inferior de esta sección se encuentra la lista de roles autorizados.
- Haga clic en el botón Agregar, se agregara un nueva entrada a la lista de roles autorizados. Por defecto se agrega el rol Administrators.
- Para seleccionar el rol presione doble clic sobre la columna Rol de la nueva entrada a la lista. Aparecerá una lista desplegable con los roles definidos. Si no se indica ningún perfil (valor por defecto (ningún)) todos los usuarios que posean el rol seleccionado tendrán acceso a todas las dimensiones y medidas del cubo.
- Haga clic en el botón Aplicar del Panel de Propiedades, el cubo quedara accesible por los usuarios que posean el rol.
Para remover un rol autorizado a un cubo:
- Inicie el componente O3 Server Administrator.
- Expanda la rama Servicios | Cubos | Cubos disponibles del Árbol de Administración.
- Seleccione el cubo del cual desee remover un rol y haga clic en la sección General del Panel de Propiedades. En la parte inferior de esta sección se encuentra la lista de roles autorizados.
- Seleccione el rol a remover de la lista y haga clic en el botón Remover.
- Haga clic en el botón Aplicar del Panel de Propiedades. Es necesario considerar que un usuario puede tener más de un rol y para que el mismo no tenga mas acceso a un cubo es necesario remover todos los roles que tiene el usuario o bien remover al usuario de los roles que no correspondan más.
Nota
Antes de hacer algún cambio en las propiedades de un cubo, como ser los roles autorizados, es conveniente presionar el botón Refrescar para asegurarse que se cuenta con la lista actualizada de roles
Asignación Avanzada de Acceso a Cubos, Perfiles de Acceso
Además de la seguridad básica que permite la autorización de roles a los cubos, es posible asociar un Perfil de Acceso a los roles para indicar las partes del cubo que se pueden acceder.
Con un perfil de acceso se definen las restricciones sobre las dimensiones y medidas de un cubo. Los perfiles de acceso se definen a nivel de cada cubo por que hacen referencia a dimensiones y medidas que son especificas al mismo.
Un rol autorizado a un cubo puede tener un perfil de acceso asociado, lo que significa que los usuarios que acceden con ese rol tendrán las restricciones sobre dimensiones y medidas definidas por el perfil. Si un rol no tiene ningún perfil, los usuarios que acceden con ese rol no tendrán restricciones sobre las dimensiones y medidas, tendrán acceso a todas las dimensiones en forma completa y a las medidas.
Para definir un perfil de acceso en un cubo:
- Inicie el componente O3 Server Administrator.
- Expanda la rama Servicios | Cubos | Cubos disponibles del Árbol de Administración.
- Seleccione el cubo para el cual definir un perfil de acceso para restringir una dimensión o medida.
- Seleccione la sección Perfiles de Acceso en el Panel de Propiedades del cubo. Si el cubo no esta disponible a los usuarios esta sección aparcera como deshabilitada. En la sección General del cubo la propiedad Disponible debe estar seleccionada, si cambia esta propiedad para que quede habilitada la sección Perfiles de Acceso previamente debe hacer clic en el botón Aplicar para que el cambio sea efectivo. Por defecto cuando se publica un cubo por primera vez el mismo no queda disponible para los usuarios.
- Para agregar un nuevo Perfil de Acceso haga clic en el botón Agregar. En la parte superior de la sección hay una lista con los perfiles ya definidos. Al presionar el botón Agregar se agregara un nuevo perfil a la lista con el nombre Nombre_Perfil_#. Debajo de la lista de perfiles podrá cambiar el nombre al nuevo perfil. Debajo del nombre del nuevo perfil, existen a su vez dos secciones contenidas: Acceso a Dimensiones y Acceso a Medidas. En estas secciones se definen las restricciones sobre el perfil y por defecto quedan accesibles todas las dimensiones y medidas.
- Para definir las restricciones sobre dimensiones de un Perfil de Acceso, seleccione el perfil de la lista, el nombre del perfil seleccionado aparcera en el cuadro debajo de la lista y la sección contenida Acceso a Dimensiones mostrara una lista de las dimensiones del cubo. Para definir las restricciones sobre una dimensión es posible:
- Desmarcar la columna Accesible para restringir toda la dimensión. Las dimensiones marcadas como no accesibles no se muestran en la barra de dimensiones y los usuarios no pudra analizar el cubo por esa dimensión.
- Indicar desde que nivel hasta que nivel tendrán los usuarios analizar el cubo por la dimensión. Para ello es necesario indicar el rango de niveles en las columnas Desde el Nivel y Hasta el Nivel.
- Definir una expresión lógica para filtrar elementos de un nivel. Para ello es necesario indicar el nivel que sera filtrado en la columna Desde el Nivel e ingresar la expresión lógica en la columna Restricción.
- Para definir las restricciones sobre medidas de un perfil, seleccione el perfil de la lista y haga clic en la sección contenida Acceso a Medidas. Esta sección contiene una lista de las medias definidas en el cubo y podrá seleccionar en la columna Accesible las medidas que estarán disponibles para los usuarios a través de el perfil seleccionado.
- Para confirmar los cambios de seguridad realizados haga clic en el botón Aplicar del Panel de Propiedades.
Para asignar un perfil de acceso a un rol autorizado a un cubo:
- Inicie el componente O3 Server Administrator.
- Expanda la rama Servicios | Cubos | Cubos disponibles del Árbol de Administración.
- Seleccione el cubo para el cual asignar un perfil de acceso a un rol autorizado.
- Haga clic en la sección General del Panel de Propiedades. En la parte inferior de esta sección se encuentra la lista de roles autorizados.
- Seleccione el rol autorizado al cual quiere asignar un perfil de acceso. Si es necesario agregar un nuevo rol presione el botón Agregar a la derecha de la lista.
- En la columna Perfil correspondiente al rol seleccionado podrá seleccionar los perfiles de acceso definidos de una lista desplegable. Ademas de los perfiles definidos esta lista contiene la opción (ninguno), seleccionado esta opción el rol no tendrá ningún perfil asociado y los usuarios relacionados tendrán acceso a todas las dimensiones y medidas
- Para confirmar los cambios de seguridad realizados haga clic en el botón Aplicar del Panel de Propiedades.
Alcance de las restricciones sobre los Perfiles de Acceso
Usando perfiles de acceso el administrador podrá especificar:
- Las medidas del cubo que podrán ser accedidas.
- Las dimensiones del cubo que podrán ser accedidas.
- Desde qué nivel y hasta qué nivel de cada dimensión podrán ser accedidos. La raíz de la dimensión es representada por el nivel 0.
- Filtrar en forma parámetrica los elementos de un nivel de una dimensión definiendo una expresión lógica.
El uso de expresiones lógicas para filtrar elementos de un nivel permite implementar requerimientos de seguridad complejos. La expresión lógica es evaluada para cada elemento del nivel especificado y se mostrarán solamente los elementos para los cuales la expresión es verdadera. Esto se usa, por ejemplo, para que un vendedor solo pueda ver las ventas de los clientes que tiene asignados.
En la definición de las expresiones lógicas es posible usar los siguientes identificadores para referirse a los elementos de un nivel (nodos de la jerarquía de cada dimensión):
Identificador | Función |
---|---|
NodeKey | Retorna el valor de la clave del elemento que se está evaluando |
NodeLabel | Retorna el valor de la etiqueta del elemento que se está evaluando |
NodeLongLabel | Retorna el valor de la etiqueta larga del elemento que se está evaluando |
NodeDescription | Retorna el valor de la descripción del elemento que se está evaluando |
Nota
Estos identificadores son los definidos en O3 Designer para construir las dimensiones.
También es posible usar los siguientes identificadores para referirse a la identificación de usuario y su rol:
Identificador | Función |
---|---|
userName | Retorna el identificador del usuario que está logueado consultando el cubo |
roleName | Retorna el nombre del rol del usuario con el que abrió el cubo |
En forma adicional es posible definir atributos para cada usuario o rol y usarlos en las expresiones lógicas. Por ejemplo definiendo un atributo departamento cuyo valor es el nombre del departamento al que pertenece el usuario, es posible restringir a los usuarios para que solo puedan ver informacion de su departamento. El acceso al valor de los atributos desde las expresiones se realiza con las siguientes funciones:
Función | Descripción |
---|---|
getUserValue(<nombre del atributo>) | Retorna el valor asignado al atributo para el usuario que accede al cubo |
getRoleValue(<nombre del atributo>) | Retorna el valor asignado al atributo para el rol del usuario que esta accediendo al cubo |