Rails で開発しているアプリを Heroku にデプロイしました。
画像投稿機能を設けるために、クラウドストレージに AWS S3 を利用しようと思います。
アプリでは画像アップローダーとして refile を使っています。
以下の記事を参考に実装していきます。
refile/refile: Ruby file uploads, take 3 - GitHub
※AWSの登録手順は本題から逸れるので割愛し、登録済み(アクセスキー等発行済み)とします。
まず、gem "refile-s3"
を Gemfile に追記し、bundle install
。
次に、config/initializers/refile.rb を作成し、以下を入力。
require "refile/s3" aws = { access_key_id: "アクセスキー", secret_access_key: "シークレットアクセスキー", region: "ap-northeast-1", bucket: "バケット名", } Refile.cache = Refile::S3.new(prefix: "cache", **aws) Refile.store = Refile::S3.new(prefix: "store", **aws)
そして、git add -A, git commit -m 'change', git push heroku master という流れになると思いますが、
ここで、セキュリティに関する疑問が生じました。
上述の config/initializers/refile.rb に自分のAWSのアクセスキー及びシークレットアクセスキーを書いているわけですが、これを git push heroku master してしまうと、以下の記事にあるような不正利用につながる危険があるのでしょうか?
そもそも「秘密キーを git push すると公開されて探されてしまうから危ない」的なことはよく聞きますが、どういうことかよくわかっていません。
heroku にデプロイした自分のアプリは、何か更新があるたびに git push heroku master をしていますが、これによって一回一回 GitHub に自分のアプリに関するデータが公開されているのでしょうか?
だとしたら非公開にする手段はあるのでしょうか?
GitHub に登録?した記憶がないのですが、git push heroku master してるってことは、GitHub に公開されているのでしょうか?
ご覧の通りド素人ですので基本的なことをご教授願います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/08 05:13
2019/06/08 05:23
2019/06/08 05:49
2019/06/08 06:05
2019/06/08 06:39