Descargo de responsabilidad Este artículo asume que ya estás familiarizado con conceptos de Kubernetes como Pods y ServiceAccounts y con los fundamentos de los JSON Web Tokens JWT.
Fue un martes cualquiera. Nada especial, un día tranquilo como ingeniero de plataforma. Al revisar un repositorio para limpiar un Helm chart antiguo, abrí el código de la imagen base en Go y, al pasar por la configuración, algo me saltó a la vista: un registro de depuración que imprimía el token de ServiceAccount. Me paralicé por un segundo y, entre curiosidad y horror, decodifiqué el token. El payload mostraba emisor del cluster, namespace payments, nombre del secreto, la identidad del ServiceAccount y, lo peor, un vencimiento de un año y una audiencia por defecto al API de Kubernetes. Un token de alto privilegio, sin restricciones reales, flotando en logs en texto plano. Nada cool.
Por qué esto importa Para entender por qué ese log me erizó la piel, conviene repasar tres ideas clave: qué es un JWT, cómo funcionan los ServiceAccounts y sus tokens en Kubernetes y qué papel juegan estos tokens al autenticarse frente a sistemas como Vault.
Qué es un JWT Un JSON Web Token es un formato compacto y seguro para representar afirmaciones entre dos partes. Consta de encabezado con el algoritmo de firma, payload con los claims y una firma criptográfica que garantiza integridad. Los claims estándar típicos incluyen iss emisor, sub sujeto, exp vencimiento y aud audiencia, además de claims personalizados específicos del dominio.
El claim aud de cerca La audiencia indica para quién está destinado el token. Piensa en una entrada a un concierto válida solo para un estadio concreto en una fecha específica; intentar usarla en otro lugar debería fallar. Igual con un JWT: si aud apunta al servidor de la API de Kubernetes, cualquier otro servicio debe rechazarlo. Sin esa comprobación, un token podría reutilizarse en cualquier lugar que confíe en la clave de firma.
Kubernetes y ServiceAccounts Kubernetes orquesta contenedores a escala y cada Pod necesita identidad. Esa identidad es el ServiceAccount. Si está habilitado, Kubernetes puede montar el token en la ruta estándar del contenedor en var run secrets kubernetes.io serviceaccount token. Ese token es un JWT firmado por el plano de control y permite que el Pod se autentique ante el API server e incluso ante sistemas externos como Vault.
El problema histórico Hasta hace poco, estos tokens eran peligrosamente permisivos: eran de larga duración a menudo cerca de un año, se montaban automáticamente en muchos Pods aunque no se usaran, y antes de Kubernetes v1.24 la audiencia no estaba definida por defecto de forma segura, lo que abría la puerta a usos indebidos si alguien filtraba el token.
Vault como guardián de secretos HashiCorp Vault almacena llaves de API, certificados y contraseñas y solo los entrega cuando verifica de forma estricta la identidad del solicitante, apoyándose en métodos de autenticación como usuario y contraseña, AppRole, LDAP, Kubernetes y JWT. Aquí nos enfocamos en Kubernetes y JWT.
Método de autenticación Kubernetes en Vault El Pod envía su token de ServiceAccount a Vault, Vault lo valida contra el API de Kubernetes y, si cuadra, lo mapea a una política. Es simple y encaja cuando Vault vive dentro del clúster.
Método de autenticación JWT en Vault Vault verifica localmente firma, claims, expiración e issuer usando una clave PEM o un endpoint JWKS, sin necesidad de hablar con el API de Kubernetes. Gana portabilidad y fronteras más claras entre sistemas. Regla práctica: usa Kubernetes cuando simplicidad y proximidad mandan; usa JWT cuando buscas portabilidad, separación de responsabilidades y flexibilidad.
Tokens proyectados porque estamos en 2025 En lugar de tokens estáticos y longevos, Kubernetes puede emitir tokens proyectados de vida corta y con audiencia específica bajo demanda. Beneficios: TTL reducido por ejemplo 10 minutos, restricción de audiencia como aud vault, rotación automática por kubelet y sin montaje automático indiscriminado en los Pods.
Cómo se ve en la práctica Definir un volumen proyectado serviceAccountToken con expirationSeconds 600, audience vault y montarlo en el contenedor en una ruta de solo lectura permite que la aplicación obtenga un JWT efímero y limitado específicamente para autenticarse con Vault.
Por qué Vault ama esta aproximación El método JWT de Vault valida firma y claims como aud, sub, exp e iss localmente, con dependencias mínimas y controles verificables. Si alguno de los checks falla o la audiencia no coincide, no hay secretos para ese Pod.
De vuelta al log Si encuentras un println que muestra un token, en el mundo antiguo podría ser un token de un año, aceptado por múltiples destinos. En el mundo moderno, debería ser un token de 10 minutos, limitado a Vault y rotando automáticamente. Seguiría siendo mala práctica registrar tokens, pero el riesgo y la ventana de exposición se vuelven mucho menores.
Ponte manos a la obra Puedes probarlo localmente con un laboratorio que levanta un clúster KIND y Vault mediante Helm, habilita los métodos Kubernetes y JWT, crea políticas y roles y despliega Pods de demostración que cubren autenticación por Kubernetes, JWT con token estático, JWT con token proyectado y un caso fallido por audiencia incorrecta. Repositorio en GitHub demo de tokens proyectados con Vault y Kubernetes.
Conclusión Si tus Pods aún operan con tokens por defecto y de larga duración, estás a un simple log de regalar las llaves de tu clúster. Los tokens proyectados no son opcionales, son esenciales. Adóptalos ya, integra validaciones rigurosas en Vault y elimina los riesgos silenciosos de credenciales de larga vida.
Cómo te ayuda Q2BSTUDIO En Q2BSTUDIO diseñamos e implantamos arquitecturas seguras de extremo a extremo para plataformas nativas de la nube, con prácticas de ciberseguridad Zero Trust, integración de Vault, Kubernetes y gestión de identidades basada en tokens proyectados. Nuestro equipo desarrolla aplicaciones a medida y software a medida con foco en cumplimiento y seguridad desde el diseño, y te acompaña con servicios cloud aws y azure, servicios inteligencia de negocio con power bi, inteligencia artificial e ia para empresas incluyendo agentes IA. Si quieres fortalecer tus controles, realizar hardening y pruebas de penetración, explora nuestros servicios de ciberseguridad y pentesting. Si además necesitas modernizar infraestructura y automatizar despliegues seguros y observables en la nube, descubre nuestros servicios cloud en AWS y Azure. Contáctanos y convierte la seguridad de tus identidades de máquina en una ventaja competitiva real.
Palabras clave para mejorar tu estrategia de búsqueda aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.