Saltar al contenido principal

Multi-Tenant

Multi-tenant es cómo el Console organiza múltiples organizaciones (como tu compañía y tus clientes) de una manera que mantiene los datos de todos completamente separados y seguros.

Por Qué Importa el Multi-Tenant

Al usar una plataforma como Console, necesitas asegurar que:

  • Los datos de tu compañía estén completamente aislados de otras compañías
  • Cada compañía pueda gestionar sus propios usuarios independientemente
  • La configuración, permisos y datos se mantengan separados
  • Un problema de seguridad en una organización no afecte a otras

Console maneja todo esto automáticamente para ti.

La Jerarquía Organizacional

Console organiza tus datos usando una estructura clara:

Compañía (Tu Organización)
└── Usuarios (Los miembros de tu organización)
└── Grupos → Permisos

Compañía

La Compañía representa tu organización en Console. Es el nivel superior de tu jerarquía.

Cada compañía tiene:

  • Un nombre único (ej: "Acme Corporation")
  • Un slug usado para iniciar sesión (ej: "acme-corp")
  • Configuración de toda la organización
  • Completo aislamiento de datos de otras compañías
Slug de la Compañía

El slug de tu compañía es lo que los usuarios ingresan al iniciar sesión. Es parte de la identidad de tu organización en Console.

Usuario

Los Usuarios son las personas en tu organización. Cada usuario:

  • Tiene una dirección de correo electrónico única (dentro de su compañía)
  • Pertenece a uno o más grupos (que definen permisos)
  • Tiene un estado: invited, active o inactive

Ciclo de Vida del Usuario:

  1. Invitado - El usuario ha recibido un correo de invitación
  2. Activo - El usuario ha establecido su contraseña y puede iniciar sesión
  3. Inactivo - El acceso del usuario ha sido temporalmente deshabilitado

Grupos

Los Grupos son la forma principal de organizar usuarios y controlar permisos dentro de tu compañía. Úsalos para:

  • Definir roles (Administradores, Desarrolladores, Visualizadores)
  • Organizar por departamento (Ingeniería, Marketing, Ventas)
  • Crear niveles de acceso (Solo lectura, Editor, Gerente)
  • Gestionar permisos a escala

Los grupos contienen permisos que definen lo que los usuarios pueden hacer en el sistema.

Aislamiento de Datos

Una de las características más importantes de Console es el completo aislamiento de datos entre compañías.

Cómo Funciona

Cuando inicias sesión en Console:

  1. Te autenticas con el slug de tu compañía
  2. Console identifica a qué compañía perteneces
  3. Todos los datos que ves son automáticamente filtrados a tu compañía
  4. No puedes acceder a datos de otras compañías, incluso si conoces sus IDs

Esto significa:

  • Cada compañía ve solo sus propios usuarios
  • Los permisos están limitados a tu compañía
  • Completa privacidad y seguridad

Lo Que Ves

Cuando ves...Solo ves...
UsuariosUsuarios en tu compañía
GruposGrupos en tu compañía
PermisosPermisos en tu compañía
ConfiguraciónLa configuración de tu compañía

Ejemplo Práctico

Veamos cómo funciona esto en la práctica:

Escenario

Compañía: Acme Corp

  • Grupo Administradores: Alice (Gerente), Charlie (Tech Lead)
  • Grupo Desarrolladores: Bob (Ingeniero), Charlie (también en Desarrolladores), Diana (Ingeniera)
  • Grupo Marketing: Eve (Gerente de Marketing)

Lo Que Cada Persona Ve

Alice (Administradora):

  • Acceso completo a todos los recursos de la compañía
  • Puede gestionar todos los usuarios y grupos
  • Puede modificar la configuración de la compañía

Charlie (Administrador + Desarrollador):

  • Tiene permisos combinados de ambos grupos
  • Puede realizar tareas administrativas
  • También puede trabajar con recursos de desarrollo

Bob (Solo Desarrollador):

  • Acceso a recursos de desarrollo
  • No puede modificar permisos de usuarios
  • No puede acceder a funciones administrativas

Eve (Solo Marketing):

  • Acceso a recursos de marketing
  • No puede ver datos de desarrollo (a menos que los permisos lo permitan)
  • No puede realizar tareas administrativas

Mejores Prácticas

1. Usa Grupos para Organización

Organiza tus usuarios con grupos significativos:

Compañía: Acme Corp
├── Grupo Administradores - Acceso completo al sistema
├── Grupo Ingeniería - Recursos de desarrollo
├── Grupo Marketing - Recursos de marketing
└── Grupo Visualizadores - Acceso solo lectura

2. Define Límites de Permisos Claros

Dentro de tu compañía, usa grupos para definir lo que los usuarios pueden hacer:

Grupo Ingeniería
├── Puede gestionar repositorios de código
├── Puede desplegar a staging
└── Puede ver logs de producción

Grupo Marketing
├── Puede gestionar campañas
├── Puede ver analytics
└── No puede acceder a repositorios de código

3. Mantén la Simplicidad

Comienza con una estructura simple y agrega complejidad solo cuando sea necesario:

Fase 1: Grupos básicos (Administradores, Usuarios, Visualizadores)
Fase 2: Agregar grupos específicos por departamento
Fase 3: Agregar grupos de roles especializados según sea necesario

4. Nombra las Cosas Claramente

Usa nombres descriptivos que hagan la estructura obvia:

  • ✅ "Departamento de Ingeniería"
  • ❌ "Grupo 1"
  • ✅ "Visualizadores Solo Lectura"
  • ❌ "Grupo A"

Consideraciones de Seguridad

Lo Que Console Garantiza

  • Aislamiento completo: Sin acceso a datos entre compañías
  • Autenticación segura: Múltiples métodos de autenticación con 2FA opcional
  • Registro de auditoría: Todo acceso es registrado
  • Filtrado automático: Los datos son filtrados por compañía automáticamente

Lo Que Deberías Hacer

  1. Revisar acceso regularmente: Verifica quién tiene acceso a qué
  2. Desactivar prontamente: Elimina el acceso cuando los usuarios se vayan
  3. Usar grupos apropiados: No des a los usuarios acceso que no necesitan
  4. Activar 2FA: Requiere autenticación de dos factores para roles sensibles

Próximos Pasos

Ahora que entiendes multi-tenant, aprende sobre:

Para Desarrolladores

¿Interesado en cómo funciona multi-tenant a nivel de API? Ve los Conceptos de Multi-Tenant de la API para detalles técnicos.