gpt4 book ai didi

ruby-on-rails - Ruby on Rails、Paperclip、Heroku、GitHub 和 AWS - 保护 key

转载 作者:行者123 更新时间:2023-12-04 00:51:08 28 4
gpt4 key购买 nike

我正在使用由 Heroku 托管的 RoR,我想使用回形针将文件存储在 s3 上。我的源代码托管在 github 上并且是世界可读的。对世界其他地方保密 key 的最佳做法是什么?
Paperclip 建议访问 key 存储在配置文件(或代码)中,例如我有:

文件: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。这意味着我也将 key 推送到那里。
我目前正在使用一个世界通用的 github 帐户,所以如果我支付了 github,我可以解决一半的问题,但我仍然对代码中的配置文件中的 key 不满意。我不知道是否有更好的做法。

保持 key secret 并仍然使用上述库和服务列表的最佳实践是什么?

顺便说一句,我上周才开始使用 ror 和 heroku,所以我可能被认为是新手,请体谅 ;) 谢谢!

最佳答案

您需要使用 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'] %>

并在您的 heroku 应用程序中添加此 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'

关于ruby-on-rails - Ruby on Rails、Paperclip、Heroku、GitHub 和 AWS - 保护 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956583/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com