【发布时间】:2017-03-17 21:35:13
【问题描述】:
我目前正在为我的 gunicorn/django 应用程序编写结构部署脚本,该应用程序由 supervisord 管理。当 gunicorn 运行时,我有某些密码需要在应用程序的环境中。
似乎标准的做事方式是将环境变量添加到 /etc/supervisord/app.conf 的 [program:app] 中,但这意味着除非我保留应用程序,否则我将在我的 repo 中有明文密码。在 repo 之外的 conf (看起来不干净)。
我无法对密码进行哈希处理,因为应用程序使用它们来访问第三方服务。此外,即使我将 app.conf 保留在 repo 之外,我仍然在 app.conf 中有明文密码,这似乎并不理想。
有没有办法让 supervisord 做它的事情(自行重启 gunicorn)而不存储明文密码?
编辑:我不可避免地需要密码或supervisord解锁密码的方法,这两者都可以被攻击者使用,所以我想我会使用AWS密钥管理服务之类的东西,所以至少有一个额外的步骤接近他们。
【问题讨论】:
标签: django security gunicorn fabric supervisord