在rails应用程序中放置安全密码/密钥的位置?

时间:2011-06-05 19:24:01

标签: ruby-on-rails security

我有一些Web服务要求传入安全的令牌/密钥/密码。我应该在哪里为rails应用程序定义这些安全值?我想在版本控制中使用开发键,但不希望生产密钥在版本控制中。我该如何设置?我是铁杆新手。

3 个答案:

答案 0 :(得分:4)

你能正确看待问题。

passwordskeys放在版本控制中排除的某个yml文件中。

然后在您的生产服务器上,每次部署时都要创建相同的文件并将应用程序符号链接到它。

EDIT。

Capistrano几乎可以满足这些需求:

答案 1 :(得分:4)

apneadiving是正确的,符号化文件是个好主意。另一种方法是将密钥放在shell变量中,只能由运行应用程序的用户访问。然后,在您的rails应用程序中,您将拥有

login = ENV['SERVICE_LOGIN']
password = ENV['SERVICE_PASSWORD']

答案 2 :(得分:0)

从Rails 4.1.0开始,请查看secrets.yml