Cuando construyes un manifiesto Secret de Kubernetes, el bloque data: requiere valores codificados en Base64. Muchos desarrolladores lo resuelven pegando contraseñas y claves de API en bruto en un codificador Base64 online — lo que envía esas credenciales a un servidor de terceros. Hay una forma más segura.

Por qué Kubernetes usa Base64

Un manifiesto Secret de Kubernetes tiene esta pinta:

apiVersion: v1 kind: Secret metadata: name: db-credentials type: Opaque data: password: c3VwZXJzZWNyZXQ= api-key: c2tfdGVzdF84YzhiNDU2MA==

Los valores bajo data: son cadenas codificadas en Base64. Los valores en bruto — supersecret, sk_test_8c8b4560 — no se guardan en el manifiesto directamente.

Importante: Base64 no es cifrado. Cualquiera con acceso al manifiesto puede decodificar los valores al instante. Los secretos de Kubernetes aportan control de acceso a nivel de clúster — la codificación es un requisito de formato de la API de Kubernetes, no una capa de seguridad.

Codificar valores de secretos con TextForge

TextForge es una extensión de Chrome con más de 50 utilidades de texto. Codificar en Base64 se ejecuta completamente en local en la versión gratuita — ningún dato sale de tu navegador.

  1. 1
    Abre TextForge
    Haz clic en el icono de TextForge en la barra del navegador para abrir el panel de la extensión.
  2. 2
    Pega el valor del secreto en bruto
    Pega tu contraseña, clave de API, cadena de conexión o cualquier valor que necesites en forma codificada. Codifica un valor cada vez.
  3. 3
    Aplica Codificar Base64
    Selecciona Codificar Base64 en el menú de herramientas. La cadena codificada aparece de inmediato.
  4. 4
    Pégala en tu manifiesto YAML
    Copia la salida codificada y pégala como valor bajo la clave apropiada en el bloque data:.

Usar stringData en su lugar

Kubernetes también soporta un campo stringData: que acepta texto plano — la API se encarga de la codificación Base64 automáticamente:

stringData: password: supersecret

stringData va bien para los secretos que creas desde cero. Pero cuando estás leyendo un manifiesto existente o uno generado por una herramienta, los valores estarán en data: en formato Base64 — y ahí es cuando necesitas decodificarlos para inspeccionarlos. Para eso, pega el valor codificado en TextForge y aplica Decodificar Base64.

Preguntas frecuentes

¿La codificación Base64 es obligatoria para todos los secretos de Kubernetes?

Solo para el campo data:. Si usas stringData:, Kubernetes se encarga de la codificación automáticamente. El campo data: es lo que ves en la mayoría de los ejemplos y en los secretos exportados con kubectl get secret -o yaml.

¿Puedo codificar valores multilínea como certificados TLS?

Sí. Pega el certificado completo — incluyendo las líneas -----BEGIN CERTIFICATE----- y -----END CERTIFICATE----- — en TextForge y aplica Codificar Base64. La cadena resultante va en el campo data: de un Secret TLS.

¿El Base64 cifra los secretos de Kubernetes?

No. Base64 no es cifrado — cualquiera con el manifiesto puede decodificar los valores al instante con cualquier decodificador Base64. Los secretos de Kubernetes aportan control de acceso. Para cifrado en reposo, necesitas configurar el cifrado de etcd por separado a nivel de clúster.

TextForge es gratis. Codificar Base64 — y más de 50 utilidades de texto — están disponibles sin cuenta ni suscripción.

Instalar TextForge — gratis