Saltar a contenido

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).