Docs/ Seguridad/ Equipos y RBAC

Equipos y RBAC

Organiza tu equipo con control de acceso basado en roles, permisos a nivel de proyecto y un registro de auditoría completo de todas las acciones.

Crear un equipo

Los equipos permiten que múltiples usuarios colaboren en la misma instancia de sh0. El primer usuario (creado durante la instalación) es automáticamente el propietario del equipo con privilegios completos de administrador.

  1. Navega a Configuración → Equipo en el panel de control.
  2. Tu equipo predeterminado se crea automáticamente. Puedes renombrarlo aquí.
  3. Agrega una descripción y avatar del equipo (opcional).
Página de configuración del equipo con nombre y descripción del equipo
Note
En la versión actual, sh0 admite un solo equipo por instancia. El soporte multi-equipo (para agencias que administran múltiples clientes) está planificado para una versión futura.

Invitar miembros

Los administradores invitan a nuevos miembros por dirección de correo. sh0 no envía ningún correo: la invitación genera un enlace de un solo uso, que se muestra una única vez a quien invita, para que lo transmitas por tus propios medios. La persona invitada lo abre y elige su propia contraseña; tú nunca la conoces. Los miembros de equipo y los roles requieren una licencia Business.

  1. Abre Equipo en la barra lateral.
  2. Haz clic en Invitar usuario.
  3. Ingresa la dirección de correo electrónico y selecciona un rol (Administrador, Desarrollador o Visor).
  4. Confirma, copia el enlace de invitación y envíaselo a la persona. Es válido 7 días, para un solo uso, y no se volverá a mostrar.
Diálogo de invitar miembro con campo de correo electrónico y selector de rol
Terminal
curl -X POST https://your-server:9000/api/team/invite \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "role": "developer"
  }'

Mientras el enlace no se use, el miembro aparece como Invitación pendiente (y luego Invitación caducada a los 7 días). Generar enlace de acceso emite uno nuevo; el anterior deja de funcionar. Desde la CLI, sh0 users invite <email> --role developer muestra el enlace del mismo modo.

Tipos de roles

sh0 proporciona tres roles integrados con niveles crecientes de acceso:

RolDescripciónCaso de uso
AdministradorAcceso completo a todos los recursos, configuración, gestión de equipos y facturación.CTOs, líderes DevOps, propietarios de infraestructura
DesarrolladorPuede crear, desplegar y administrar aplicaciones. No puede acceder a la configuración del equipo ni del servidor.Ingenieros de software, miembros del equipo DevOps
VisorAcceso de solo lectura. Puede ver aplicaciones, registros y métricas pero no puede modificar nada.Interesados, equipo de QA, auditores
Lista de miembros del equipo mostrando diferentes roles con insignias

Matriz de permisos

Este es el desglose completo de lo que puede hacer cada rol:

AcciónAdministradorDesarrolladorVisor
Ver aplicaciones y panelesSíSíSí
Ver registros y métricasSíSíSí
Crear y desplegar aplicacionesSíSíNo
Administrar variables de entornoSíSíNo
Administrar dominios y SSLSíSíNo
Acceder a la terminalSíSíNo
Administrar miembros del equipoSíNoNo
Configuración del servidor y nodosSíNoNo
Facturación y licenciaSíNoNo

Acceso a nivel de proyecto

Además de los roles globales, puedes restringir el acceso de un usuario a proyectos específicos. Esto es útil cuando diferentes miembros del equipo trabajan en diferentes aplicaciones.

  1. Ve a la pestaña Configuración → Acceso del proyecto.
  2. Haz clic en Agregar miembro y selecciona un miembro del equipo.
  3. Elige el nivel de acceso para este proyecto (Acceso completo, Solo despliegue, Solo lectura).
Configuración de acceso a nivel de proyecto mostrando permisos de miembros
Tip
Por defecto, los Administradores tienen acceso a todos los proyectos. Los Desarrolladores ven todos los proyectos a menos que los restrinjas explícitamente. Los Visores solo pueden ver los proyectos a los que se les concede acceso.

Registro de auditoría

sh0 registra cada acción significativa realizada por los miembros del equipo. El registro de auditoría proporciona una línea de tiempo completa de quién hizo qué y cuándo.

Los eventos rastreados incluyen:

  • Eventos de inicio y cierre de sesión
  • Creación, despliegue y eliminación de aplicaciones
  • Cambios en variables de entorno
  • Adiciones y eliminaciones de dominios
  • Invitaciones de miembros del equipo y cambios de roles
  • Modificaciones de configuración
  • Operaciones de base de datos (respaldo, restauración, eliminación)
Registro de auditoría mostrando una línea de tiempo de acciones del equipo con usuario, acción y marca de tiempo
Terminal
curl https://your-server:9000/api/team/audit-log?page=1&per_page=50 \
  -H "Authorization: Bearer YOUR_TOKEN"
Note
Los registros de auditoría se retienen por 90 días por defecto. Puedes configurar el período de retención en Configuración → Seguridad.

Eliminar miembros

Los administradores pueden eliminar miembros del equipo desde Configuración → Equipo → Miembros. Eliminar un miembro:

  • Revoca inmediatamente todas sus sesiones activas.
  • Elimina su acceso a todos los proyectos y recursos.
  • No elimina los recursos que crearon (aplicaciones, bases de datos, etc.).
  • Preserva sus acciones en el registro de auditoría para responsabilidad.
Terminal
curl -X DELETE https://your-server:9000/api/team/members/usr_abc123 \
  -H "Authorization: Bearer YOUR_TOKEN"
Warning
El propietario del equipo no puede ser eliminado. Para transferir la propiedad, contacta soporte o reasigna el rol de propietario desde Configuración → Equipo primero.