rails のwebアプリから 画像をs3に入れようと思っています(本番環境)。しかしながらheloku logsで表示されたエラー文で
<Code>AccessDenied</Code><Message>Access Denied</Message>
と出てしまいます。
IAM でユーザーを作成し、ポリシーで AmazonS3FullAccess を与えています。
###carrier_wave.rb
if Rails.env.production? CarrierWave.configure do |config| config.fog_provider = 'fog/aws' ### config.fog_credentials = { # Amazon S3用の設定 :provider => 'AWS', :region => ENV['S3_REGION'], :aws_access_key_id => ENV['S3_ACCESS_KEY'], :aws_secret_access_key => ENV['S3_SECRET_KEY'] } config.fog_directory = ENV['S3_BUCKET'] config.fog_attributes = { cache_control: "public, max-age=#{365.days.to_i}" } ### end # 日本語ファイル名の設定 CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:].\-+]/ ### end
###image_uploader.rb
. . if Rails.env.production? storage :fog else storage :file end . .
この場合どのようにしたらアクセス権限が拒否されなくなるのでしょうか。
access_key, secret_key は確認済みです。
バケットの方にもポリシーを書かなくてはいけないのでしょうか?。。。
どうしても解決方法が見つからなくて困っています。どうかよろしくお願いします。
###追記
バケットが公開されてないからと思ったのですが、ここのアクセスが変わってくれません。変更するにはバケットポリシーの変更が必要なのですがどうすれば変化するのでしょうか。指定したIAMユーザーのみ許可したいのですが...
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/02 05:17
2018/12/02 06:06
2018/12/02 06:26