首页 > 解决方案 > Aws::S3::Errors::AccessDenied:访问被拒绝 - Carrierwave

问题描述

我正在使用carrierwave-aws gem 来处理用户头像。我创建了一个 s3 帐户和存储桶并创建了一个 IAM 用户。我授予 IAM 用户 AmazonS3FullAccess 策略。我还将相同的策略复制到 s3 存储桶(使其公开)。我的密钥存储在我的环境中,我已经三次检查它们是否正确。下面是我的配置:

CarrierWave.configure do |config|
 config.storage    = :aws
 config.aws_bucket = ENV["AWS_BUCKET"]
 config.aws_acl    = 'public-read'

 config.aws_credentials = {
  access_key_id:     ENV["AWS_ACCESS_KEY"],
  secret_access_key: ENV["AWS_SECRET_KEY"],
  region:            'us-east-1',
  stub_responses:    Rails.env.test? 
 }
end

这样,我收到以下错误:Aws::S3::Errors::AccessDenied: 尝试上传用户头像时拒绝访问。关于我可能会错过的任何想法?我花了几个小时尝试了许多不同的事情,但我很难过!

标签: amazon-s3ruby-on-rails-5carrierwave

解决方案


推荐阅读