Roles y permisos
Imagine que ha asignado a su compañera minji.kim@example.com al Space de su tienda de ropa. Quiere encargarle que registre y edite productos, pero le preocupa darle también la tarea de eliminar productos o de hacerlos públicos hacia el exterior. Ese conjunto de permisos que define "qué puede hacer y qué no puede hacer un miembro dentro de un mismo Space" es el SpaceRole.
En lugar de asignar permisos por separado a cada miembro uno por uno, el SpaceRole funciona creando de antemano un conjunto de permisos y luego adjuntándolo a los miembros. Por ejemplo, si crea una vez un rol que "solo puede leer y editar productos", a los compañeros a quienes vaya a encargar el registro de productos solo tiene que adjuntarles ese único rol. Aunque aumente el número de miembros, no necesita definir los permisos desde cero cada vez.
En esta página primero veremos qué es un SpaceRole y qué permisos contiene, y después crearemos directamente en el Space de la tienda de ropa un rol de "encargado del registro de productos".
El rol de Space es distinto del rol de Organization
En WEEGLOO hay dos lugares donde se definen los permisos. Es fácil confundirlos, así que primero trazaremos la frontera.
- El rol de Organization (Owner, Admin, Member) es el nivel dentro de toda la empresa. Define quién puede realizar tareas que abarcan toda la Organization, como invitar miembros o crear un nuevo Space.
- El SpaceRole es el permiso dentro de un Space concreto. Define hasta dónde puede llegar un miembro al manejar contenido dentro de ese espacio de trabajo, como crear, editar y publicar productos.
A una misma compañera puede darle un SpaceRole distinto en cada Space. Por ejemplo, en el Space de la tienda online puede permitirle incluso editar productos, mientras que en el Space de anuncios internos puede dejarla solo con acceso de lectura. Esta página trata únicamente del SpaceRole. El rol de Organization y la invitación y asignación de miembros se tratan en Organización y espacio.
Lo que contiene un rol: sobre qué, qué acción
Un SpaceRole contiene "sobre qué objetivo, qué acción, si se permite o se deniega".
Primero, los objetivos sobre los que se definen los permisos son de cuatro tipos. Los tres siguientes comparten el mismo conjunto de acciones; el cuarto, Script, tiene acciones distintas y se trata aparte más abajo.
- Content Type: la plantilla de formato, como productos o anuncios.
- Content: cada uno de los productos creados con esa plantilla.
- Media: archivos subidos, como fotos o vídeos.
Las acciones que se pueden permitir o denegar para cada objetivo son las siguientes.
Las acciones se muestran en inglés en la pantalla. El significado de cada acción es el siguiente.
| Acción (etiqueta en pantalla) | Qué hace |
|---|---|
| Read | Ver la lista y el contenido |
| Create | Crear algo nuevo |
| Edit | Modificar y guardar algo que ya existe |
| Delete | Eliminar |
| Publish | Publicar para que se haga público (se entregue) hacia el exterior |
| Unpublish | Retirar la publicación para detener la difusión externa |
| Archive | Mover al estado archivado |
| Unarchive | Devolver desde el archivo |
| All actions | Permitir todas las acciones anteriores de una sola vez |
Llevándolo al ejemplo de la tienda de ropa, en el rol de "encargado del registro de productos" se eligen las acciones de este modo: para el Content (los productos) se permiten Read, Create y Edit, pero no se incluyen Delete ni Publish. Así, la compañera puede crear y modificar productos, pero no puede eliminarlos ni hacerlos públicos hacia el exterior.
Qué es Publish y cómo se hace público (se entrega) hacia el exterior al publicar se trata en detalle en Estados y publicación.
Permitir y denegar
En la pantalla del rol hay una lista de Permitido y una lista de Denegado por separado. La forma de hacerlo es añadir, línea por línea, en la lista de Permitido las acciones que quiere habilitar. Lo importante es que las acciones que no se incluyen en la lista de permitidas quedan denegadas automáticamente. Por eso, si solo añade a la lista de permitidas las acciones que quiere dar a la compañera, el resto queda bloqueado sin necesidad de bloquearlo aparte.
La lista de Denegado es un mecanismo de seguridad que se usa "cuando quiere permitir de forma amplia pero bloquear como excepción solo una parte concreta". Si una acción queda al mismo tiempo en permitidas y en denegadas, la denegación siempre tiene prioridad.
Acotar el alcance a un tipo concreto o a una persona concreta
Al permitir una acción, puede acotar ese permiso a un solo tipo o a una condición concreta. Por ejemplo, son posibles estas formas de acotar.
- Solo a un tipo: aplicar únicamente al Content Type "Producto" y no aplicar a otros Content Type.
- Solo a lo creado por uno mismo: permitir que ese miembro maneje únicamente el Content que él mismo ha creado, y que no toque lo creado por otros.
- Solo a lo que lleva una Tag concreta: aplicar únicamente al Content o Media que lleva una Tag determinada.
Si no acota el alcance por separado, esa acción se aplica a todo el objetivo correspondiente. Por ejemplo, si permite leer Content sin acotar, podrá leer todo el Content; si lo acota al Content Type "Producto", solo podrá leer los productos.
Qué es una Tag se trata en Tag.
Permisos de ejecución y gestión de Script
Además de los tres objetivos anteriores, un SpaceRole también contiene permisos sobre Script. Un Script es un endpoint de backend al que su frontend llama, creado sin código de servidor (consulte Script). Tiene una acción Execute que Content y Media no tienen.
- Execute: permite ejecutar (llamar) ese Script. Su frontend o un miembro registrado necesita este permiso para llamar a un Script.
- Read, Create, Edit, Delete: los permisos de gestión para consultar, crear, modificar y eliminar un Script.
Puede acotarlo por autor, de modo que un miembro maneje "solo los Script que él mismo ha creado". No hay acción de publicación, porque un Script no es un recurso que se publique. A los miembros que se registran en su producto (ServiceUser), normalmente solo se les habilita Execute, ya que la autoría, es decir, la creación y modificación de Script, corre a cargo de los usuarios del estudio de contenidos.

