Configuración

Roles

El segundo paso para aterrizar el modelo de gobierno de la organización en Anjana Data es establecer la definición de roles de gobierno.

Un rol es el mecanismo mediante el cual se asignan responsabilidades y capacidades de actuación a los usuarios de la plataforma, determinando qué acciones pueden realizar sobre los distintos objetos y en qué ámbitos (dominios de datos o de forma transversal). Los roles permiten, por tanto, operativizar el modelo de gobierno de datos definido por la organización.

Cada rol de gobierno actúa, además, como la base de los mecanismos de autorización, ya que en combinación con las unidades organizativas (dominios de datos) establece qué usuarios pueden desempeñar qué funciones sobre los activos asociados.

d9aba584-043e-4019-80e7-d2c353d6aeeb.png

Los roles pueden configurarse de dos formas:

  • Roles verticales: aplican únicamente sobre un dominio de datos concreto. Cada unidad organizativa tendrá sus propios usuarios con ese rol.

  • Roles transversales (cross): aplican de forma global sobre todos los dominios de datos de la organización, con los mismos permisos en cada uno de ellos.

image-20250821-083410.png
Ejemplo de modelo operativo con roles verticales y transversales

Una vez definidos los roles, se deben asignar nombres y descripciones conforme al modelo de gobierno de la organización, procurando que estén alineados con la terminología oficial de su marco de gobierno del dato (ej. Data Owner, Data Steward, Data Custodian).

Nota importante: los roles por sí mismos no definen acciones. Para que un rol sea operativo es necesario asociarle un paquete de permisos (tabla Permissions) que determine las operaciones que puede realizar sobre los distintos tipos de objetos y módulos de la plataforma.

En Anjana Data, los roles se configuran en la tabla Roles del Panel de configuración y estarán disponibles posteriormente en las pantallas de asignación de permisos ( Permissions), usuarios a roles ( User-OU-Roles)y en la configuración de workflows ( BPM).

Tabla Roles del Panel de Configuración (Visión administrador)

Los roles se configuran en la tabla Roles del Panel de configuración. La definición de los roles es un paso previo indispensable para poder configurar los permisos (se gestiona en la tabla Roles) y la autorización, es decir, la asignación de roles a usuarios dentro de determinadas unidades organizativas, lo cual se gestiona en la tabla User-Ou-Roles.

image-20251028-181239.png

Estructura de la tabla Roles

Cada rol registrado se caracteriza por los siguientes campos:

  • id: identificador único del rol.

    • Se asigna automáticamente en base a las secuencias de base de datos.

  • module: módulo al que pertenece el rol. Actualmente es un campo informativo (legacy) heredado de versiones antiguas.

    • Valores posibles:

      • "BG"Business Glossary

      • "DC"Data Catalog

      • "ALL" → aplica a toda la plataforma (opción recomendada).

  • name: nombre asignado al rol.

    • Este valor debe ser único: no se pueden configurar dos roles con el mismo nombre.

    • El nombre no debe contener caracteres que coincidan con el separador de unidades organizativas (/), para evitar conflictos en la autorización.

    • Además, puede traducirse a los distintos idiomas de la aplicación utilizando como clave de traducción ROLE.<name> en la tabla Translations.

  • description: descripción textual del rol.

    • Campo informativo para documentar las funciones o responsabilidades que asume el rol.

  • isCross: indicador que define si el rol es transversal (cross), es decir, si aplica de manera global a todos los dominios de datos de la organización y, por tanto, no es necesario seleccionar unidades organizativas al ser asignado a un usuario.

  • isDefault: indicador que define si el rol aplica a todos los los usuarios que se autentiquen correctamente.

Los permisos por objeto que se asignan al rol por defecto, aplican sobre todas las Unidades Organizativas, por lo que adquiere capacidades de rol cross. Es importante tener esto en consideración a la hora de determinar qué permisos se asignan al rol por defecto.

image-20250821-085040.png
Ejemplo de Perfil de Usuario donde se visualizan los roles que tiene asignados el usuario en las diferentes unidades organizativas


Alta de un Rol en la tabla Roles

El alta de un nuevo rol (por ejemplo, el DPO - Data Protection Officer) implica añadir en la tabla Roles un nuevo registro.

