Saltar al contenido principal

Control de acceso

Aislamiento multi-tenant

Percus es una plataforma multi-tenant. Cada organización es un tenant completamente aislado. Los usuarios, proyectos, templates y credenciales de API pertenecen a una única organización y nunca son visibles para los usuarios de otras organizaciones.

No existe estado compartido entre organizaciones a nivel de aplicación. El Identity Service y el Campaign Service aplican scoping por organización en todas las consultas.

Control de acceso basado en roles

Cada usuario tiene exactamente un rol dentro de cada organización a la que pertenece. Los roles se asignan al momento de la invitación y pueden ser modificados por un OrganizationAdmin.

RolAlcanceQué puede hacer
ViewerOrgAcceso de solo lectura a proyectos, templates y canales
DeveloperOrgSubir y gestionar templates; ver todos los recursos
ProjectManagerOrgCrear proyectos, publicar templates, gestionar páginas de aterrizaje y credenciales de API
OrganizationAdminOrgControl total — todo lo anterior más invitar usuarios, cambiar roles y archivar proyectos
OwnerPlataformaRol interno de Percus; acceso a todas las organizaciones

Un usuario puede pertenecer a múltiples organizaciones con distintos roles en cada una.

Aplicación

La autorización se aplica en la capa de API, no en el frontend. El frontend reenvía el rol del usuario mediante las cabeceras de solicitud X-Percus-Forwarded-Org-Role y X-Percus-Forwarded-System-Role. El backend valida estas contra el JWT de sesión antes de procesar cualquier mutación.

Las operaciones sensibles — crear proyectos, publicar templates, gestionar credenciales, archivar — requieren rol ProjectManager u OrganizationAdmin y devuelven 403 Forbidden si la verificación de rol falla.

Qué controlan los clientes

ControlCómo
Quién tiene acceso a su organizaciónGestionado por su OrganizationAdmin mediante invitaciones
Asignación de rol por usuarioEl OrganizationAdmin puede cambiar roles en cualquier momento
Revocar accesoEl OrganizationAdmin puede desactivar a un usuario; los usuarios desactivados no pueden iniciar sesión
Ciclo de vida de credenciales de APIProjectManager+ puede crear y revocar credenciales por proyecto