La forma exacta de las reglas de permisos se trata en las referencias de API de SpaceRole y ServiceUserRole.
El rol también decide si se puede cambiar la configuración del Space
Todo lo visto hasta aquí eran permisos para manejar el contenido y los Script. Un rol contiene además otra lista de naturaleza distinta. Se refiere a si se puede cambiar la configuración del Space.
Si volvemos al ejemplo de la tienda de ropa, probablemente quiera encargar a su compañera el registro de productos, pero no que añada un nuevo Locale ni que emita un token para que lo use un sitio externo. Esta lista es la que decide quién puede realizar ese tipo de tareas de configuración del Space.
A diferencia de los permisos anteriores, esta lista no tiene acciones ni forma de acotar el alcance. Si activa un elemento, podrá manejar esa configuración; si no lo activa, no podrá. Se activan y se desactivan en la pestaña Permissions de la pantalla en la que crea o edita un rol. Si activa Todos los Permissions de gestión en la parte superior, se activan de una vez todos los elementos de abajo, y si los activa uno a uno también verá este interruptor como activado. Los elementos que puede activar son los siguientes.
| Elemento | Qué permite hacer al activarlo |
|---|---|
| Gestionar información de Space | Edita el nombre y la descripción del Space |
| Gestionar membresías | Añade y quita miembros de este Space y cambia el rol de un miembro |
| Gestionar Roles | Crea y edita roles, como se hace en esta página |
| Gestionar Delivery Access Tokens | Emite y gestiona tokens de solo lectura |
| Gestionar Space Access Tokens | Emite y gestiona tokens de lectura y escritura |
| Gestionar Locales | Añade un idioma o cambia el idioma predeterminado |
| Gestionar Email Accounts | Registra la cuenta de envío que se usa al enviar correo |
| Gestionar apps | Trae una app del mercado y la instala |
| Gestionar Tags | Crea, edita y elimina Tag |
| Gestionar Web Hostings | Despliega un sitio y conecta un dominio |
| Gestionar ServiceLogin | Configura el inicio de sesión y los permisos de los miembros que se registran en su producto |
| Gestionar Webhooks | Crea Webhook y consulta su historial de llamadas |
| Gestionar Schedulers | Crea Scheduler y consulta su historial de ejecuciones |
| Ver supervisión | Ve el almacenamiento y el tráfico que ha usado este Space |
Tenga en cuenta que los dos tipos de token están separados. Puede permitir que solo se emita el Delivery Access Token, que es de solo lectura, y bloquear la emisión del Space Access Token, que lee y escribe. Se separan así cuando quiere que su compañera emita ella misma el token de lectura que irá en un sitio público, mientras que solo un administrador crea el token con el que también se puede escribir.
Gestionar Schedulers no basta por sí solo. Al crear o editar un Scheduler, necesita tener también el permiso Execute del Script que ese Scheduler va a ejecutar (consulte Con qué permisos se ejecuta).
Si no activa ningún elemento, ese rol se convierte en un rol que solo maneja contenido. El rol de "encargado del registro de productos" que crearemos más abajo es uno de esos casos. Puede registrar y editar productos, pero no puede tocar ni una sola opción de configuración del Space.

