Seguridad

Roles y permisos: cómo diseñar acceso en aplicaciones web

En una aplicación con múltiples tipos de usuario, roles y permisos definen qué información puede ver cada persona y qué acciones puede ejecutar. Es una parte central de la arquitectura de seguridad y también de la experiencia de uso.

Autenticación no es autorización

Autenticar significa comprobar quién es el usuario. Autorizar significa decidir si ese usuario puede realizar una acción concreta. Un usuario correctamente autenticado todavía puede intentar acceder a una URL o endpoint que no le corresponde.

El backend debe aplicar la regla

Ocultar un botón en la interfaz mejora la experiencia, pero no protege la operación. La verificación real debe ejecutarse en el servidor antes de leer o modificar datos.

Roles simples y permisos específicos

Los roles ayudan a agrupar responsabilidades frecuentes —administración, docente, profesional, familia, cliente—, pero algunos sistemas requieren permisos más granulares. El diseño debe evitar tanto un modelo rígido como una matriz inmanejable de excepciones.

Contexto de organización

En plataformas multi-tenant, un permiso siempre debe evaluarse dentro del tenant activo. Ser administrador de una institución no habilita acceso sobre otra. La resolución de organización y la autorización necesitan trabajar juntas.

Auditoría de acciones sensibles

Cambios de permisos, firmas, operaciones financieras o modificaciones de datos críticos pueden requerir registros adicionales. La auditoría permite investigar qué ocurrió sin depender de relatos o capturas.

La combinación de seguridad de plataforma y arquitectura multi-tenant es especialmente importante en sistemas como Gestión Inicial o PSI Central, donde distintos perfiles comparten una misma aplicación pero no la misma visibilidad.