Ruby Amazon S3 Access Denied when listing buckets

2019-03-14 19:42发布

问题:

Ruby newb here.

I was given access creds to data on the amazon cloud. Im beginning to think the access keys are off but I could be wrong. Someone help!

I have the aws folder as a plugin

>> Version
=> "0.6.3"

>> AWS::S3::Base.establish_connection!(:access_key_id =>'*******', :secret_access_key => '*****')
=> #<AWS::S3::Connection:0x007fd0539bb4c0 @options={:server=>"s3.amazonaws.com", :port=>80, :access_key_id=>"****", :secret_access_key=>"****"}, @access_key_id="****", @secret_access_key="****", @http=#<Net::HTTP s3.amazonaws.com:80 open=false>>

>> AWS::S3::Service.buckets   
=> AWS::S3::AccessDenied: Access Denied

from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/error.rb:38:in `raise'
from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/base.rb:72:in `request'
from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/base.rb:88:in `get'
from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/service.rb:21:in `buckets'
from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:183:in `block in buckets'
from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:152:in `expirable_memoize'
from /Users/PBR/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:182:in `buckets'

回答1:

You can fix this in following way.

  1. First go to s3 console in amazon.
  2. Then click on bucket.
  3. Then click on properties tab in right side.
  4. Then click on permission options
  5. Click on add more permission
  6. Check the all checkbox and save it.


回答2:

I had to go IAM -> Users -> "Attach User Policy" and make my user admin



回答3:

IAM, Groups where your user have been part of, and add S3FullAccess or S3 ReadOnlyAccess



回答4:

Turns out my Access Keys were invalid. I had the admin grant me further permissions and it finally worked.

Thanks!!



回答5:

The correct answer to this is definitely: IAM -> Users -> "Attach User Policy" and make your user admin