迷い人

日々勉強。勉強の先に何か見つかるといいなぁ

railsチュートリアル13章 AWS S3の設定について 続編

前回の記事でパブリックアクセス設定をオフにすることで、画像のアップロードができるようになったという話をしました。

 

oyaoya1123.hatenablog.com

 

その後

  • パブリックアクセスってなんだ?
  • セキュリティ設定をオフにしているけど問題ないんだっけ?

みたいなことが疑問になって色々調べていたらパブリックアクセス設定をそのままに画像をアップロードする方法を見つけました。

 

それが以下の記事です。

 

qiita.com


簡単にいうとcarrierwave.rbを以下のようにすることでうまく動作します。

 

carrierwave.rb

if Rails.env.production? CarrierWave.configure do |config| config.fog_public = false # これを追加 config.fog_credentials = { # Amazon S3用の設定 :provider => 'AWS', :region => ENV['S3_REGION'], # 例: 'ap-northeast-1' :aws_access_key_id => ENV['S3_ACCESS_KEY'], :aws_secret_access_key => ENV['S3_SECRET_KEY'] } config.fog_directory = ENV['S3_BUCKET'] end end

 

fog_public = falseとすることで、パブリックアクセスでないアクセスにすることでうまくいくという事です。

 

セキュリティ的にこちらの方が良さそうです。

 

参考サイト

S3で誤ったデータの公開を防ぐパブリックアクセス設定機能が追加されました | Developers.IO

 

S3でパブリックアクセス可能なファイルを投稿する - Qiita

 

あとがき

未だにパブリックアクセス、ACLあたりの概念がよくわかっていません。要勉強です。