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.