Saltar a contenido

Roles

La seguridad de Clarive se gestiona a través del sistema de roles.

Todos los accesos y funciones que puede desempeñar un usuario o administrador se definen a través de roles. Los usuarios pueden tener uno o mas roles definidos. Esto hace que el acceso a Clarive por parte de un usuario esté limitado y controlado.

Ejemplo

Un rol de administrador puede estar definido con todos los privilegios que puede tener un administrador estándar, administrador de categorías, administración de notificaciones, acceso al planificador, gestión de usuarios, etc... Un gestor de incidencias puede estar definido por ejemplo con acceso completo a la categoría Incidencia pero sin accesos a otros tópicos como 'Factura' que podrá ser administrador por otro rol tipo "Jefe de RRHH".

Un usuario puede tener mas de un rol de tal manera que pueda acceder a más temas donde trabajar.

La administración de roles se realiza a través de la ruta Administración - Roles. Esto mostrará un listado con todos los roles creados y una barra de acciones.

La lista contiene las siguientes columnas:

  • Rol - El nombre del rol.
  • Descripción - La descripción del rol.
  • Buzón - Buzón al que pertenece el rol. Útil para las notificaciones.
  • Opciones - Resumen de las acciones del rol.

Opciones de la lista de roles

Crear

Pulsando en Crear, se abre una nueva ventana con las opciones necesarias para configurarlo:

  • Nombre del rol - El nombre que define el rol, por ejemplo, desarrollador, Release manager, etc...
  • Descripción - Una breve descripción del papel que desempeña el rol.
  • Dashboard - Clarive dispone de un sistema de dashboards. Aquí se pueden asociar los dashboards con roles de tal manera que en las preferencias de usuario solo aparecerán los dashboards que estén asociados sus roles. El primer dashboard que se añada, será el dashboard por defecto. Cada usuario podrá cambiar su dashboard por defecto en las preferencias del usuario.

Acciones disponibles

Seleccione un usuario y haga click en Editar. Todas las acciones disponibles se muestran en el panel izquierdo, las acciones al rol se muestran en el panel izquierdo. Un grupo de acciones o una acción específica se pueden añadir seleccionándola y arrastrando desde el panel izquierdo al panel derecho.

  • Descartar selección - Elimina las acciones seleccionadas.
  • Descartar todas - Elimina todas las acciones asociadas al rol.

Permitir / Denegar Acciones

Cada acción añadida a un rol puede configurarse como Permitir o Denegar:

  • Permitir - Otorga al usuario permiso para realizar la acción (comportamiento predeterminado).
  • Denegar - Deniega explícitamente al usuario el permiso para realizar la acción, incluso si otro rol lo otorga.

La denegación a nivel de acción tiene precedencia sobre todos los demás permisos. Si algún rol asignado a un usuario deniega una acción a nivel de acción (no solo a nivel de límites), el usuario no podrá realizar esa acción, independientemente de si otros roles otorgan el permiso.

Esto es particularmente útil para restringir el acceso a usuarios con el permiso de Acción Root. Por ejemplo, puede otorgar a un usuario privilegios root mientras deniega explícitamente el acceso a áreas sensibles como Administrar Demonios o Administrar Reglas.

Notas importantes:

  • Cuando una acción se deniega a nivel de acción, no se pueden configurar límites para esa acción (la configuración de límites estará deshabilitada).
  • La denegación a nivel de acción se aplica globalmente en todos los roles del usuario. Si algún rol deniega una acción, será denegada incluso si otros roles (incluidos aquellos con permisos root) la permiten.
  • Las acciones denegadas no aparecerán en la interfaz de usuario (menús, botones) y los intentos de acceso devolverán un error 403 Forbidden.

Ejemplo de caso de uso:

Un usuario con el rol CASI-ADMINISTRADOR necesita acceso de nivel root para gestionar la mayoría de las funciones administrativas, pero no debe tener acceso a la administración de demonios o reglas. Esto se puede configurar:

  1. Añadiendo la Acción Root al rol (otorgando acceso completo de administrador)
  2. Añadiendo Administrar Demonios con Denegar seleccionado
  3. Añadiendo Administrar Reglas con Denegar seleccionado

