Tema 5

5. Principios de Zero Trust aplicados a microservicios

En sistemas distribuidos ya no alcanza con proteger el perímetro. Los servicios internos también deben demostrar quiénes son, qué pueden hacer y bajo qué condiciones actúan. Zero Trust traslada la seguridad desde la confianza implícita hacia la verificación explícita y continua.

Objetivo Eliminar confianza implícita entre componentes
Enfoque Identidad, contexto y mínimo privilegio
Resultado Diseñar interacciones más verificables

5.1 Introducción

Durante mucho tiempo muchas arquitecturas asumieron una idea peligrosa: si algo estaba dentro de la red interna, podía considerarse confiable. Ese supuesto fue debilitándose con la nube, el trabajo remoto, la integración con terceros, los despliegues automatizados y la proliferación de componentes distribuidos.

En microservicios, esa confianza implícita es todavía más riesgosa. Un servicio comprometido puede usar su posición interna para moverse lateralmente, consultar recursos que no necesita o emitir llamadas que parecen legítimas. Por eso el modelo tradicional de "interior confiable y exterior hostil" deja de ser suficiente.

Zero Trust no es un producto ni una única herramienta. Es una postura arquitectónica: asumir que ninguna interacción merece confianza automática y que cada acceso debe verificarse según identidad, contexto y necesidad real.

5.2 Qué significa Zero Trust

Zero Trust suele resumirse en la idea de never trust, always verify. En términos prácticos significa que la pertenencia a una red, a un clúster o a un segmento no debería otorgar privilegios por sí sola.

El acceso a un recurso debe evaluarse en función de:

  • La identidad del actor que lo solicita.
  • El recurso o acción exacta que intenta ejecutar.
  • El contexto de la operación.
  • Las políticas vigentes de riesgo y autorización.
Zero Trust no implica desconfiar de todo indiscriminadamente. Implica no regalar confianza sin evidencia.

5.3 Por qué encaja naturalmente en microservicios

Los microservicios están llenos de interacciones remotas: llamadas API, intercambio de eventos, acceso a secretos, comunicación con bases de datos y uso de infraestructura compartida. Cada una de esas interacciones es un punto donde conviene aplicar verificación explícita.

Además, la arquitectura distribuida incrementa la probabilidad de compromisos parciales. Un contenedor vulnerable, una cuenta técnica expuesta o una configuración errónea pueden convertir a un servicio interno en un atacante plausible. Zero Trust está pensado precisamente para ese escenario.

5.4 Principios fundamentales

Aunque las implementaciones concretas varían, Zero Trust suele apoyarse en algunos principios estables.

  • Verificación explícita: toda interacción relevante debe autenticarse y evaluarse.
  • Mínimo privilegio: cada identidad recibe solo el acceso estrictamente necesario.
  • Asumir compromiso posible: el diseño debe considerar que un componente interno puede fallar o ser abusado.
  • Segmentación fina: se restringen caminos laterales y alcances innecesarios.
  • Observabilidad continua: el sistema debe poder detectar usos anómalos o desviaciones.

5.5 Del perímetro a la identidad

En arquitecturas tradicionales el control principal estaba en el borde: firewalls, VPNs, DMZ y proxies. En Zero Trust, sin eliminar esos controles, el eje principal pasa a ser la identidad del solicitante y su contexto.

Esto cambia la pregunta. En lugar de pensar solamente "desde dónde viene la llamada", se empieza a preguntar "quién es", "por qué necesita este acceso", "qué recurso específico puede usar" y "cómo se valida esa afirmación".

Enfoque tradicional Enfoque Zero Trust Consecuencia
Confianza basada en red o segmento Confianza basada en identidad y política Menor dependencia de límites perimetrales
Acceso amplio dentro del entorno interno Acceso acotado por recurso y contexto Menor movimiento lateral
Verificación inicial y luego confianza persistente Evaluación continua y revocable Mejor respuesta ante compromisos parciales

5.6 Identidad de usuario e identidad de workload

En microservicios no solo existen usuarios humanos. También existen workloads: pods, servicios, jobs, funciones, sidecars o procesos que actúan automáticamente. Esas identidades técnicas deben tratarse con el mismo rigor o incluso con más rigor que las identidades de usuario.

  • Un usuario debería autenticarse con mecanismos apropiados al canal y al riesgo.
  • Un servicio debería demostrar su identidad con certificados, tokens firmados o mecanismos equivalentes.
  • Ambas identidades deberían poder auditarse y revocarse.
  • Las políticas deberían distinguir claramente qué puede hacer cada tipo de actor.

5.7 Autenticación continua y contexto

Zero Trust no se reduce a autenticar una vez al inicio y luego asumir confianza ilimitada. Las decisiones de acceso pueden depender del tipo de operación, del entorno, de la sensibilidad del recurso, del riesgo del token o del estado del workload.

Esto no significa pedir credenciales en cada segundo, sino evaluar continuamente si las condiciones que justifican el acceso siguen siendo válidas.

5.8 Mínimo privilegio realista

