Saltar al contenido principal

Permisos y alcance

Lo que un operador puede hacer sale de dos cosas: qué acciones tiene permitidas (permisos) y sobre qué parte de la jerarquía (alcance).

Permisos: recurso + acción

Los permisos son planos: cuatro acciones por recurso, y ninguna implica a otra.

AcciónCubre
VerListas, detalles y reportes.
CrearCrear el recurso.
EditarModificar, activar/desactivar y administrar sub-recursos.
EliminarBorrado en cascada.

Recursos que se pueden otorgar: Clientes, Cuentas, Operaciones, Dispositivos, Inventario (device_inventory), Productos, Usuarios consumidores, Códigos, Perfiles, Reportes, Operadores, Roles, Configuración, API keys, Auditoría.

Planos, pero Ver es la puerta de entrada

Nada implica nada: Editar no otorga Ver. En la práctica, sin Ver no se abre la lista ni el detalle, y los botones de editar viven ahí dentro: un rol con Editar pero sin Ver no puede hacer nada por la interfaz. La regla útil: siempre marca Ver y añade encima lo que haga falta.

Dos recursos son propios y no cuelgan de otro:

  • Inventario (device_inventory) es distinto de Dispositivos: Ver inventario muestra la pestaña Inventario, Editar inventario permite tocar slots y planograma. Ver el dispositivo en sí depende de Ver dispositivos.
  • Códigos es distinto de Usuarios consumidores: los códigos son de nivel operación, así que un operador de operación puede gestionar códigos sin poder crear o editar al usuario, que es de nivel cuenta.

Recursos reservados a INSSA

Controladoras, alta y baja de dispositivos (device_provisioning), errores de servidor y errores de lambdas son recursos reservados: no se pueden otorgar a ningún rol de cliente y no aparecen en la app. Por eso el alta de dispositivos y de controladoras es una solicitud a INSSA.

Alcance: dónde aplican

Cada operador vive en un nivel: global, cliente, cuenta u operación. Sus permisos solo aplican a ese nodo y a lo que está debajo.

AlcanceVe
GlobalTodo (uso interno de INSSA).
ClienteSus cuentas, operaciones, dispositivos, usuarios…
CuentaSu cuenta y sus operaciones.
OperaciónSolo su operación.

Fuera de alcance, la respuesta es Tu alcance no permite esta acción sobre el recurso.

Rol + permisos extra

El rol es la plantilla: define el piso de permisos del operador. Al crear o editarlo puedes personalizar sus permisos, y esa lista suma sobre el rol.

OrigenCómo se ve en el editor
Del rolMarcado y bloqueado, con la etiqueta Lo otorga el rol. Desmarcarlo no hace nada.
ExtraLo que marcas tú encima. Es lo único que se guarda como personalización.

El permiso efectivo es la unión de los dos. Para quitarle algo a un operador hay que cambiarle el rol: ahí es donde vive la plantilla.

Dos límites que la app aplica siempre:

  • No hay escalada de privilegios: solo puedes otorgar permisos que tú tengas (el editor solo ofrece los tuyos).
  • No hay salto de jerarquía: solo creas operadores en tu mismo nivel o por debajo.

Tu propio nodo: editarlo sí, darlo de baja no

El nivel al que perteneces (tu cuenta, si tu alcance es esa cuenta) lo ves y lo editas con el permiso Editar correspondiente: razón social, contacto, etiquetas.

Lo que no puedes es desactivarlo ni eliminarlo: el borrado cascadea sobre los operadores de ese ámbito, incluido el tuyo, y no hay restaurar. La app oculta esos dos botones y el servidor los rechaza igual. Tampoco puedes tocar un nivel por encima del tuyo.

Crear: además del permiso, el nivel

Crear una entidad de la jerarquía exige estar por encima de ella. Con el permiso Crear pero en el nivel equivocado, la app no muestra el botón ni deja abrir la URL /new:

Quiero crearLo puede hacer
CuentaGlobal y cliente. Un operador de cuenta ve una sola cuenta —la suya— así que no crea cuentas.
OperaciónGlobal, cliente y cuenta. Un operador de operación ve solo la suya.
PerfilGlobal, cliente y cuenta. Todo perfil es de la cuenta; dónde funciona lo definen sus dispositivos habilitados.
Producto, usuario consumidor, códigoCualquier nivel, dentro de su alcance.
OperadorCualquier nivel, en su mismo nivel o por debajo.
Dispositivo, controladora, clienteSolo INSSA.

Qué oculta la app y qué no

La interfaz esconde lo que no puedes usar, pero el filtro definitivo es el servidor.

Se oculta o se bloquea por permiso:

ElementoPermiso
Sección del menú (Cuentas, Operaciones, Dispositivos, Productos, Perfiles, Usuarios, Auditoría) y su URLVer del recurso
Dashboard y Movimientos (Entregas, fallidas, Recargas, Crédito disponible, EAS, Devoluciones)Ver reportes + la línea de negocio de la pantalla
Operadores / Roles / Desarrollador en el menú del avatarVer operadores / Ver roles / Ver API keys
Botones Nuevo/Nueva y sus URLs /newCrear del recurso + el nivel adecuado
Editar, activar/desactivar, moverEditar del recurso
EliminarEliminar del recurso
Pestaña y página InventarioVer inventario
Editar slots, planograma, rellenar/vaciarEditar inventario
Agregar / editar / eliminar código, huellasCrear / Editar / Eliminar códigos
Acciones en loteEditar usuarios consumidores (el detalle por fila lo valida el servidor)
Exportar a Excel de usuariosVer usuarios consumidores
Editar operadorEditar operadores
Editar / eliminar rolEditar roles / Eliminar roles (los roles del sistema no se editan nunca)
Crear / revocar API keyCrear API keys / Eliminar API keys

No depende de permisos (cualquier operador autenticado): Mi perfil, sus preferencias, cambio de contraseña, la campana de notificaciones y el recibo público por QR.

El servidor manda

Ocultar el botón es comodidad, no seguridad: cada acción se vuelve a validar en el servidor con tu permiso, tu alcance y tu línea de negocio. Si llegas a una URL que no te corresponde, la app te devuelve a tu portada.

Líneas de negocio: qué pantallas ves

Tu operador hereda las líneas de negocio de su origen y eso decide qué pantallas de movimientos existen para ti. El permiso de reportes es uno solo (Ver reportes) para las dos líneas, así que la línea es la que separa:

ManejasVes
Solo vendingDashboard, Entregas, Entregas fallidas, Recargas, Crédito disponible
Solo EASEntregas EAS, Entregas fallidas EAS, Devoluciones
AmbasLos dos grupos completos

El Dashboard es de ventas vending: un operador solo-EAS no lo ve y su portada al iniciar sesión es Entregas EAS.

La línea también limita las opciones de los selectores: el filtro Línea de negocio de las listas, la línea al crear cuenta, operación, producto o perfil, y las filas del bloque de perfiles al crear o editar un código (un operador solo-vending no ve la fila Perfil EAS).

Qué revisar cuando falta un botón

  1. Mi perfil › Permisos: ¿tienes la acción sobre ese recurso? ¿y Ver?
  2. ¿El recurso está dentro de tu alcance?
  3. Si es un nivel jerárquico: ¿es el tuyo? Entonces no puedes desactivarlo ni eliminarlo.
  4. ¿La línea de negocio del recurso es una de las tuyas?