Vista general y límites de acceso

Arquitectura del sistema y capa de acceso unificada

Partiendo de los límites generales de responsabilidad, explica cómo una solicitud entra de forma segura en una región apta y qué responsabilidad corresponde a cada tipo de componente.

Partiendo de los límites generales de responsabilidad, explica cómo una solicitud entra de forma segura en una región apta y qué responsabilidad corresponde a cada tipo de componente.

4. Arquitectura general

El siguiente diagrama solo expresa los límites lógicos de responsabilidad y los elementos entregados entre límites; no detalla componentes, cachés ni topología de despliegue. Los seis nodos neutrales pueden implementarse mediante varios componentes o desplegarse de forma distribuida; el término "centro" en sus nombres indica reglas unificadas y propiedad de responsabilidad, no que una solicitud deba invocar sincrónicamente un servicio centralizado.

Vista general de límites lógicos

%%{init: {"flowchart": {"curve": "linear", "nodeSpacing": 34, "rankSpacing": 44, "htmlLabels": true}}}%% flowchart TB subgraph CONTROL["Política y configuración"] direction LR CONFIG["Centro de publicación y operaciones de configuración<br/>Cambios administrativos · publicación de versiones · denegación de emergencia"] -->|"instantánea de política de enrutamiento"| ROUTING["Centro de política de enrutamiento de tráfico<br/>una política · dos puntos de ejecución"] end subgraph REQUEST["Ruta de solicitud del comerciante"] direction LR MERCHANT["Sistema del comerciante"] --> INGRESS["Capa de acceso unificada<br/>selección de entrada · protección perimetral · origen confiable"] INGRESS --> ACCESS["Centro de control de acceso<br/>autenticación · Key-IP · Scope"] ACCESS --> GOVERN["Capa de gobierno y ejecución de solicitudes<br/>política de tráfico · controles de seguridad · llamada al backend"] GOVERN --> PLATFORM["Servicios de plataforma de pagos<br/>WebPay Inbox · BPS · Zero Confirmation"] end ROUTING -.->|"política de región de entrada"| INGRESS ROUTING -.->|"candidatos de backend y control de conmutación"| GOVERN CONFIG -->|"instantánea de Key · IP · Scope"| ACCESS CONFIG -->|"instantánea de gobierno de enrutamiento"| GOVERN GOVERN -.->|"eventos de ejecución y decisión del plano de datos"| OBSERVE["Centro de observabilidad y auditoría<br/>consulta correlacionada · alertas · SLO · evidencia de cumplimiento"] CONFIG -.->|"eventos de cambio y auditoría dentro de la transacción"| OBSERVE classDef external fill:#F7F9FC,stroke:#8A9AAF,color:#18212F,stroke-width:1.5px classDef entry fill:#EAF2FF,stroke:#1264D6,color:#12345B,stroke-width:2px classDef runtime fill:#FFFFFF,stroke:#4F79A7,color:#18212F,stroke-width:1.5px classDef policy fill:#EDF8F3,stroke:#16835E,color:#124D3B,stroke-width:1.5px classDef control fill:#F2F0FF,stroke:#6657C7,color:#292057,stroke-width:1.5px class MERCHANT,PLATFORM external class INGRESS entry class ACCESS,GOVERN runtime class ROUTING,OBSERVE policy class CONFIG control style CONTROL fill:#FAF9FF,stroke:#C9C0F1,stroke-width:2px style REQUEST fill:#F8FBFF,stroke:#B8CDEA,stroke-width:2px

Las líneas continuas de la vista general representan relaciones de entrega de solicitudes o instantáneas versionadas; las líneas discontinuas representan influencia de política o agregación de eventos. El centro de política de enrutamiento de tráfico no es un servicio sincrónico centralizado en la ruta crítica: el punto de ejecución de entrada elige la región de entrada y el punto de ejecución de gobierno, después de la autenticación, elige el backend y aplica los controles de conmutación. El centro de observabilidad y auditoría no reemplaza la escritura de auditoría dentro de la transacción del plano de control; solo se ocupa de agregación segura, consultas correlacionadas, alertas y salida de evidencia. La vista general no muestra una caché separada; la instantánea regional es una implementación interna del control de acceso y del gobierno de solicitudes, y su origen siempre es la cadena de publicación de configuración.

