Saltar al contenido principal

Gestión de derechos de usuario

Resumen​

El sistema de gestión de acceso de usuarios está diseñado para un control detallado sobre quién tiene acceso a qué recursos de la aplicación. Se utiliza un modelo de control de acceso basado en roles (RBAC), donde los usuarios se asignan a grupos y los derechos de acceso se otorgan a esos grupos. Esto asegura una gestión de acceso efectiva y segura.

Gestión de grupos​

Creación de un nuevo grupo​

  1. Ir a la sección de grupos:
    • Abra la pestaña Groups.
  2. Agregar un grupo:
    • Haga clic en el botón Create Group.
    • Proporcione un nombre descriptivo y una etiqueta.
    • Asigne derechos de acceso iniciales.
advertencia

En un nuevo proyecto, siempre se crea un grupo Invitado con un conjunto de restricciones predeterminado.

Pestañas del editor de grupos​

El editor de grupos consta de las pestañas Basic data, Attributes, Groups, Permissions, Final permissions y Version History.

En la pestaña Basic data, además del nombre y la etiqueta, hay una casilla de verificación Do not use permissions for this group: si está marcada, los usuarios del grupo obtienen acceso completo a todos los controladores de la API de contenido, excepto aquellos que requieren autorización.

Herencia de derechos de acceso​

En la pestaña "Groups" se presentan los grupos previamente creados de manera jerárquica, el nuevo grupo creado se puede conectar a un grupo ya existente para que herede derechos del grupo padre.

advertencia

Si en el grupo padre hay una restricción en la ruta, y en el grupo hijo esa misma restricción se sobrescribe, la restricción final será la del grupo hijo, pero solo si en el padre no se ha especificado la opción "Final permission".

Única grupo en la cadena

La especificación de un grupo solo es posible si no se ha seleccionado previamente ni un grupo padre ni un grupo hijo.

Modificación de derechos de acceso​

La pestaña "Permissions" es clave para editar los derechos de acceso.

Agrupación de derechos

Si anteriormente ha especificado un grupo padre para la herencia de derechos, toda la información sobre los accesos establecidos se mostrará en la tabla superior, la edición de los derechos heredados está prohibida. Los derechos que incluyen excepciones y los derechos no utilizados se agrupan por separado en la misma tabla.

Retraso en la aplicación de derechos

Los cambios en los derechos no entran en vigor de inmediato, generalmente dentro de un plazo no mayor a 5 minutos.

Acciones masivas​

En la pestaña "Permissions" hay botones para operaciones masivas:

  • Copy permissions from another group — agrega a la grupo actual todos los permisos del grupo fuente seleccionado. Los permisos existentes se mantienen, se omiten los duplicados.
  • Grant all permissions — otorga al grupo todos los permisos existentes. Los permisos ya otorgados permanecen sin cambios.
  • Revert bulk operation — revierte la última operación masiva (otorgar todos los permisos o copiar): solo se eliminan los permisos añadidos por esta operación, se mantienen las configuraciones manuales.

Antes de cada operación, la aplicación solicita confirmación.

Gestión de derechos de acceso​

Creación y edición de derechos de acceso​

Para comenzar a crear un derecho, haga clic en el botón "Crear derecho" en la pestaña "Permissions"

Un derecho de acceso consiste en una combinación de método y ruta.

Diagrama de permiso: método 'GET' y ruta '/api/content/pages' en la sección API.
  1. Crear un conjunto mínimo de permisos:
    • Esta opción permite minimizar la tarea de creación de derechos, generando el conjunto mínimo necesario de permisos.
advertencia

Disponible solo si no hay permisos previamente establecidos en el grupo

  1. Establecer restricciones en la entrega de datos:
    • La opción es aplicable solo cuando se selecciona "Crear un conjunto mínimo de permisos", establece una restricción en la entrega de datos.
tipo

