C4 — Contexto del sistema
El nivel de contexto C4 muestra el sistema Identity Platform en relación con sus usuarios y los sistemas externos con los que interactúa. No entra en detalles internos; su objetivo es comunicar el alcance y las dependencias externas.
Diagrama de contexto
flowchart TD
EMP([👤 Empleado\nUsuario interno])
SOC([👤 Socio externo\nUsuario partner])
SVC([⚙️ Servicio M2M\nSistema automatizado])
ADM([🔧 Administrador\nOps / DevOps])
subgraph Platform["Identity Platform"]
direction TB
IP[Sistema de identidad\nKeycloak + Traefik + Spring WebFlux]
end
LDAP([📂 LDAP / Active Directory\nDirectorio corporativo])
EMAIL([✉️ Servidor SMTP\nNotificaciones])
EXT([🌐 IdP Externo\nGoogle / Azure AD])
EMP -->|Autenticación OIDC\nAuthorization Code + PKCE| IP
SOC -->|Autenticación OIDC\nAuthorization Code + PKCE| IP
SVC -->|Client Credentials\nM2M| IP
ADM -->|Admin Console\nRed privada| IP
IP -->|User Federation\nLDAP sync| LDAP
IP -->|Emails de verificación\nreset de contraseña| EMAIL
IP -->|Identity Brokering\nOIDC delegation| EXT
Actores externos
| Actor |
Tipo |
Interacción con la plataforma |
| Empleado |
Usuario humano (persona) |
Inicia sesión en aplicaciones internas vía realm-internal. Usa Authorization Code + PKCE desde el navegador. |
| Socio externo |
Usuario humano (persona) |
Accede a portales de partners vía realm-partners. Mismo flujo que el empleado pero realm separado. |
| Servicio M2M |
Sistema automatizado |
Obtiene access tokens con Client Credentials. Sin intervención humana. Usa realm-partners o realm-internal según configuración. |
| Administrador |
Usuario humano (persona) |
Gestiona realms, clientes y usuarios desde la Admin Console de Keycloak (acceso restringido a red privada). |
Sistemas externos
| Sistema |
Descripción |
Dirección de la integración |
| LDAP / Active Directory |
Directorio de usuarios corporativos |
Platform → LDAP (User Federation, sincronización de usuarios) |
| Servidor SMTP |
Envío de emails transaccionales |
Platform → SMTP (verificación de email, reset de contraseña, MFA) |
| IdP Externo |
Google, Azure AD, GitHub u otro proveedor OIDC/SAML |
Platform ↔ IdP (Identity Brokering: el usuario se autentica en el IdP externo, Keycloak recibe el resultado) |
Lo que incluye este sistema
- Autenticación de usuarios (empleados y socios) vía estándares OAuth2 / OIDC.
- Emisión y validación de tokens JWT firmados (RS256).
- Gestión de realms, clientes, usuarios, roles y sesiones.
- Terminación TLS con certificados Let's Encrypt (Traefik).
- APIs de negocio protegidas con validación JWT (Spring WebFlux Resource Servers).
Lo que está fuera de este sistema
- Lógica de negocio específica de cada aplicación.
- Almacenamiento de datos de aplicación (productos, pedidos, etc.).
- Autorización de recursos a nivel de fila de base de datos (row-level security).
- Monitoreo de infraestructura de cloud (responsabilidad del proveedor VPS).