¿Para qué necesitamos variables de entorno?

2/19
Recursos

Aportes 3

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

🧩 Variables de entorno

Ideas/conceptos claves

Una variable de entorno es una variable dinámica que puede afectar al comportamiento de los procesos en ejecución en un ordenador. Son parte del entorno en el que se ejecuta un proceso

Apuntes

  • Generalmente, son secretos que solo una máquina en particular debe saber. Ej.: la contraseña de la base de datos
    • Permite almacenar una “contraseña” donde únicamente nos interesa
  • No deben versionarse
    • Peor aún si el repositorio es público, ya que existe montones de bots automatizados para encontrar estas llaves
    💡 En caso de subir por accidente una variable de entorno, no sirve de nada crear otro commit, porque quedará en la historia del repositorio, la mejor solución es crear otra llave de entorno

¿Qué buscamos?

  1. Los secretos no sean compartidos, pero…
  2. Como desarrollador quiero conocer que secretos necesito para que la aplicación funcione.
    • Debe ser una lista clara la cual especifique que llaves necesito para que la aplicación no tenga ningún problema
  3. La aplicación debe ser capaz de cargar y leer nuestros secretos

Implementación

  • Existen diferentes formas de implementar las variables de entorno, una de ellas es la siguiente estructura, donde existe:

Documento de ejemplo

  • Versionado
  • Contiene una lista de llaves necesarias
  • Sin los valores de las llaves ⇒ En el peor de los casos puede existir algún valor, pero es porque nada malo pueda pasar
ACCESS_TOKEN=
URL_DB=

Una copia del documento

  • Ignorado por el versionador (Git).
  • Contiene las llaves necesarias con valores necesarios.
ACCESS_TOKEN=<valor>
URL_DB=<valor>
📌 **RESUMEN:** Las variables de entorno, son la mejor forma de poder guardar contraseñas, llaves, etc. (secretos) ya que estas no son compartidas, establece una lista clara de que secretos necesita la aplicación para que no se rompa y es capaz de cargar y leer dichos valores de la lista de secretos

En este video pueden aprender lo básico de variables de entorno en nodejs.
Aporta certidumbre y una base sólida para todas las clases de este módulo de este curso:

https://www.youtube.com/watch?v=tZ3bLXoD6i0

¿Para qué necesitamos variables de entorno?

Las variables de entorno son una tecnología que han estado por muchisimo tiempo, pero que al día de hoy siguen siendo la forma más profesional y sobre todo escalable de mantener nuestras contraseñas de forma segura en la aplicación.

2 cosas importantes cuando hablamos de variables de entorno →

  • Generalmente son secretos que solo una máquina en particular debe saber. Ej. la contraseña de la base de datos del servidor de producción.
  • No deben versionarse

¿Qué buscamos?

  1. Los secretos no sean compartidos, pero… → no puedo tener acceso a lo q hay en producción ni en cualquier otro servidor
  2. Como desarrollador quiero conocer qué secretos necesito para que la aplicación funcione → no puede ser una caja negra, por ejemplo, si descargo una app tengo q saber q contraseñas tengo q darle a mi app para que pueda funcionar correctamente, un acceso a la base de datos, un token para autenticación, etc.
  3. La aplicación debe ser capaz de cargar y leer nuestros secretos → las variables de entorno y estos secretos tienen q funcionar entre donde almacenemos las variables de entorno y nuestra app, así como sabemos que variables de entorno y q password necesitamos, nuestra app debe estar en la capacidad de leer esa lista y tomar estas variables para poder operar como es esperado