Repaso
English
SeguridadBaseSEC-30

¿Dónde deben guardarse la contraseña de la base de datos o las API keys de una aplicación?

Opciones

  1. Escritas en el código fuente de la aplicación
  2. En variables de entorno o en un gestor de secretos (Opción correcta)
  3. En un comentario dentro del README del proyecto
  4. En el bundle JavaScript del frontend del sitio

Respuesta

En variables de entorno o en un gestor de secretos, nunca subidas a git

Por qué

Todo lo que está en el código acaba en el historial de git, en la laptop de cada desarrollador y quizá en público. Todo lo que está en el código del frontend lo ve cada visitante.

Carga los secretos en ejecución desde variables de entorno (os.environ["DB_PASSWORD"]) o un gestor de secretos (AWS Secrets Manager, Vault).

Añade los archivos .env a .gitignore.

Recuerda

Los secretos viven fuera del código: variables de entorno o gestor de secretos.

Términos clave

Practica esta pregunta en Repaso