El usuario tendrá acceso root a todas las funciones administrativas excepto demonios y reglas, que permanecerán completamente inaccesibles.

Usuarios que tienen un rol

Permite ver los Usuarios que tienen el rol actual (en caso de estar en modo edición de rol) y en que ámbito está asignado.

Ámbitos que tiene usuarios con un rol asignado

Es una vista pivotal de la pestaña anterior. Permite ver los usuarios que tienen el rol.

Acciones

Las acciones están agrupadas de manera lógica para una mejor localización de las mismas. Los grupos de acciones son los siguientes:

  • --- - Acciones genéricas de usuario.
  • Usuario puede cambiar su contraseña - El usuario puede cambiar su contraseña desde el menú de usuario.
  • Ser un usuario diferente - Permite al usuario acceder a la herramienta con otro usuario. Recomendado solo para administradores.
  • admin - Todas las acciones relacionadas con la administración de la herramienta; administración de categorías, administración de usuarios, etc...
    • Administrar configuración avanzada - El usuario podrá configurar varias opciones de configuración de tiempo de ejecución. Se recomienda sólo para administradores.
    • Administrar Demonios - El usuario puede ver, editar o administrar demonios.
    • Administrar Eventos - El usuario puede consultar todos los eventos que suceden en Clarive.
    • Administrar Etiquetas - El usuario puede crear, editar o administrar etiquetas.
    • Administrar Instantáneas - El usuario puede crear, eliminar o exportar instántaneas.
    • Administrar Notificaciones - El usuario puede administrar el sistema de notificaciones.
    • Administrar Roles - Permite al usuario administrar los roles.
    • Acción Root - El usuario tendrá los mismos permisos que el usuario de sistema root. Recomendado solo para administradores del sistema. Use esta acción en vez de utilizar el usuario de sistema root. De esta manera se podrá distinguir a los diferentes administradores.
    • Administrar Reglas - Permite al usuario ver y administrar las reglas. Es posible utilizar este permiso solo para determinadas reglas. Esta acción otorga acceso completo a todas las operaciones de reglas. Para un control más granular, están disponibles las siguientes sub-acciones:
      • Crear Reglas - El usuario podrá crear nuevas reglas e importar reglas desde archivos.
      • Editar Metadatos de Regla - El usuario podrá editar los metadatos de la regla como nombre, descripción, tipo, vínculos de eventos y etiquetas de versión.
      • Modificar Código de Regla - El usuario podrá modificar el árbol/código de la regla, guardar sentencias de regla y revertir versiones de regla.
      • Eliminar Reglas - El usuario podrá eliminar reglas. Es posible restringir la eliminación a reglas específicas.
      • Activar/Desactivar Reglas - El usuario podrá activar o desactivar reglas. Es posible restringir esto a reglas específicas.
    • Administrar Planificador - Permite al usuario administrar el planificador para ejecutar reglas.
    • Administrar Semáforos - El usuario podrá ver y administrar los semáforos. Recomendado solo para administradores.
    • Mensajes del Sistema - El usuario podrá enviar mensajes del sistema a todos los usuarios existentes en la herramienta.
    • Administrar Categorías - Permite al usuario administrar las categorías de tópicos.User will be able to admin topic categories. Recomendado solo para administradores.
    • Actualizaciones - OBSOLETO
  • calendar - Agrupan todas las acciones relacionadas con el calendario de pases.
  • catalog - OBSOLETO
  • ci - Todas las acciones relacionadas con los Recursos. Se pueden dar permisos para administrar o ver. El permiso administrar también da permisos para ver los Recursos por lo que no es necesario añadir los dos. Para especificar los Recursos, hay que arrastrar la acción. En la ventana nueva, seleccionar los roles y las colecciones que el usuario puede ver/administrar, adicionalmente para aquellos Recursos (Proyecto, Variable, Naturaleza, ProjectTemplate) que tengan variables configurables el administrador puede limitar por entorno las variables que un rol puede editar. Es posible añadir también filtros negativos. Por ejemplo, en caso de que el usuario pueda ver todos los Recursos menos la colección Proyecto, se puede añadir Todos los roles y luego un filtro negativo para dicha colección.
  • development - Acciones relacionadas con el menú de Desarrollo.
    • Vaciar Caché - El usuario puede eliminar todos los datos cacheados en la aplicación incluidos los grids. Recomendado solo para entornos de desarrollo.
    • Referencias ExtJS API - OBSOLETOde ExtJS.
    • Ejemplos de ExtJS - OBSOLETOExtJS.
    • Diseñador GUI - OBSOLETO
    • Recargar JS - OBSOLETO
    • REPL - El usuario podrá ejecutar código arbitrario en el entorno de la aplicación. Recomendado sólo durante el desarrollo. PELIGROSO
    • Lenguajes en REPL - Los lenguajes de programación que el usuario podrá ejecutar en REPL se pueden restringir.
    • Secuencias - El usuario podrá ver secuencias de bases de datos.
  • git - Acciones relacionadas con el repositorio Git.
    • Usuario puede cerrar ramas - El usuario será capaz de ignorar las ramas de repositorio desde el panel de ciclo de vida
    • Acceder al repositorio git para lectura/escritura - El usuario podrá realizar pull y push al repositorio.
    • Crear repositorio git con el primer push - El usuario con permisos podrá crear e inicializar un nuevo repositorio, asignándolo al proyecto con el primer push a su URL.
    • Acceder al repositorio solo con permiso de lectura - El usuario podrá realizar pull del repostorio.
    • Puede actualizar las etiquetas del sistema de repositorios - El usuario podrá mover las etiquetas del sistema (entornos) en los repositorios.
  • help - Acciones relacionadas con el menú de ayuda.
    • Ver información del servidor en la ventana de Acerca de - El usuario podrá ver información más detallada en la ventana.
  • home - Acciones relacionadas con la herramienta como poder tener acceso al panel de ciclo de vida o al menú superior.
    • El Usuario puede generar documentación desde los tópicos y vistas - OBSOLETO
    • El Usuario puede acceder al menú - El usuario puede ver el menú principal de la herramienta.
    • El usuario puede acceder a los repositorios de un proyecto - El usuario puede ver los repositorios assignados a un proyecto desde el panel de ciclo de vida.
    • El usuario puede acceder a las vistas de releases - OBSOLETO
    • El usuario puede acceder a la vista de workspace - OBSOLETO.
  • jobs - Todo lo relacionado con despliegues, posibilidad de crear un nuevo pase, reiniciar un despligue, cancelarlo, etc...
    • Acceder al menú avanzado en el detalle del log de pase - El usuario puede acceder a los datos del stash. Recomendado solo para administradores.
    • Aprobar/Rechazar un pase - Permite al usuario aprobar o rechazar pases desde el monitor.
    • Cancelar pases - Permite al usuario cancelar pases. Es posible asignar esta acción solo para determinados entornos.
    • Cambiar la regla por defecto en la ventana de nuevo pase - El usuario puede cambiar la regla de pase durante la creación de un nuevo pase. Recomendado solo para administradores.
    • Cambiar el estado del pase en el paso POST - Permite al usuario cambiar el estado del pase en el paso POST. Es posible asignar esta acción a determinados entornos.
    • Empezar nuevos pases - Permite al usuario crear nuevos pases. Esto incluye cualquier tipo de pase.
    • Eliminar un pase - El usuario puede eliminar un pase. No es recomendable eliminar pases. Es posible asignar esta acción para determinados entornos.
    • Forzar Rollback - El usuario puede forzar el rollback aunque no sea necesario. Es posible asignar esta acción a entornos concretos.
    • Crear pases fuera de ventana - El usuario podrá crear pases fuera de las ventanas de pase disponibles.
  • Reiniciar pases - El usuario podrá reiniciar pases a través del Monitor. Es posible asignar esta acción a determinados entornos.
    • Reanudar pases - El usuario podrá reanudar pases a través del Monitor, por ejemplo desde el estado PAUSA.Es posible asignar esta acción a entornos específicos.
    • Ejecutar pases In-Proc, sin Servidor Web - El usuario podrá ejecutar los pases dentro del proceso del servidor web. No es necesario que el dispatcher esté funcionando. Recomendado sólo durante el desarrollo.
  • Ver el Monitor de pases -El usuario podrá ver el Monitor de pases.
  • Ver los pases - El usuario podrá ver los pases en el Monitor de pases. Es posible asignarla sólo a entornos específicos.
  • labels - Permite al usuario realizar acciones tales como añadir una etiqueta o eliminarla de un tópico.
    • Adjuntar etiquetas a un tópico - OBSOLETO
    • Administrar etiquetas en proyectos - Permite gestionar etiquetas por proyecto desde el panel de la izquierda del proyecto.
    • Eliminar etiquetas de un tópico - OBSOLETO
  • projects - Acciones relacionadas con el ciclo de vida de un proyecto.
    • Administrar proyectos propios - El usuario puede administrar sus propios proyectos pero no los ajenos.
  • report - Acciones que permiten ver informes o ver los campos dinámicos de un informe.
    • Ver campos dinámicos -El usuario podrá ver campos de informes dinámicos.
    • Ver informes - El usuario podrá acceder al menú de Informes desde el panel de ciclo de vida.
  • search - Acciones que permiten al rol buscar jobs, Recursos o tópicos.
  • Buscar Recursos - El usuario podrá buscar Recursos desde la barra de búsqueda situada en la parte superior de la herramienta.
    • Buscar Pases - El usuario podrá buscar pases desde la barra de búsqueda situada en la parte superior de la herramienta.
    • Buscar Tópicos - El usuario podrá buscar tópicos desde la barra de búsqueda situada en la parte superior de la herramienta.
  • topics - Permite al usuario ver tópicos, eliminar tópicos, crear un tópico, añadir comentarios en los tópicos, etc... Una vez que la acción es arrastrada, es posible filtrar para que el usuario solo pueda realizar dicha acción para determinadas categorías.
    • Ver actividad del tópico - El usuario podrá ver la actividad del tópico. Esto incluye todos los cambios en los datos de los tópico.
    • Cambiar el estado de un tópico a cualquier estado disponible - El usuario puede cambiar a cualquier estado todas las categorías o las especificadas.
    • Añadir/Ver los comentarios en los tópicos - Permite al usuario ver o añadir comentarios.
    • Crear Tópico - El usuario puede crear tópicos para todas o para categorías específicas.
    • Eliminar tópico - El usuario puede eliminar tópicos para todas o para categorías específicas.
    • Editar tópico - El usuario puede editar tópicos de todas o de las categorías específicas.
    • Ver los pases del tópico - El usuario puede ver los pases donde el tópico ha sido incluido.
    • Cambiar el estado del tópico logicamente (sin pase) - El usuario podrá cambiar el estado de los tópicos sin iniciar un pase si así lo requiere el workflow del tópico.
    • Ver tópico - El usuario puede ver tópicos para todas o para categorías específicas.
    • Ver gráfico de relaciones en el tópico - El usuario puede ver las gráficas de las relaciones del tópico.
  • topicsfield - Permite configurar las acciones para ver y/o editar los campos de los tópicos. Es posible configurarlos en función de la categoría y el estado del tópico. Tan solo hace falta añadir la categoría, el estado y el campo para que el usuario pueda interactuar con el mismo. También es posible realizar filtros en negativo, por ejemplo, dotar a un usuario de permisos para ver todos los campos de una categoría menos el campo 'Estimación'. Para ello, se le asigna permisos para ver todos los campos de esa categoría y se le asigna un filtro negativo para el campo 'Estimación'.

