Necesito en algún lugar almacenar mi contraseña de base de datos en mi entorno de producción para acceder a la base de datos. En el momento en que el sistema prod se implementa en la nube, también lo está el DB. La contraseña, el nombre de usuario y otra información confidencial se almacenan como variables de entorno en texto sin formato en la máquina de producción.
Mirando un poco a mi alrededor, vi que la mayoría de las soluciones se centran en limitar el acceso a este tipo de datos confidenciales (almacenándolos en un archivo con acceso concedido solo al administrador del sistema) y al acceso a la propia base de datos (limitando el acceso solo a direcciones IP fijas).
Desafortunadamente, ninguno de ellos es posible en este caso por varias razones: el servicio que aloja el sistema NO nos permite tener una IP (por lo que no puedo configurar la base de datos para que sea accesible solo por una IP) y las credenciales de la DB deben permanecer en una variable de entorno por razones de despliegue.
Por otro lado, el DB no contiene datos confidenciales y, más en general, en este momento nos preocupa que no haya personas internas que pasen por el DB de producción y causen daños, en lugar de ataques de hackers externos. / p>
Entonces, mi pregunta es: ¿cuál sería una "solución bastante segura" en este caso?
¿Sería una solución segura cifrar la contraseña de la base de datos y luego almacenar la clave de descifrado en un archivo de configuración cargado en GitHub cifrado con este procedimiento (aunque parece un poco desactualizado)?
Pensé que este era un tema bastante sencillo y popular, pero aparentemente estaba equivocado, ya que parece que no hay muchas respuestas de tipo "TODO-list".