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 pueden invitar nuevos miembros al equipo por correo electrónico. El usuario invitado recibirá un correo con un enlace para configurar su cuenta.
- Ve a Configuración → Equipo → Miembros.
- Haz clic en Invitar miembro.
- Ingresa la dirección de correo electrónico y selecciona un rol (Administrador, Desarrollador o Visor).
- Haz clic en Enviar invitación.
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"
}'Las invitaciones pendientes se muestran en la lista de Miembros con una insignia de Invitado. Puedes reenviar o revocar una invitación en cualquier momento.
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"