Organizaciones
La API de organizaciones de OpenFactory almacena membresías de organización más grupos, unidades y equipos opcionales. También aporta destinos para compartir conversaciones/variants.
organization
├── members: owner | admin | member
├── groups: organization-level sharing collections
└── units
├── unit members
└── teams
└── team membersEsta jerarquía es una entrada de autorización. Una etiqueta de rol no prueba que cada endpoint de compilación, VM, descarga o despliegue aplique la política prevista. Consulta Roles y alcance de permisos para las rutas gobernadas actualmente por cada rol.
Objetos principales
- Organization: límite superior de membresía y administración. Un usuario puede pertenecer a varias organizaciones.
- Group: colección con nombre de miembros de organización usada como destino de compartir; no es una jerarquía administrativa.
- Unit: contenedor tipo departamento con su propia membresía y roles de flujo almacenados.
- Team: hijo de una unidad con su propia membresía y roles de flujo almacenados.
Los usuarios deben ser miembros de la organización antes de añadirse por debajo.
Secuencia de configuración segura
- Crea la organización; el creador pasa a ser owner.
- Añade un segundo owner responsable antes de depender de la organización para operaciones duraderas.
- Invita usuarios a sus direcciones de correo exactas y asigna el rol de organización mínimo requerido.
- Añade unidades o equipos solo cuando su alcance cambie un flujo real.
- Prueba una acción permitida y una denegada con cada rol representativo.
- Revisa comportamiento de compartir y membresía tras eliminar un rol y refrescar la sesión.
Las invitaciones caducan y deben aceptarlas una cuenta cuyo correo coincida con la invitación. No transmitas tokens de invitación en tickets o logs públicos.
Contexto y propiedad
La selección de organización puede afectar datos de colaboración visibles, pero los recursos individuales siguen llevando reglas de propietario y compartir. No infieras acceso a una compilación o artefacto privado solo porque dos usuarios pertenecen a la misma organización. Usa un share explícito donde esté admitido y prueba la acción de descarga/VM por separado.
Evidencia de aislamiento
Las rutas de organización y compartir realizan comprobaciones de membresía y validación de misma organización para sus operaciones acotadas. «Tenant isolation» es una propiedad más amplia del sistema y necesita pruebas de rutas denegadas entre tenants en conversaciones, compilaciones, artefactos, VM, APIs, cachés, exportaciones y logs. No uses solo la jerarquía de organización como esa evidencia.
Salvaguardas de administración
- Se admiten varios owners; el único owner no puede salir.
- Solo un owner puede promover a otro owner o eliminar la organización.
- La eliminación y la retirada de membresía pueden afectar acceso dependiente. Inventaria shares, unidades, equipos, sesiones activas y recursos propios primero.
- Conserva un registro de auditoría externo si tu política lo exige; un listado de roles actual no es un historial de auditoría.
Continúa con Compartir y Unidades y equipos.