Usuarios, equipos y RBAC

Por: Artiko
portainerrbacseguridadoauthldap

Usuarios, equipos y RBAC

Apenas más de una persona usa Portainer, el control de acceso importa: querés que cada quien vea y toque solo lo suyo, sin dar admin a todos. Acá es donde más se separan CE y BE.

Usuarios

Users en el menú de administración lista las cuentas. Cada usuario tiene un nivel base:

Creás usuarios locales con contraseña, o los provisionás desde un proveedor externo (ver más abajo).

Equipos (teams)

Un team agrupa usuarios. En vez de dar permisos persona por persona, se los das al equipo y agregás/quitás miembros. Ejemplo: el equipo backend tiene acceso a los stacks y entornos de backend; al entrar alguien nuevo, lo sumás al equipo y hereda todo.

Los equipos pueden tener team leaders, que gestionan a sus miembros sin ser admins globales.

Control de acceso por recurso

Muchos recursos (stacks, contenedores, volúmenes, entornos) tienen una pestaña de access control donde definís su propietario y quién más puede usarlo:

Así, un stack creado por el equipo frontend queda restringido a ese equipo y es invisible para los demás standard users.

CE vs BE: el límite del RBAC

Acá está la diferencia más importante entre ediciones:

CEBE
RolesAdmin / Standard userRoles granulares (Operator, Helpdesk, Read-only, etc.)
Acceso por entornoSí (otorgar/denegar)Sí, más fino
Roles por namespace K8sLimitado✅ por namespace
Permisos a nivel de acciónNo✅ (qué puede hacer cada rol)
Activity logs / auditoría

En CE el modelo es esencialmente binario (admin o usuario con accesos otorgados). En BE definís roles que precisan qué operaciones puede hacer cada quien sobre cada entorno o namespace (ej. un rol “Helpdesk” que ve logs pero no borra nada). Si tu organización necesita separación de funciones real, ese es el principal motivo para BE.

Autenticación externa (BE)

Por defecto Portainer usa autenticación interna (usuarios locales). La Business Edition agrega integración con proveedores de identidad:

Con esto, el alta/baja de usuarios la gobierna tu IdP corporativo y Portainer respeta esas identidades y grupos. En CE la autenticación es interna únicamente.

flowchart TD
    IdP["IdP corporativo<br/>(OAuth / LDAP / SAML)"] -->|"BE"| P["Portainer"]
    P --> T["Teams ⇄ grupos del IdP"]
    T --> AC["Access control por recurso"]

Buenas prácticas


AnteriorCapítulo 11: Edge · SiguienteCapítulo 13: GitOps y webhooks