在Web应用程序中存储敏感设置的首选方法是什么?

时间:2018-03-20 20:12:33

标签: security deployment cloud production-environment

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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