代码之家  ›  专栏  ›  技术社区  ›  mishkin

使用敏感数据和pip提供/部署配置ini文件的最佳方法

  •  2
  • mishkin  · 技术社区  · 8 年前

    我想在python包中提供一个配置ini文件,该文件将保存敏感的数据库凭据。如何提供将安装在/etc/config文件夹下的默认配置文件?在使用pip安装的包部署此类配置文件方面,最佳做法是什么?我不想将此配置文件与其他包文件一起保留。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  3
  •   mishkin    8 年前

    我刚刚检查了如何使用流行的python项目。

    django创建一个配置文件,允许指向另一个包含数据库连接详细信息的配置文件,该配置文件存储在不同的位置: https://docs.djangoproject.com/en/2.0/ref/databases/#connecting-to-the-database

    flask和airflow在用户主文件夹下创建默认配置,但允许使用环境变量覆盖配置文件的位置。配置文件存储敏感数据,如数据库连接或密钥: http://flask.pocoo.org/docs/0.12/config/#configuring-from-files https://airflow.apache.org/configuration.html

    这两种方法都允许: 1) 分发默认配置文件,并通过软件包安装轻松部署 2) 允许在安全文件夹中存储敏感配置值

    airflow还允许使用密钥加密数据库连接字符串。

    另请参阅下面的这篇文章,以及关于如何部署/存储配置文件的一些想法: https://stackoverflow.com/a/22554594/473725