Python 安全地存储SQLAlchemy的连接参数

Python 安全地存储SQLAlchemy的连接参数,python,security,sqlalchemy,Python,Security,Sqlalchemy,我正在用Python2.7+SQLAlchemy编写一个应用程序,它需要访问数百个PostgreSQL数据库,每个数据库都在自己的服务器上。要使用SQLAlchemy进行连接,将通过以下格式向引擎传递URL来创建引擎: postgresql://userid:password@hostname:5432/database 因为有这么多的数据库,将它们存储在平面文件中是不太实际的;存储在一个独立的PostgreSQL数据库中会更容易跟踪它们 问题是如何安全地存储参数(尤其是密码)。存储散列值会更

我正在用Python2.7+SQLAlchemy编写一个应用程序,它需要访问数百个PostgreSQL数据库,每个数据库都在自己的服务器上。要使用SQLAlchemy进行连接,将通过以下格式向引擎传递URL来创建引擎:

postgresql://userid:password@hostname:5432/database
因为有这么多的数据库,将它们存储在平面文件中是不太实际的;存储在一个独立的PostgreSQL数据库中会更容易跟踪它们

问题是如何安全地存储参数(尤其是密码)。存储散列值会更安全,但不能反转以传递给SQLAlchemy为目标数据库创建引擎


存储所有这些数据库连接参数集的一种好的、安全的方法是什么?

针对哪些攻击“安全”?为什么您认为使用网络可访问的数据库比只有该主机上的用户才能访问的文件好?这本身并不好。但是,如果有数百甚至数千个连接,一个普通文件可能会变得笨拙(“不实用”)。sqlite数据库能满足您的需要吗?(提示:是的)为什么SQLite数据库是比PostgreSQL更好的解决方案?因为它作为一个文件工作,所以您不需要考虑加固网络连接数据库,以免被窥探;运行唯一需要访问此连接参数列表的进程的用户的适当posix文件权限。