如何调试 AWS S3 "Access Denied"
How to debug AWS S3 "Access Denied"
我有一个 rails 应用程序在 Heroku 上托管回形针(虽然我现在只在本地测试)
我创建了一个存储桶和一个直接附加了 AmazonS3FullAccess
策略的用户。
我在开发中有以下.rb
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
但是,当我尝试将个人资料图片附加到我的模型时,我只得到:
Aws::S3::Errors::AccessDenied (Access Denied):
我该如何调试这个问题?我已经删除并重新创建了我的 IAM 用户和我的存储桶,但我不知道哪里出了问题。
关于如何找出我遗漏了什么的任何见解?
我不确定如何调试这个问题,但是,我确实找到了解决方案。
首先,我切换到 gem 'aws-sdk-s3'
而不是要求整个 aws-sdk
我意识到我需要为我的存储桶创建一个策略,特别是允许我的用户完全访问。似乎仅向我的用户添加 AmazonS3FullAccess 是不够的。
我跟着 this guide 一步一步来,它让我起来 运行。
我有一个 rails 应用程序在 Heroku 上托管回形针(虽然我现在只在本地测试)
我创建了一个存储桶和一个直接附加了 AmazonS3FullAccess
策略的用户。
我在开发中有以下.rb
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
但是,当我尝试将个人资料图片附加到我的模型时,我只得到:
Aws::S3::Errors::AccessDenied (Access Denied):
我该如何调试这个问题?我已经删除并重新创建了我的 IAM 用户和我的存储桶,但我不知道哪里出了问题。
关于如何找出我遗漏了什么的任何见解?
我不确定如何调试这个问题,但是,我确实找到了解决方案。
首先,我切换到 gem 'aws-sdk-s3'
而不是要求整个 aws-sdk
我意识到我需要为我的存储桶创建一个策略,特别是允许我的用户完全访问。似乎仅向我的用户添加 AmazonS3FullAccess 是不够的。
我跟着 this guide 一步一步来,它让我起来 运行。