ruby-on-rails – Ruby on Rails,Paperclip,Heroku,GitHub和AWS – 安全密钥

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Ruby on Rails,Paperclip,Heroku,GitHub和AWS – 安全密钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用由Heroku主办的RoR,我想使用剪贴簿在s3上存储文件.我的源代码托管在 github上,是世界可读的.将钥匙与世界其他地方保密的最佳做法是什么?
PaperClip建议访问密钥存储在一个配置文件(或代码)中,所以例如我有:

file:config / s3.yml

access_key_id: my_access_key_id
secret_access_key: my_very_secret_key
bucket: bucket_name

Heroku通过向当地git提交代码,然后将其推送到Heroku.
由于我也使用github,我也推送相同的代码到github以及.这意味着我也在那里推密钥.
我正在使用一个世界可读的github帐户,所以如果我支付github我可以使一半的问题消失,但我仍然不满意的秘密钥匙在配置文件中的代码.我不知道这是否有更好的做法.

保持密钥秘密的最佳做法是什么,并仍然使用上述图书馆和服务列表?

BTW,我上周刚开始用ror和heroku,所以我可能被认为是新手,请体贴一下;)谢谢!

解决方法

您需要使用您的英雄应用程序的ENV变量.

如果你做一个heroku配置,你可以访问所有的ENV变量.您只需添加一些并直接在您的应用程序中使用它.

有了这个技巧,您不需要更新代码来更改您的配置和配置,如果没有在您的代码库中定义.

在你的s3.yml你只需要做:

access_key_id: <%= ENV['S3_ACCESS_KEY'] %>
secret_access_key: <%= ENV['S3_SECRET_KEY'] %>
bucket: <%= ENV['S3_BUCKET_NAME'] %>

并在您的英雄应用程序中添加此ENV VARIABLE

heroku config:add S3_ACCESS_KEY='your_key'
heroku config:add S3_SECRET_KEY='your_secret'
heroku config:add S3_BUCKET_NAME='your_nucket_name'
原文链接:https://www.f2er.com/ruby/271705.html

猜你在找的Ruby相关文章