Nota: Es necesario definir al menos una acción de tipo Permitir para poder guardar los permisos. Ya que no existen permisos por defecto, no es posible guardar si sólo se han definido acciones de tipo Denegar.

Editar

Permite editar el rol seleccionado. Una vez realizados los cambios, seleccionar Aceptar. Si no desea guardar tras editar un rol, seleccione Cerrar.

Duplicar

Permite duplicar el rol seleccionado. Se creará un nuevo rol con los mismos valores que el original. Es decir, mismas acciones y dashboards así como la descripción. El nombre es el mismo pero con un número entero concatenado al final del nombre.

Eliminar

Elimina uno o varios roles seleccionados. El sistema pedirá confirmación de ello antes de eliminarlo. Si se borrar un rol que está asignado a un usuario, el rol también se eliminará del usuario.

Además, se dispone de una barra de búsqueda para buscar Roles por Rol o descripción.

Eventos de Roles

Clarive genera automáticamente eventos cada vez que se crean, modifican o eliminan roles. Estos eventos pueden utilizarse para activar reglas e integrar las actividades de gestión de roles con otros procesos del sistema.

Eventos Disponibles para Roles

Los siguientes eventos están disponibles para la gestión del ciclo de vida de los roles:

  • event.role.create - Se dispara cuando se crea un nuevo rol. Este evento se genera después de que el rol ha sido creado exitosamente en el sistema.

  • event.role.modify - Se dispara cuando se modifica un rol existente. Este evento captura los cambios en las propiedades del rol como nombre, descripción, buzón, dashboards o acciones.

  • event.role.delete - Se dispara cuando se elimina un rol. Este evento se genera antes de que el rol sea eliminado del sistema.

