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.
- Navega a Configuración → Equipo en el panel de control.
- Tu equipo predeterminado se crea automáticamente. Puedes renombrarlo aquí.
- Agrega una descripción y avatar del equipo (opcional).
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.
- Abre Equipo en la barra lateral.
- Haz clic en Invitar usuario.
- Ingresa la dirección de correo electrónico y selecciona un rol (Administrador, Desarrollador o Visor).
- 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.
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:
| Rol | Descripción | Caso de uso |
|---|---|---|
| Administrador | Acceso completo a todos los recursos, configuración, gestión de equipos y facturación. | CTOs, líderes DevOps, propietarios de infraestructura |
| Desarrollador | Puede crear, desplegar y administrar aplicaciones. No puede acceder a la configuración del equipo ni del servidor. | Ingenieros de software, miembros del equipo DevOps |
| Visor | Acceso de solo lectura. Puede ver aplicaciones, registros y métricas pero no puede modificar nada. | Interesados, equipo de QA, auditores |
Matriz de permisos
Este es el desglose completo de lo que puede hacer cada rol:
| Acción | Administrador | Desarrollador | Visor |
|---|---|---|---|
| Ver aplicaciones y paneles | Sí | Sí | Sí |
| Ver registros y métricas | Sí | Sí | Sí |
| Crear y desplegar aplicaciones | Sí | Sí | No |
| Administrar variables de entorno | Sí | Sí | No |
| Administrar dominios y SSL | Sí | Sí | No |
| Acceder a la terminal | Sí | Sí | No |
| Administrar miembros del equipo | Sí | No | No |
| Configuración del servidor y nodos | Sí | No | No |
| Facturación y licencia | Sí | No | No |
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.
- Ve a la pestaña Configuración → Acceso del proyecto.
- Haz clic en Agregar miembro y selecciona un miembro del equipo.
- Elige el nivel de acceso para este proyecto (Acceso completo, Solo despliegue, Solo lectura).
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)
curl https://your-server:9000/api/team/audit-log?page=1&per_page=50 \
-H "Authorization: Bearer YOUR_TOKEN"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.
curl -X DELETE https://your-server:9000/api/team/members/usr_abc123 \
-H "Authorization: Bearer YOUR_TOKEN"