sábado, 28 de diciembre de 2013

Configuración de roles en Schema Workbench


Los Roles se utilizan como en el resto de la herramienta pentaho para administrar el acceso a los datos de los schemas creados con el “Schema Workbench” o el resto de sus aplicaciones, se pueden configurar diferentes roles para los diferentes niveles del schema. Además hay que tener en cuenta que tenemos que tener a su vez definidos los roles en la plataforma.


Los diferentes niveles son para la configuración de roles son:
  • Schema
  • Cubo
  • Dimensión
  • Jerarquía
  • Miembros 

Configuración de acceso para los roles:
  • Un <SchemaGrant> define el acceso predeterminado para los objetos de un esquema. El atributo de acceso puede ser "all" o "none", pudiendo reemplazarse en acceso objetos específicos del cubo.



  • Un <CubeGrant> define el acceso a un cubo en particular. Cuando el <SchemaGrant> tiene asignado en el acceso “all” se puede limitar el acceso en un nivel inmediatamente inferior con <CubeGrant>. Los atributos utilizables son "all" o "none".




  • Un <DimensionGrant> define el acceso a un cubo en particular. Cuando el <CubeGrant> tiene asignado en el acceso “all” se puede limitar el acceso en un nivel inmediatamente inferior con <DimensionGrant>. Los atributos utilizables son "all" o "none".



  • Un <HierarchyGrant> define el acceso a una jerarquía. El atributo de acceso puede ser "all" (todos los miembros son visibles), "none" (la jerarquía existente en el cubo está oculta para el usuario) y "custom".
          – topLevel para definir el nivel superior
          – bottomLevel para definir el nivel inferior

  • <MemberGrant> concede o quita el acceso a un miembro determinado, y todos su hijos. Sólo se puede definir un elemento <MemberGrant> si su <HierarchyGrant> tiene el acceso configurado a "custom".
1. Los miembros heredan el acceso de sus padres. Ej: si niega el acceso a California, no será capaz de ver San Francisco.
2. Concesiones dependen del orden. Ej, si se concede el acceso a USA, a continuación, negar el acceso a Oregon, entonces no será capaz de ver de Oregon. Pero si se niegan a el acceso a Oregon, a continuación, conceder el acceso a USA, se puede ver todo.
3. Un miembro es visible si alguno de sus hijos son visibles. Ej: si negamos el acceso a USA, a continuación, conceder el acceso a California. Seremos capazes de acceder USA, y California, pero ninguno de los otros estados.
4. Miembro concede no anulan la jerarquía superior que le otorgan y de la parte inferior de los niveles. Si se establece topLevel = "[tienda]. [Estado de la tienda]", y conceder



Ejemplo de uso de los roles con Pentaho Schema Workbench:



  • Proceso Común:

Abra la herramienta Pentaho Mondrian Schema Workbench para diseñar un cubo. En lugar de diseñar un nuevo cubo desde el principio, vamos a utilizar el cubo (SampleData.mondrian.xml) que está disponible como parte de la descarga de Pentaho.(Para saber cómo diseñar un cubo utilizando Pentaho esquema Workbench, consulte la entrada anterior)


Para este ejercicio, utilice el cubo de muestra 'SampleData.mondrian.xml' que se encuentra en la ruta: '~ / bi-developers/analysis /'





La marca [x] menciona los elementos del esquema no están definidos correctamente. Para resolver este problema, expanda el nodo 'Quadrant Analysis' haciendo doble clic sobre él. Seleccione la tabla 'QUADRANT_ACTUALS ", en el panel derecho, establezca la propiedad de squema para la tabla como 'public'. Del mismo modo, ampliar cada uno de los nodos de cota, seleccione el elemento de la tabla y establezca la propiedad de esquema para las tablas como'Public'. Una vez solventados estos errores, voy a explicar como crear un schema en el que configuraremos roles.