Datos del Evento

Cada evento de rol incluye la siguiente información en el stash del evento:

  • role - El nombre del rol que está siendo creado, modificado o eliminado.
  • username - El nombre de usuario de la persona que realizó la operación.
  • id - El identificador único del rol (para operaciones de modificación y eliminación).
  • row - Los datos completos del rol incluyendo todos los campos y acciones.

Para event.role.modify, el evento también incluye:

  • fields_modified - Un array con los nombres de los campos que fueron modificados (por ejemplo, ["role", "description", "actions"]).
  • old_value - Un hash/objeto que contiene los valores anteriores de los campos modificados, indexados por nombre de campo (por ejemplo, {role: "Desarrollador", description: "Descripción antigua"}).
  • new_value - Un hash/objeto que contiene los nuevos valores de los campos modificados, indexados por nombre de campo (por ejemplo, {role: "Desarrollador Senior", description: "Descripción nueva"}).

Para los cambios de acciones específicamente, el evento proporciona información detallada:

  • actions_added - Un array de objetos de acción que fueron añadidos al rol. Cada objeto contiene action (la clave de la acción) y bounds (los límites de la acción).
  • actions_removed - Un array de objetos de acción que fueron eliminados del rol.
  • actions_modified - Un array de objetos que describe acciones cuyos límites fueron modificados. Cada objeto contiene:
  • action - La clave de la acción.
  • old_bounds - La configuración anterior de límites.
  • new_bounds - La nueva configuración de límites.

Uso de Eventos con Reglas

Los eventos de roles pueden utilizarse para crear flujos de trabajo automatizados. Por ejemplo:

  • Registro de auditoría - Crear una regla para registrar todos los cambios de roles en un sistema de auditoría externo.
  • Notificaciones - Enviar notificaciones a los administradores cuando los roles son modificados o eliminados.
  • Validación - Usar reglas pre-online para validar los cambios de roles antes de que se confirmen. Por ejemplo, prevenir la eliminación de roles críticos del sistema.
  • Integración - Sincronizar los cambios de roles con sistemas externos como LDAP o Active Directory.

Reglas Pre-Online y Cancelación

Todos los eventos de roles soportan reglas pre-online, lo que significa que puede cancelar una operación de rol antes de que se ejecute. Si una regla pre-online lanza un error o falla, la creación, modificación o eliminación del rol será cancelada y revertida.

Ejemplo: Crear una regla pre-online para event.role.delete que verifique si el rol está asignado a usuarios críticos. Si es así, la regla puede lanzar un error para prevenir la eliminación y notificar al administrador.