Para añadir el registro y dar de alta un nuevo rol:

  1. Pulsar el botón New en la esquina superior derecha. Esto abrirá un asistente (wizard) con los campos definidos en el apartado Estructura de la tabla Roles.

  2. Completar los campos del rol conforme a la estructura descrita en el apartado anterior.

  3. Pulsar en Save para guardar el rol o en Cancel para descartar.

image-20251028-181639.png
Ejemplo de alta de un nuevo rol


Modificación de un Rol en la tabla Roles

La modificación de los campos name o isCross debe realizarse con precaución, ya que puede tener impacto en:

  • La asignación de permisos (tabla de permisos Permissions).

  • La asignación de roles a usuarios (tabla User-Ou-Roles).

    • Si se desea desmarcar el flag isCross de un rol, se avisará al configurador de que el cambio no es posible mientras haya usuarios con ese rol asignado.

  • La configuración de workflows con pasos de validación asociados a determinados roles.

  • Las traducciones del Role.<name> del rol en los distintos idiomas de la aplicación.

Consulta y explotación de los roles en base de datos (Visión desarrollador)

Además de configurarse desde el Panel de configuración, la información de los roles queda almacenada en la base de datos y puede consultarse en modo lectura para explotarla con fines analíticos. Por ejemplo, permite que el cliente construya su propio data mart, cuadros de mando o informes sobre el modelo de roles de su plataforma (roles transversales, roles por defecto, etc.).

Este apartado está orientado a la consulta (solo lectura) de la información. El alta y la modificación de roles deben realizarse siempre desde el Panel de configuración (visión administrador), como se describe en los apartados anteriores; no se recomienda escribir directamente sobre las tablas.

Tabla zeus."role"

La configuración de cada rol se almacena en la tabla zeus."role". Sus columnas, disponibles para su consulta, son:

Columna

Tipo de dato

Descripción

id_role

int4 (INTEGER)

Identificador único del rol (clave primaria).

is_cross

bool (BOOLEAN)

Indica si el rol es transversal (cross), es decir, si aplica a todos los dominios de datos.

is_default

bool (BOOLEAN)

Indica si el rol se aplica por defecto a todos los usuarios (valor por defecto false). Al marcarse, el rol adquiere también capacidades de rol cross.

module

varchar(255)

Campo informativo legacy (BG, DC o ALL).

role_name

varchar(255)

Nombre único del rol. Se emplea como referencia en la asignación de permisos y de roles a usuarios, y como base de su clave de traducción (ROLE.<name>).

role_description

varchar(255)

Descripción textual del rol (campo informativo).

Tablas relacionadas para enriquecer las consultas

Para obtener una vista más completa, la tabla de roles puede cruzarse con otras tablas del modelo:

  • Permissions: permisos asociados a cada rol; permite conocer qué operaciones habilita cada rol.

  • User-OU-Roles: asignación de roles a usuarios dentro de cada unidad organizativa; permite analizar la autorización efectiva.

  • Translations: nombre del rol traducido por idioma (clave ROLE.<role_name>).

Ejemplos de consulta

Listado de roles con sus indicadores:

SQL
SELECT id_role,
       role_name,
       is_cross,
       is_default,
       module
FROM zeus."role"
ORDER BY role_name;

Roles transversales o por defecto:

SQL
SELECT role_name, is_cross, is_default
FROM zeus."role"
WHERE is_cross = true
   OR is_default = true;

Recuento de roles transversales frente a verticales (útil como métrica para un data mart):

SQL
SELECT is_cross,
       COUNT(*) AS total
FROM zeus."role"
GROUP BY is_cross;

Importante:

  • Utilice un usuario de base de datos con permisos de solo lectura para estas consultas. El alta y la modificación de roles deben realizarse siempre desde el Panel de configuración, para mantener la integridad de secuencias, permisos, autorización, traducciones y cachés.

  • Los nombres de esquema, tablas y columnas pueden evolucionar entre versiones de Anjana Data; conviene validarlos antes de construir un data mart o informes sobre esta información.

Configuración del rol por defecto

Además de la asignación individual de usuarios a roles específicos, Anjana Data permite configurar uno o varios roles por defecto con el objetivo de que cualquier usuario que se registre en la aplicación herede automáticamente los permisos asociados a dichos roles, sin necesidad de asignarlos manualmente uno a uno.

La elección del rol por defecto en Anjana Data se realiza mediante el flag isDefault en la tabla Role y, automáticamente, al ser marcado como default también se marca como rol cross.