Roles, Permisos y Recursos

Descripción

Desde el Backoffice de Administración se pueden gestionar los roles, permisos y recursos de QWC2.

Advertencia

La gestión de roles, permisos y recursos desde el Backoffice de Administración sólo es relevante si el método de autenticación es qwc-db-auth. Si el método de autenticación es algún tipo de SSO (Single Sign On) o LDAP, los roles, permisos y recursos se gestionan desde esos sitemas y no desde éste apartado.

En QWC2 Se pueden asignar permisos a los roles sobre recursos. Esto significa que, si deseas dar permisos a usuarios o grupos sobre recursos, primero debes crear un rol, configurar los permisos que ese rol tendrá sobre ciertos recursos y luego asignar el rol a los usuarios o grupos.

Roles

El primer apartado que encontramos es el de Gestión de Roles. Aquí podremos crear, editar y eliminar roles.

../../../../_images/roles_1.png

Recursos

Hay diferentes tipos de recursos, pero el más usado es Map, que equivale al servicio WMS correspondiente a un proyecto de QGIS. Existe el botón de Importar mapas para obtener los mapas publicados.

Los permisos del recurso Map controlan si un tema es visible y si el WMS correspondiente es accesible a través de qwc-ogc-service.

Nota: El comportamiento visual de los temas restringidos puede personalizarse con las siguientes opciones en la configuración del servicio mapViewer dentro de tenantConfig.json:

  • show_restricted_themes: Indica si deben mostrarse elementos de marcador de posición para los temas restringidos. Valor por defecto: false.

  • show_restricted_themes_whitelist: Lista blanca de nombres de temas restringidos que se mostrarán como marcadores de posición. Si está vacía, se mostrarán todos los temas restringidos. Solo se utiliza si show_restricted_themes está habilitado. Valor por defecto: [].

  • redirect_restricted_themes_to_auth: Indica si debe redirigirse al servicio de autenticación para iniciar sesión cuando se solicita un tema restringido mediante parámetros en la URL y el usuario no ha iniciado sesión. Valor por defecto: false.

../../../../_images/recursos_1.png

Permisos

Los permisos se basan en roles. Los roles pueden asignarse a grupos o usuarios, y los usuarios pueden ser miembros de grupos. Un rol especial es public. El rol público siempre se aplica, sin importar si un usuario ha iniciado sesión o no.

Los roles pueden recibir permisos para recursos.

La marca write solo se utiliza para los recursos de tipo Data y WFS Layer y determina si el conjunto de datos o la capa WFS es de solo lectura o editable.

Usando el parámetro de configuración permissions_default_allow en tenantConfig.json, algunos recursos pueden configurarse como permitidos o restringidos por defecto si no se asignan permisos explícitos (valor por defecto: false). Entre los recursos afectados se encuentran:

  • Map

  • Layer

  • Print template

  • Viewer task

  • FeatureInfo service

  • FeatureInfo layer

Por ejemplo:

  • permissions_default_allow=true: todos los mapas y capas están permitidos por defecto.

  • permissions_default_allow=false: los mapas y capas solo están disponibles si sus recursos y permisos están configurados explícitamente.

Según la identidad del usuario (nombre de usuario y/o nombre de grupo), todos los roles correspondientes y sus permisos y restricciones se recopilan desde la base de datos de configuración de QWC por el servicio QWC Config Generator, el cual genera un archivo permissions.json.

Los servicios QWC leerán el archivo permissions.json para filtrar las respuestas de acuerdo con estos permisos y restricciones, utilizando PermissionClient::resource_permissions() o PermissionClient::resource_restrictions() de QWC Services Core.

../../../../_images/permisos_1.png