El mínimo privilegio es uno de los pilares de Zero Trust, pero no debe quedarse en una declaración abstracta. En sistemas distribuidos implica revisar qué permisos necesita realmente cada servicio, qué datos consume, qué recursos administra y qué acciones nunca debería poder ejecutar.

  • Un servicio de lectura no debería tener permisos de escritura administrativa.
  • Un job temporal no debería conservar acceso persistente innecesario.
  • Un servicio no debería poder consultar bases o colas ajenas por comodidad.
  • Las cuentas compartidas deberían evitarse porque diluyen trazabilidad.
El mínimo privilegio no se consigue agregando controles al final. Se consigue diseñando límites y permisos coherentes desde el inicio.

5.9 Segmentación y microsegmentación

Zero Trust suele apoyarse en segmentación fina. En lugar de permitir comunicación amplia entre todos los componentes internos, se autorizan solamente los caminos estrictamente necesarios para que una capacidad funcione.

En microservicios esto puede expresarse como:

  • Políticas de red entre namespaces, pods o servicios.
  • Reglas explícitas en gateways o service mesh.
  • Restricciones por identidad de workload.
  • Separación de entornos y de planos de administración.

La microsegmentación reduce la probabilidad de que un compromiso local se propague a todo el sistema.

5.10 Autorización contextual

Autenticar no alcanza. Un servicio o usuario puede ser legítimo y aun así no estar autorizado para una acción concreta. Por eso Zero Trust necesita autorización fina y contextual.

La decisión de autorización puede depender de:

  • La identidad del actor.
  • La acción solicitada.
  • El recurso específico involucrado.
  • El dominio o bounded context del pedido.
  • La sensibilidad de la operación.

5.11 Telemetría y verificación operacional

Zero Trust no puede sostenerse sin telemetría. Si el sistema no registra quién accedió, desde dónde, con qué identidad, a qué recurso y con qué resultado, la política existe solo en el papel.

La observabilidad en este enfoque no es solo técnica. También es de seguridad:

  • Registros de autenticación y autorización.
  • Auditoría de cambios de políticas y permisos.
  • Trazas que permitan seguir una operación entre servicios.
  • Alertas sobre patrones anómalos de acceso.

5.12 Supuesto de compromiso

Uno de los aspectos más valiosos de Zero Trust es que obliga a asumir que un componente interno podría estar comprometido. Ese supuesto cambia el diseño: ya no alcanza con que el tráfico venga "de adentro", porque ese origen podría ser precisamente el problema.

Diseñar con esta hipótesis ayuda a limitar movimientos laterales, a restringir tokens y a separar mejor las rutas de acceso más sensibles.

5.13 Ejemplos prácticos en microservicios

  • El servicio de órdenes puede hablar con pagos, pero no directamente con secretos globales.
  • Un job de conciliación obtiene credenciales temporales solo durante su ventana de ejecución.
  • Una API pública autentica al usuario y luego cada servicio interno valida el contexto que realmente necesita.
  • Los accesos administrativos quedan separados del tráfico de aplicación y con mayor auditoría.
  • Un servicio comprometido no puede consultar arbitrariamente datos de otros dominios.

5.14 Errores comunes al aplicar Zero Trust

  • Reducirlo a una compra de herramienta sin cambiar el diseño de accesos.
  • Creer que basta con cifrar tráfico sin revisar identidad y permisos.
  • Aplicar políticas demasiado amplias por comodidad operativa.
  • No diferenciar identidades humanas de identidades de workload.
  • No invertir en observabilidad y luego no poder demostrar ni investigar accesos.
Zero Trust mal aplicado puede convertirse en burocracia de acceso. Bien aplicado se convierte en claridad de identidad, permisos y evidencia operativa.

5.15 Qué cambia en el diseño diario

Adoptar Zero Trust cambia decisiones cotidianas de arquitectura. Obliga a pensar contratos más explícitos, permisos más finos, secretos menos persistentes, rutas de acceso más acotadas y validaciones más cercanas a cada recurso sensible.

También modifica la conversación entre equipos: ya no alcanza con que algo "funcione". Hay que poder justificar por qué ese servicio tiene ese permiso, qué evidencia demuestra su identidad y qué controles detectan un uso anómalo.

5.16 Qué debes recordar de este tema

  • Zero Trust traslada la seguridad desde el perímetro hacia la identidad y la política.
  • En microservicios toda interacción relevante debería verificarse explícitamente.
  • Las identidades de workload son tan importantes como las identidades humanas.
  • El mínimo privilegio y la segmentación fina reducen movimiento lateral e impacto.
  • Sin telemetría y auditoría, Zero Trust no puede sostenerse operativamente.

5.17 Conclusión

Zero Trust ofrece una forma más realista de pensar la seguridad en sistemas distribuidos. En lugar de asumir que lo interno es confiable, obliga a construir confianza a partir de identidad, autorización, contexto y evidencia. Esa postura es especialmente adecuada para microservicios, donde los bordes de interacción son numerosos y el compromiso parcial es un escenario plausible.

En el próximo tema estudiaremos el diseño seguro de APIs REST, gRPC y mensajería asíncrona para llevar estos principios a los contratos concretos de comunicación entre componentes.