Format Atlas

Guías

Dónde guardar la configuración y los secretos

Separa la configuración común de las credenciales y elige dónde guardarlas en desarrollo local, CI y producción según quién necesite acceder a ellas.

¿Qué formato deberías elegir?

Elige según la función de cada archivo en tu flujo de trabajo.

  • Valores predeterminados compartidos → Guarda ejemplos sin valores secretos en el repositorio
  • Configuración local de cada persona → Usa .env si la herramienta lo admite y exclúyelo de Git
  • Credenciales de CI → Usa el almacén de secretos del proveedor y limita el acceso
  • Producción y contenedores → Usa la función de secretos de la plataforma y concede solo los permisos necesarios
  • Posible filtración → Revoca o renueva la credencial; borrar el archivo no basta

Distingue la configuración de los secretos

Trata de forma distinta los valores no sensibles, como las URL de servicios y las opciones de funciones, y las credenciales, como contraseñas, claves de API y claves privadas. No incluyas credenciales reales en el código ni confirmes archivos que las contengan en un repositorio compartido. Comprueba primero qué mecanismos de configuración admite la aplicación.

Excluye de Git los archivos .env locales

Si las herramientas lo permiten, guarda los valores locales de cada persona en un archivo .env y comparte un .env.example que contenga solo nombres de variables y valores de ejemplo. Añade el .env real a .gitignore y comprueba que Git no lo esté siguiendo ya. La exclusión de Git no es un almacén seguro ni borra valores del historial existente.

Limita los permisos de los secretos de CI

En sistemas de CI como GitHub Actions, registra las credenciales mediante la función de secretos del proveedor, no dentro de los archivos del flujo de trabajo. Restringe el acceso a los repositorios, entornos y tareas que las necesiten, concede a los tokens solo los permisos imprescindibles y evita imprimir valores. El enmascaramiento de registros no garantiza que se oculten todos los valores transformados o resultados de comandos.

Entrega los secretos desde el entorno de producción

En producción, prioriza el almacén de secretos del proveedor de alojamiento o de la nube y limita qué despliegues y servicios pueden leer cada valor. Docker Compose puede montar secretos como archivos para los servicios autorizados expresamente; las funciones y limitaciones dependen de la plataforma, así que consulta la documentación del entorno real. Si es posible, considera credenciales de corta duración, como OIDC, en lugar de claves duraderas.

Revoca o renueva las credenciales expuestas

Si un secreto pudo aparecer en un commit, un registro de CI o un chat, no basta con borrar la copia visible. Revoca o renueva primero la clave o el token afectado y revisa los registros de acceso y su posible uso. Después, aborda el historial del repositorio y los registros según corresponda, y refuerza los permisos para evitar que vuelva a ocurrir.

Formatos a considerar

.env

Adecuado para: Cargar valores locales en herramientas compatibles con archivos .env

Menos adecuado para: Compartir o guardar secretos sin protección

.gitignore

Adecuado para: Evitar que se añadan por error archivos .env locales sin seguimiento

Menos adecuado para: Revocar secretos o borrar del historial valores que Git ya sigue

Antes de exportar

  • .env y .gitignore no protegen por sí solos los secretos; revisa el seguimiento de Git, los registros de CI, las copias de seguridad y el almacén del entorno de ejecución.
  • El enmascaramiento puede no ocultar valores transformados ni todos los resultados de comandos.
  • Si sospechas que una credencial se ha filtrado, revócala o renuévala; no te limites a borrar el archivo.

Guías

Referencias y especificaciones