En el schema 'SampleData' se ha definido un cubo con sus dimensiones y medidas. En estos vamos a añadir los controles de acceso (roles) para el cubo 'Quadrant Analysis.' Para ello, después de abrir el archivo xml esquema Mondrian para el cubo de la herramienta de esquema Workbench, haga clic con el botón derecho del ratón en el elemento 'squema' y seleccione 'add role'




Esto agregará un nuevo rol en el cubo con el nombre "New Role 0 '.



  • Agregar rol concreto
Una vez que se añade el Rol, cambie su valor del campo nombre por 'Admin' en el panel del lado derecho.

Haga clic con el botón derecho sobre  'Admin' y seleccione 'Agregar esquema de Grant. Esto agregará un nuevo elemento llamado 'squema de Grant' en el rol "Admin". Deje que la propiedad de acceso en 'squema de Grant' con (all), dejando dar permisio de acceso a ese rol.

Haga clic derecho sobre el elemento 'squema Grant' y seleccione 'Agregar Cube Grant'. Esto agregará un nuevo elemento 'Cube Grant' al  'squema de Grant'. Seleccione el elemento 'Cube Grant' y configure las propiedades con los valores deseados como:
   Access -> all
   Cube -> Seleccionar el cubo  'Análisis Quadrant '. (squema puede tener más de un schema para cubo, pudiendo ver todos los schemas asignados a cada schema, teniendo que asignar un schema concreto de los configurados).

Hemos definido el rol llamado 'Admin' y usuarios con este rol pueden tener acceso total sobre el cubo 'Quadrant Analysis'.


  • Agregar rol de Autenticación:

Una vez más, para agregar otro papel como "autenticado", haga clic derecho en el elemento 'squema' en la parte superior del archivo de esquema, y ​​seleccione 'Add rol '. Esto agregará un nuevo papel para el esquema con el nombre de 'New Rol 1'. Seleccione la función que acaba de agregar 'New Rol 1' y cambie su el contenido de la propiedad Name a "autenticado".

Haga clic derecho sobre el rol "autenticado" y seleccione 'Agregar squema de Grant'. Esto agregará un nuevo elemento en la función "autenticado". Deje que la propiedad de acceso al 'squema Grant', ya que es (es decir, "todos").

Haga clic derecho sobre el elemento 'squema Grant" y seleccione 'Agregar Cube Grant'. Esto agregará un nuevo elemento 'Cube Grant' en el elemento' squema Grant'. Por ultimo seleccione 'Cube Grant' y en la propiedad 'access' asigne el valor 'all', dando permiso a todos los usuarios autenticados por medio de este rol.

Haga clic derecho sobre el elemento 'Cube Grant' y seleccione 'Hierarchy Grant'. Esto agregará un nuevo elemento 'Hierarchy Grant' en el elemento' Cube Grant'. Seleccione la opción 'Hierarchy Grant' y establezca las siguientes propiedades en el panel de la derecha.

Access -> none
Hierarchy -> Región (Esta "Hierarchy" propiedad listará todas las jerarquías del cubo tiene.)

Hemos añadido otra función llamada "autenticado" al cubo y usuarios con este rol a tener un acceso limitado al cubo es decir, el usuario no puede capaz de ver la columna de la 'Región' en el cubo.

Por Ultimo faltará publicar el el schema

Publique el archivo de esquema en el servidor Pentaho, usando 'Archivo -> Publicar'.



  • Comprobación del proceso realizado


Abra la consola de usuario de Pentaho en el navegador pulsando la URL http://localhost:8080/pentaho

Acceda a la aplicación como "joe (admin)« usuario y contraseña como 'password'.

Haga clic en el botón 'Nueva vista de análisis ", se abrirá un diálogo que muestra el esquema de acceso para el usuario. Seleccione el esquema  "SampleData ' y el Cube " Análisis Quadrant'.

Abriendo un cubo como se muestra a continuación.



Una vez tenemos el cubo si intentamos navegar por el mismo nos damos cuenta que las regiones no se pueden expandir ya que el usuario joe es un usuario registrado, por lo que al bloquear las regiones para los usuarios logeados hace que no podamos navegar por las regiones.




No hay comentarios:

Publicar un comentario