Nodo abstractoResponsabilidad únicaUbicación de detalle
Capa de acceso unificadaLleva conexiones externas de forma segura a una región elegible y produce un contexto de origen confiableSección 4.1
Centro de política de enrutamiento de tráficoRestringe la región de entrada y la selección de backend posterior a la autenticación con una política versionadaSección 7.1.1
Centro de control de accesoCompleta la decisión de identidad, Key-IP y Scope de ruta y entrega una semántica estable de permitir o denegarSección 5.6
Capa de gobierno y ejecución de solicitudesAplica políticas de tráfico, seguridad y llamadas a solicitudes autorizadas, e invoca un backend concretoSección 6.1
Centro de publicación y operaciones de configuraciónValida cambios administrativos, persiste con escritura única, publica instantáneas y proporciona un canal de denegación de emergencia independienteSección 10.1
Centro de observabilidad y auditoríaAgrega eventos con datos sensibles eliminados y produce consultas correlacionadas, alertas, SLO y evidencia de cumplimientoSección 12.1

4.1 Capa de acceso unificada

La capa de acceso unificada incluye productos globales de tráfico, protección perimetral, puntos de terminación TLS o rutas de paso, entradas regionales y balanceo de carga. Solo establece conexiones confiables y contexto de origen; no autentica API Key ni concede permisos de plataforma. Una indicación de comerciante o plataforma antes de la autenticación solo puede reducir el conjunto de candidatos de entrada.

%%{init: {"flowchart": {"curve": "linear", "nodeSpacing": 34, "rankSpacing": 38, "htmlLabels": true}}}%% flowchart TB MERCHANT["Solicitud TLS del comerciante"] --> EDGE["Protección perimetral global<br/>DDoS L3/L4 · límites de conexiones y tasa"] HINT["Indicación de enrutamiento no autenticada<br/>solo reduce candidatos · no concede permisos"] --> SELECT["Punto de ejecución 1 · selección de región de entrada<br/>allowed_regions · cumplimiento · salud regional"] POLICY["Centro de política de enrutamiento<br/>versión de política de región de entrada"] -.-> SELECT EDGE --> SELECT SELECT -->|"existe una región elegible"| REGION["Entrada regional"] SELECT -->|"no existe una región elegible"| FAIL["detener resolución o devolver 503<br/>según la capacidad del producto de tráfico global"] subgraph REGIONAL["Procesamiento de acceso dentro de una región elegible"] direction LR REGION --> TLS["Terminación o paso de TLS<br/>mTLS completa el handshake en el punto de terminación real"] TLS --> WAF["WAF L7 y límite de protocolo<br/>método · Header · ruta · tamaño de mensaje"] WAF --> SOURCE["IP de origen confiable<br/>sobrescribe encabezados externos reenviados · valida cadena de proxy confiable"] SOURCE --> BALANCE["Balanceo de carga regional<br/>solo selecciona instancias de gateway saludables"] BALANCE --> OUTPUT["Salida<br/>solicitud normalizada + IP de origen confiable<br/>contexto de certificado mTLS"] end classDef external fill:#F7F9FC,stroke:#8A9AAF,color:#18212F,stroke-width:1.5px classDef input fill:#F4F7FB,stroke:#72849A,color:#253954,stroke-width:1.5px classDef entry fill:#EAF2FF,stroke:#1264D6,color:#12345B,stroke-width:1.5px classDef reject fill:#FFF2EC,stroke:#C7582B,color:#6B2812,stroke-width:1.5px class MERCHANT external class HINT,POLICY input class EDGE,SELECT,REGION,TLS,WAF,SOURCE,BALANCE,OUTPUT entry class FAIL reject style REGIONAL fill:#F8FBFF,stroke:#B8CDEA,stroke-width:2px