La cantidad de registros se establece en la configuración

  1. Sección API:
    • Parámetro obligatorio, si se crea un nuevo acceso, indica la ruta para seleccionar permisos.
  2. Ruta:
    • La selección está disponible solo después de seleccionar la sección API, especifica la ruta para establecer derechos.
  3. Nombre:
    • Campo obligatorio para el nombre del derecho.
  4. Tabla de métodos (bloque Additional conditions):
    • La tabla presenta una selección de métodos HTTP para la ruta especificada: en la celda Get data (GET) — opciones without restrictions y with restriction on the number of records, otros métodos (por ejemplo, Add data para POST) se incluyen mediante una casilla de verificación. Si el método para la ruta no está disponible, en su celda se muestra "not available for selection".
Siempre 4 métodos

Para cualquier ruta en la tabla siempre se indican 4 métodos: GET, POST, PUT, DELETE

  1. Condiciones adicionales Estas condiciones no aparecen para todas las rutas, sino solo para las "listadas" y permiten configurar excepciones en los documentos obtenidos.

    • Si, por ejemplo, necesita otorgar un permiso para todas las páginas, pero hacer una excepción, puede hacer clic en el botón "Seleccione qué datos desea excluir". En la ventana adicional que se abre, puede seleccionar los datos a los que desea restringir el acceso.

    Consideremos algunos ejemplos de establecimiento de restricciones para implementar la tarea: Necesita restringir el permiso del grupo "Invitado" a la página "Cuenta personal" y a los atributos "Precio" y "Descuento personal".

    Diagrama: Paul y Alex en el grupo 'Buyer' con acceso total; John en el grupo 'Guest', sin acceso a 'Personal Account', 'Price' y 'Personal discount'.

    Ejemplo 1 - Restricción de acceso del grupo Invitado a ciertas páginas.​

    Para implementar esto, es necesario abrir en modo de edición el grupo "Invitado". Luego, abrir la pestaña "Permisos" y en la tabla de permisos creados encontrar "Extracción de todos los objetos de la página que contienen información sobre el producto, en forma de matriz".

    advertencia

    En el grupo "Invitado" por defecto existe este acceso, si en su grupo no está, debe crear un nuevo acceso. Para ello, haga clic en el botón "Crear acceso", en la ventana modal seleccione los siguientes parámetros: Sección API - pages Ruta - "Extracción de todos los objetos de la página que contienen información sobre el producto, en forma de matriz"

    Luego indicamos "Sin restricciones" Y abrimos la lista de páginas que queremos restringir, para ello, haga clic en el botón "Seleccione qué datos necesita". Indicamos la restricción para la página "Cuenta personal".

    Ventana de selección de páginas de la sección 'pages': 'Personal account' está marcada.

    No olvide, después de seleccionar las páginas, indicar la opción "Excluir" y "Permiso final" si es necesario, si los derechos pueden heredarse.

    Así es como debe verse toda la configuración:

    Configuración de acceso: sección 'pages', 'Read (GET)' marcado en 'Permission', 'Exclude' y 'Final permission' marcados en 'Additional conditions'.

    Con esto, la configuración de acceso está completa, después del botón "Guardar", todos los usuarios sin autorización recibirán solo 3 páginas en lugar de cuatro.

    Ejemplo 2 - Restricción de acceso del grupo Invitado a ciertos atributos.​

    Para implementar esto, es necesario abrir en modo de edición el grupo "Invitado". Luego, abrir la pestaña "Permisos" y en la tabla de permisos creados encontrar "Extracción de todos los atributos con datos del conjunto de atributos".

    advertencia

    En el grupo "Invitado" por defecto existe este acceso, si en su grupo no está, debe crear un nuevo acceso. Para ello, haga clic en el botón "Crear acceso", en la ventana modal seleccione los siguientes parámetros: Sección API - attributes-sets Ruta - "Extracción de todos los atributos con datos del conjunto de atributos"

    Luego indicamos "Sin restricciones" Y abrimos la lista de páginas que queremos restringir, para ello, haga clic en el botón "Seleccione qué datos necesita". Indicamos la restricción para los atributos "Precio" y "Descuento personal".

    advertencia

    Aquí se ve la lista de todos los atributos creados de todos los conjuntos de atributos.

    Ventana de selección de atributos de la sección 'attributes-sets': 'Personal discount' y 'Price' están marcados.

    No olvide, después de seleccionar las páginas, indicar la opción "Excluir" y "Permiso final" si es necesario, si los derechos pueden heredarse.

    Así es como debe verse toda la configuración:

    Configuración de acceso: sección 'pages', 'Read (GET)' marcado en 'Permission', 'Exclude' y 'Final permission' marcados en 'Additional conditions'.

    Con esto, la configuración de acceso está completa, después del botón "Guardar", todos los usuarios sin autorización al solicitar información sobre el producto, recibirán información limitada.

    Ejemplo 3 - Restricción de acceso del grupo Invitado a bloques.​

    Para implementar esto, es necesario abrir en modo de edición el grupo "Invitado". Luego, abrir la pestaña "Permisos" y en la tabla de permisos creados encontrar "Extracción de todos los objetos de bloque".

    advertencia

    En el grupo "Invitado" por defecto existe este acceso, si en su grupo no está, debe crear un nuevo acceso. Para ello, haga clic en el botón "Crear acceso", en la ventana modal seleccione los siguientes parámetros: Sección API - blocks Ruta - "Extracción de todos los objetos de bloque"

    Luego indicamos "Sin restricciones" Y abrimos la lista de bloques que queremos restringir, para ello, haga clic en el botón "Seleccione qué datos necesita".

    advertencia

    Aquí se ve la lista de todos los bloques creados de todos los grupos de bloques.

    Ventana de selección de bloques de la sección 'blocks': 'product block1' está marcado.

    No olvide, después de seleccionar el bloque, indicar la opción "Excluir" y "Permiso final" si es necesario, si los derechos pueden heredarse.

    Así es como debe verse toda la configuración:

    Configuración de acceso: sección 'blocks', ruta '/api/content/blocks', 'Read (GET)' marcado, 'Exclude' marcado en 'Additional conditions'.

    Con esto, la configuración de acceso a los bloques está completa.

    – Extracción de todos los objetos de usuarios – administradores. – Extracción de todos los objetos de conjuntos de atributos. – Extracción de todos los atributos con datos del conjunto de atributos. – Extracción de todos los objetos de la página que contienen información sobre el producto en forma de matriz. – Extracción de todos los objetos de bloques. – Extracción de todos los objetos de formularios. – Devolución de todas las suscripciones a productos. – Extracción de todos los objetos del repositorio de pedidos. – Búsqueda de todos los objetos con el estado del producto. – Extracción de todos los objetos de plantillas con filtrado por tipos. – Extracción de todos los objetos de vista previa de plantillas. – Obtención de todas las colecciones.

    Después de seleccionar los datos para excluir, aparecerán dos nuevas opciones: "Excluir" - la opción indica que los datos seleccionados queremos excluir. "Derecho final" - este derecho no se hereda en toda la cadena de grupos hijos (la opción solo está disponible si se selecciona la opción "Excluir").

