【问题标题】:what's the preferred way to store sensitive settings in web apps?在网络应用程序中存储敏感设置的首选方式是什么?
【发布时间】:2018-03-20 20:12:33
【问题描述】:

我知道存储数据库密码等数据的好方法是通过环境变量,但是为每个创建的服务器实例手动设置环境变量非常耗时。

我打算将我的项目部署到云端(使用 aws ebs 或 heroku)。 我应该在哪里存储我的数据库密码?

我认为 .ebextensions 文件不是一个好的选择,因为它是在 vcs 中跟踪的

【问题讨论】:

标签: security deployment cloud production-environment


【解决方案1】:

永远不要在源代码管理中存储秘密。一种常见的做法是将它们放在安全文件中或 https://www.vaultproject.io/ 之类的文件中,然后在启动 VM(或容器或其他任何东西)时将它们(通过脚本或其他一些部署/配置工具以编程方式)注入环境.

【讨论】:

    【解决方案2】:

    我的建议是创建一个属性文件,该文件可以存储在应用程序的资源文件夹中,并且代码可以访问资源。不需要环境变量。一个属性文件可以包含所有 db 的用户 ID 和密码。根据属性文件中的 url 映射部署作业。例如,查看一个使用属性文件的 spring hibernate 示例项目。或者查看 ant deploy 脚本。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 2010-11-01
      • 2010-12-05
      • 1970-01-01
      • 2011-11-26
      相关资源
      最近更新 更多