El contexto del certificado mTLS de la salida es solo el resultado del handshake; la vinculación explícita entre el certificado y la API Key debe validarse después de que la autenticación de identidad haya tenido éxito. Si el TLS externo termina en el WAF o pasa al gateway sigue siendo una decisión de selección técnica; independientemente del punto de terminación, se debe aplicar ocultación de credenciales, protección de certificados y validación de la cadena de proxies confiables.

4.2 Componentes del plano de datos

  1. Centro de política de enrutamiento de tráfico (capacidad lógica): define de manera unificada las políticas de región de entrada y de enrutamiento de backend dentro de la región, y las publica como instantáneas versionadas para evaluación local en dos puntos de ejecución, sin introducir dependencia de una base de datos sincronizada entre regiones.
  2. Entrada global, WAF y balanceo de carga: el punto de ejecución de entrada selecciona la región de entrada según la política publicada y la salud regional; WAF y balanceo se encargan de la protección DDoS, la terminación o el paso TLS, validación básica de protocolo y distribución de instancias dentro de la región.
  3. API Gateway: completa normalización de solicitudes, llamada de autenticación, ejecución de permisos, limitación de tasa, enrutamiento, tiempo de espera, disyuntor, identificación de solicitud y normalización de respuestas.
  4. Servicio de validación de API Key (desplegado en cada región): valida resumen del Secret, estado de la Key, entorno de entrada y vinculación Key-IP, y devuelve al gateway la identidad verificada y el conjunto de Scope; no determina si un comerciante puede acceder a una ruta.
  5. Instantánea de configuración regional y caché de limitación de tasa: conserva instantáneas firmadas o versionadas de Key, IP, Scope, revocación y rutas, además del estado de limitación de tasa distribuida. El Nonce de escrituras de pago usa una caché de seguridad independiente, sincronizada solo entre regiones donde se permite la conmutación de escrituras.
  6. Capa de enrutamiento de servicio: como segundo punto de ejecución posterior a la autenticación, mantiene endpoints de backend regionales, estado de salud, límites de reintento y ejecuta los controles de conmutación interregional publicados por el centro de políticas.

4.3 Componentes del plano de control

  1. Gateway Admin API: proporciona interfaces invocables por máquina para el ciclo de vida de Key, Scope, vinculaciones IP y gestión de rutas.
  2. Identidad y aprobación internas: los administradores deben iniciar sesión mediante el sistema de identidad corporativo; las operaciones de alto riesgo requieren aprobación de dos personas.
  3. Plano de control unificado: valida invariantes de configuración, mantiene un arrendamiento de escritura única, escribe en PostgreSQL y publica eventos de cambio versionados mediante el Outbox transaccional.
  4. PostgreSQL: única fuente de verdad para comerciantes, Key, permisos, vinculaciones y configuración de rutas; utiliza replicación activa y de reserva entre regiones y vallado de escritura.
  5. Plano de control de reserva: normalmente no acepta escrituras; solo puede asumir el control cuando el primario anterior ha sido vallado y obtiene un nuevo epoch.
  6. Bus de mensajes: envía cambios a cada región y admite reproducción, posiciones de consumo y consumo idempotente.
  7. Entrada break-glass de solo denegación: cuando el plano de control no está disponible, añade elementos de denegación de emergencia a los servicios regionales de validación de API Key; nunca puede ampliar permisos.
  8. Almacenamiento de auditoría: registra quién realizó qué cambio, cuándo y por qué, junto con diferencias no sensibles antes y después del cambio.

4.4 Línea base tecnológica recomendada

En ausencia de restricciones de una pila tecnológica existente, se recomienda adoptar primero la siguiente línea base para validación de prototipo:

Esta línea base tecnológica debe confirmarse tras recibir del equipo de plataforma el inventario de infraestructura existente. La arquitectura lógica no depende de productos de un proveedor concreto.