El rol Administrator que llega al crear un Space
Al crear un nuevo Space, se crea automáticamente junto a él un rol llamado Administrator. Este rol es el rol de máximo privilegio que puede manejar todo lo que hay dentro de ese Space. Quien crea el Space comienza con este rol Administrator.
El rol Administrator es un rol que el sistema tiene preparado, por lo que no se puede modificar ni eliminar. Si quiere acotar los permisos y dárselos a una compañera, en lugar de modificar el Administrator, basta con crear un nuevo rol aparte como se muestra a continuación y dárselo.
Crear el rol de "encargado del registro de productos"
Ahora crearemos directamente, en el Space de la tienda de ropa, el rol de "encargado del registro de productos" que dará a su compañera. Este rol podrá hacer Read, Create y Edit sobre los productos (Content), pero no podrá eliminarlos ni publicarlos.
- En el menú de la izquierda, pulse Roles y Permissions.
- Pulse el botón Crear arriba a la derecha de la lista.
- En el campo de nombre de la pestaña Detalle de Role, introduzca
Registrador de productos. El campo de descripción puede dejarlo en blanco.

A continuación se definen las acciones que este rol puede realizar sobre los productos (Content). Las acciones se añaden como reglas, línea por línea, en la lista de Permitido, y en la misma línea se elige también el alcance (Content Type) al que se aplican.
- Vaya a la pestaña Content.
- Pulse el + debajo de Permitido para añadir una regla en una línea.
- En esa línea, elija la acción como Read y el Content Type al que aplicar como "Producto". (Si deja los campos de autor y de Tag en "Cualquier…", se aplica a todo.)
- Del mismo modo, añada también una línea más para las reglas Create y Edit. En las tres líneas deje el Content Type como "Producto".
- No añada Delete ni Publish a las permitidas. Como las acciones que no se incluyen en las permitidas quedan denegadas automáticamente, la compañera no podrá eliminar los productos ni hacerlos públicos hacia el exterior.

- Pulse el botón Guardar arriba a la derecha.
Cuando aparezca Registrador de productos en la lista, el rol se habrá creado. Se ve junto al Administrator que existía desde el principio.

Dar a una compañera el rol creado
Crear un rol no significa que se aplique automáticamente a alguien. El rol creado solo surte efecto cuando se adjunta a un miembro.
Al asignar a una compañera a un Space, elige también el rol que tendrá dentro de ese Space, y en ese momento puede elegir el Registrador de productos que acaba de crear. Si la compañera ya está dentro del Space, también puede aplicarlo cambiando su rol en la lista de miembros. También puede dar varios roles a un mismo miembro. En ese caso, las acciones que permite cada rol se suman todas, de modo que el miembro puede hacer cualquier acción que esté permitida en alguno de los roles. (La denegación solo tiene prioridad sobre el permiso dentro de un mismo rol. Aunque un rol haya denegado una acción, si otro rol la permite, esa acción se puede realizar.)
Los pasos concretos para asignar un miembro a un Space y elegir el rol se tratan en Organización y espacio.
Qué hacer a continuación
- Organización y espacio: asigna a una compañera a un Space y le adjunta el rol que acaba de crear.
- Tokens: trata los tokens de acceso que permiten que un sitio externo o un programa, y no una persona, lea o escriba el contenido. El rol que ha creado aquí también se adjunta a los tokens. Si lo adjunta a un Delivery Access Token, el rol define el alcance de lectura de ese token; si lo adjunta a un Space Access Token, define el alcance de lectura y escritura. El permiso para emitirlos y gestionarlos es independiente en cada uno de los dos tokens, por lo que en la lista de configuración del Space de arriba también puede activar solo uno de ellos.
- Referencia de API: trata las especificaciones técnicas, como el formato de las solicitudes, que necesita al crear roles o manejar reglas de permisos directamente desde un programa.
