0Pricing
DevOps Bootcamp · Lección

Por qué los Secrets no deben estar en values.yaml

Los riesgos de guardar secretos en texto plano en charts y Git.

Por qué los Secrets no deben estar en values.yaml es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Los valores son texto sin formato

El archivo values.yaml de un chart es texto normal sin cifrar. Todo lo que escriba allí, incluidas las contraseñas, puede leerlo cualquiera que abra el archivo.

Git lo recuerda para siempre

Los charts suelen vivir en Git. Un secreto confirmado una vez permanece en el historial incluso después de eliminarlo, por lo que una filtración es permanente. 🔒

Un error tentador

Puede resultar tentador poner una contraseña real directamente en values.yaml para que todo funcione. Resístase, porque ese valor se propaga por todas partes.

database:
  password: super-secret-123

Helm almacena los datos de la release

Al instalar, Helm guarda los valores combinados en un secreto de release en el clúster. Su contraseña en texto plano también queda allí.

helm get values la expone

Cualquiera con acceso a la release puede ejecutar helm get values y leer exactamente lo que pasó, incluida la contraseña en texto plano.

helm get values myapp

Los registros de CI también filtran secretos

Pasar secretos mediante --set en una canalización suele imprimirlos en los registros de compilación, donde quedan a la vista de todo el equipo.

helm install myapp ./chart --set db.password=secret

La regla fundamental

La regla es sencilla: los secretos nunca deben permanecer en texto plano dentro de un chart, en Git ni en la línea de comandos. Manténgalos fuera.

Referencie, no incruste

El patrón seguro consiste en referenciar un secreto en lugar de incrustarlo. Las plantillas apuntan a un recurso Secret que el clúster ya contiene.

valueFrom:
  secretKeyRef:
    name: db-credentials
    key: password

Cifre si debe almacenarlo

Cuando los valores secretos realmente deban vivir en Git, almacénelos cifrados, de modo que el archivo confirmado no sirva de nada sin la clave de descifrado.

Tres enfoques habituales

Hay tres opciones: cifrar los valores con herramientas, obtener los secretos de un almacén externo o crear plantillas de objetos Secret a partir de datos inyectados.

La codificación no es seguridad

Base64 en Kubernetes Secrets solo es codificación, no cifrado. No oculta nada, por lo que nunca trate un valor codificado como protegido.

Comprobación rápida

¿Por qué es tan arriesgado guardar una contraseña en values.yaml?

Recapitulación

Ha visto por qué los secretos en texto plano dentro de values.yaml se filtran a través de Git, los datos de la release y los registros de CI, y por qué debe referenciarlos o cifrarlos en su lugar. 🎉

Preguntas frecuentes

¿La lección «Por qué los Secrets no deben estar en values.yaml» es gratis?

Sí — el texto completo de «Por qué los Secrets no deben estar en values.yaml» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Por qué los Secrets no deben estar en values.yaml»?

Los riesgos de guardar secretos en texto plano en charts y Git. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Por qué los Secrets no deben estar en values.yaml»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué los Secrets no deben estar en values.yaml
  2. Cifrado de valores con helm-secrets y SOPS
  3. Obtención desde operadores de secretos externos
  4. Uso de plantillas para recursos Secret de Kubernetes
← Volver a DevOps Bootcamp