Saltar al contenido principal

Roles y permisos

El acceso en el Backoffice se controla en dos niveles: roles por organización (asignados por usuario por organización) y un rol de sistema para los administradores de la plataforma Percus.

Roles de organización​

Cada usuario tiene exactamente un rol dentro de cada organización a la que pertenece.

RolNivel
OrganizationAdminControl total sobre la organización
ProjectManagerCrear y gestionar proyectos; publicar templates
DeveloperSubir y gestionar templates; ver proyectos
ViewerAcceso de solo lectura

Matriz de permisos​

AcciónViewerDeveloperProjectManagerOrgAdmin
Ver proyectos✅✅✅✅
Crear proyecto——✅✅
Editar proyecto (nombre/descripción)——✅✅
Archivar proyecto———✅
Ver templates✅✅✅✅
Subir template—✅✅✅
Archivar template—✅✅✅
Desplegar template a PROD——✅✅
Publicar/despublicar canal——✅✅
Gestionar public video shares——✅✅
Crear credenciales de API——✅✅
Revocar credenciales de API——✅✅
Invitar usuarios———✅
Cambiar roles de usuario———✅
Desactivar/reactivar usuarios———✅
Gestionar configuración de organización———✅

Rol de sistema: Owner​

El rol Owner es una designación a nivel de plataforma asignada por el equipo de Percus. Los Owners:

  • Pueden acceder y gestionar todas las organizaciones.
  • Pueden asignar y remover el rol de sistema Owner a otros usuarios.
  • Tienen permisos completos en todas las organizaciones (equivalente a OrganizationAdmin en todas partes).

Un Owner se identifica por el claim system_role: "Owner" en su JWT.

Asignación de roles​

Los roles se asignan en el momento de la invitación y pueden cambiarse posteriormente por un OrganizationAdmin:

PUT /v1/users/{userId}/role
{ "role": "ProjectManager" }

El cambio de rol de un usuario toma efecto en su próxima solicitud tras refrescar la sesión.

Aplicación​

La autorización se aplica en la capa de API:

  • Los endpoints del Campaign Service que mutan estado requieren la política OrgAdminOrOwner (o la verificación de rol en el handler).
  • La información de rol se reenvía desde la sesión del frontend mediante las cabeceras X-Percus-Forwarded-Org-Role y X-Percus-Forwarded-System-Role.
  • El Identity Service valida las asignaciones de roles y garantiza que solo los OrganizationAdmin puedan invitar o modificar otros usuarios.