Reten Docs
Primeros Pasos

Roles y Permisos

Jerarquía de roles, permisos y cómo restringen los endpoints de la API.

Reten implementa Control de Acceso Basado en Roles (RBAC) jerárquico con 4 roles y 20 permisos granulares en 7 dominios.

Jerarquía de Roles

SUPER_ADMIN (máximo)


  ADMIN


   FDE


  VIEWER (mínimo)

Los roles superiores heredan todos los permisos de los roles inferiores y pueden gestionar usuarios de su mismo nivel o inferior.

Roles

RolNivelDescripción
SUPER_ADMINMáximoAcceso total al sistema; puede gestionar todos los usuarios y tenants
ADMINAltoAdministración del tenant; puede gestionar la mayoría de los recursos
FDEMedioOperaciones de campo; puede crear actividades y consultar datos
VIEWERMínimoAcceso de solo lectura a los datos del tenant

Permisos por Dominio

Dominio de Usuarios

PermisoDescripciónRoles
CREATE_USERCrear nuevos usuariosSUPER_ADMIN, ADMIN
VIEW_USERSListar usuarios del tenantSUPER_ADMIN, ADMIN, FDE
UPDATE_USERActualizar datos y roles de usuariosSUPER_ADMIN, ADMIN
DELETE_USEREliminar usuariosSUPER_ADMIN
RESET_USER_PASSWORDRestablecer la contraseña de otro usuarioSUPER_ADMIN, ADMIN

Dominio de Tenants

PermisoDescripciónRoles
CREATE_TENANTCrear nuevos tenantsSUPER_ADMIN
VIEW_TENANTSListar todos los tenantsSUPER_ADMIN, ADMIN
UPDATE_TENANTActualizar datos del tenantSUPER_ADMIN
DELETE_TENANTEliminar tenantsSUPER_ADMIN

Dominio de Comercios

PermisoDescripciónRoles
MANAGE_COMMERCESCRUD completo sobre comercios, direcciones, usuarios y contactosSUPER_ADMIN, ADMIN, FDE
SYNC_COMMERCESSincronización masiva de comercios desde sistemas externosSUPER_ADMIN, ADMIN

Dominio de Operadores

PermisoDescripciónRoles
MANAGE_OPERATORSCRUD completo sobre operadoresSUPER_ADMIN, ADMIN, FDE
SYNC_OPERATORSSincronización masiva de operadores desde sistemas externosSUPER_ADMIN, ADMIN

Dominio de Rutas

PermisoDescripciónRoles
MANAGE_ROUTESCRUD completo sobre rutas y asignaciones de operadoresSUPER_ADMIN, ADMIN, FDE

Dominio de Actividades

PermisoDescripciónRoles
VIEW_ACTIVITIESListar y consultar actividades, resultados y configuracionesSUPER_ADMIN, ADMIN, FDE, VIEWER
CREATE_ACTIVITYCrear actividades y resultadosSUPER_ADMIN, ADMIN, FDE
CANCEL_ACTIVITYCancelar actividadesSUPER_ADMIN, ADMIN
DISPATCH_ACTIVITYDespachar manualmente actividades de tareaSUPER_ADMIN, ADMIN
MANAGE_ACTIVITY_CONFIGGestionar configuraciones de resolución, políticas de atributos y configuraciones de despachoSUPER_ADMIN, ADMIN

Dominio de API Keys

PermisoDescripciónRoles
MANAGE_API_KEYSCrear, listar y revocar API keysSUPER_ADMIN, ADMIN

Cómo los Permisos Restringen los Endpoints

Para rutas protegidas, los guards se ejecutan en este orden:

  1. JwtAuthGuard — Valida el access token JWT o API key (global)
  2. TenantGuard — Valida que el usuario pertenezca al tenant solicitado
  3. PermissionsGuard — Verifica que el usuario tenga los permisos requeridos

Cada página de endpoint en la referencia de API lista el permiso requerido (ej., Auth: Requerido — permiso CREATE_ACTIVITY).

Aplicación de la Jerarquía de Roles

  • Los usuarios no pueden modificar los roles de usuarios del mismo nivel o superior
  • Los usuarios no pueden restablecer contraseñas de usuarios del mismo nivel o superior
  • Los usuarios no pueden asignar roles superiores al propio

Contexto de Tenant

La mayoría de los endpoints requieren un contexto de tenant:

  • Auth JWT: proporcionar el header x-tenant-id con el UUID del tenant
  • Auth API key: el tenant se resuelve automáticamente desde la key

El sistema valida que el usuario autenticado pertenezca al tenant solicitado antes de continuar.