我正在使用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:尝试上载用户头像时访问被拒绝。对我可能会想念的东西有什么想法吗?我花了几个小时尝试许多不同的事情,但我感到很困惑!