advertencia

La selección de condiciones adicionales depende de la ruta seleccionada y no siempre está disponible. Si hay tal selección, se marca con un indicador - "Exceptions available for selection"

Lista de permisos: la ruta '/api/content/integration-collections' tiene el marcador 'Exceptions available for selection'.

En el bloque Additional Options de la ventana de derechos hay una casilla de verificación IP Check (verificación de IP).

Por defecto, los nuevos derechos van a la sección "Unused permissions", para activarlos, basta con seleccionarlos marcando la casilla a la izquierda del nombre.

Para abrir el editor, se utiliza el botón Editar

Para eliminar, use Eliminar

Comprensión de los derechos de acceso​

Los derechos de acceso son configuraciones detalladas que determinan qué acciones puede realizar un grupo con ciertos recursos. Están organizados por secciones de API y pueden ser refinados adicionalmente mediante condiciones.

Búsqueda de derechos en la tabla​

La búsqueda de los derechos necesarios en la tabla se realiza ingresando texto en el campo Search permission, seleccionando las secciones de API necesarias en el selector API Section y los filtros Show only unused (solo derechos no utilizados) y Only routes with available exceptions (solo rutas para las que hay excepciones disponibles).

Derechos finales​

La pestaña de derechos finales es una tabla informativa con filtrado por secciones de API para facilitar la búsqueda.

Cómo agregar un usuario a un grupo