如何读取上传到aws s3的yml文件

时间:2014-11-04 18:19:15

标签: ruby-on-rails amazon-s3 aws-sdk

我有一个包含某些凭据和密钥的yml文件。因此,为了获得额外的安全性,我想知道将它上传到s3并使用私人网址或通过aws对象进行访问是否合适。

我尝试在我的development.rb中提供url来加载无效的文件。

接下来,我尝试创建一个aws对象并访问s3存储桶中的文件。

s3  = AWS::S3.new(access_ key_id:  'xxx',  secret_access_key: 'yyy')

s3.buckets['my-bucket'].objects['file_name.yml']

我尝试使用不带.yml的url文件名来访问该文件并读取它。但它一直让我空虚{}。这与url / file权限有什么关系吗?我怎样才能做到这一点?

这是我第一次使用aws并且不确定我的方法是否正确,或者这是保持敏感数据安全的最佳方法。 Plz指导我如何实现这一目标。

由于

1 个答案:

答案 0 :(得分:1)

我会使用以下gem,比yaml实现要好得多。

https://github.com/bkeepers/dotenv

安装它并添加到Gemfile。

然后vim .env或使用您选择的编辑器创建此新文件。

添加密钥:

S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE

并保存。

现在,无论您需要S3密钥,都可以从应用程序中调用它。

ENV['S3_BUCKET']
ENV['SECRET_KEY']

一旦推送到Heorku,只更新了你的环境变量,无需将你的秘密告诉Github。