Definición de Roles y Permisos (RBAC)
El sistema de gestión de identidades utiliza un modelo de Control de Acceso Basado en Roles (RBAC) con una arquitectura de Scopes (Alcances) jerárquicos e Implicación de Acciones.
1. Jerarquía de Scopes (Alcances)
Cada permiso está asociado a un scope que define el nivel de acceso dentro de la organización. El middleware de autorización evalúa estos niveles de forma numérica para determinar si un usuario tiene la autoridad suficiente sobre un recurso.
| Scope | Nivel | Descripción |
|---|---|---|
system |
3 | Acceso global a nivel de infraestructura/sistema. |
platform |
2 | Acceso limitado a una plataforma específica y sus recursos. |
entity |
1 | Acceso restringido a una entidad (empresa/organización) específica. |
team |
0 | Acceso limitado a un equipo de trabajo. |
service |
0 | Acceso limitado a un servicio técnico específico. |
Lógica de Validación
Un permiso con un nivel de scope mayor (ej. system) satisface automáticamente los requisitos de un nivel menor (ej. platform) para el mismo recurso y acción, siempre que el contexto sea compatible.
2. Implicación de Acciones
Las acciones en el sistema no son aisladas; algunas acciones de “alto nivel” incluyen intrínsecamente permisos para acciones de “menor nivel”. Esto simplifica la definición de roles al no tener que asignar explícitamente cada acción CRUD.
| Acción Principal | Acciones Implicadas |
|---|---|
manage |
create, read, update, delete, assign, manage |
assign |
read, assign |
create |
read, create |
update |
read, update |
delete |
read, delete |
La acción read es la base de casi todas las interacciones. Por ejemplo, si un usuario tiene permiso para update, el sistema le otorga automáticamente read sobre ese recurso para poder visualizar qué está editando.
3. Estructura de un Permiso
Técnicamente, un permiso se define por la combinación de tres ejes fundamentales:
{
"action": "string (create | read | update | ...)",
"resource": "string (user | platform | entity | ...)",
"scope": "string (system | platform | entity | ...)"
}
- Action: Qué se puede hacer.
- Resource: Sobre qué objeto se actúa.
- Scope: Hasta dónde llega el alcance de la acción.
3.1. Acciones Disponibles
read: Permite visualizar la información de un recurso o listar múltiples registros. Es la base de la mayoría de los permisos.create: Permite la creación de nuevos registros del recurso especificado.update: Permite la modificación de datos en recursos ya existentes.delete: Permite la eliminación (física o lógica) de un recurso.assign: Permite vincular un recurso con otro (ej. asignar un rol a un usuario o una entidad a una plataforma).manage: Acción administrativa total que agrupa todas las acciones anteriores sobre un recurso.impersonate: Permite a un usuario actuar temporalmente con la identidad y permisos de otro usuario (sujeto a estrictas auditorías).execute: Permite la ejecución de funciones técnicas, scripts o procesos automatizados.approve: Permite validar y autorizar una solicitud o cambio de estado.reject: Permite denegar y finalizar una solicitud o proceso pendiente.
3.2. Recursos Disponibles
Los recursos principales sobre los que se aplican los permisos incluyen:
user: Gestión de usuarios y sus perfiles.platform: Configuración de plataformas.entity: Gestión de entidades y organizaciones.role: Definición y asignación de roles.audit: Acceso a logs y auditoría del sistema.analytics: Reportes y métricas.settings: Configuraciones globales de entorno.
3.3. Alcances Disponibles
system: Acceso total e irrestricto a todos los recursos de todas las plataformas y entidades del sistema.platform: Acceso limitado a los recursos que pertenecen a una plataforma específica.entity: Acceso restringido a los datos y recursos de una entidad (empresa) dentro de una plataforma.team: Acceso segmentado a los recursos de un equipo de trabajo particular.service: Acceso técnico limitado a las operaciones de un servicio específico.
Última actualización: 05 de mayo de 2026