Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 列出存储桶时,Ruby Amazon S3访问被拒绝_Ruby On Rails_Ruby_Amazon S3_Amazon Web Services_Buckets - Fatal编程技术网

Ruby on rails 列出存储桶时,Ruby Amazon S3访问被拒绝

Ruby on rails 列出存储桶时,Ruby Amazon S3访问被拒绝,ruby-on-rails,ruby,amazon-s3,amazon-web-services,buckets,Ruby On Rails,Ruby,Amazon S3,Amazon Web Services,Buckets,我是鲁比·纽布 我被授予访问亚马逊云数据的权限。我开始觉得钥匙关了,但我可能错了。谁来帮忙 我把aws文件夹作为插件 >> Version => "0.6.3" >> AWS::S3::Base.establish_connection!(:access_key_id =>'*******', :secret_access_key => '*****') => #<AWS::S3::Connection:0x007fd0539bb4c0 @

我是鲁比·纽布

我被授予访问亚马逊云数据的权限。我开始觉得钥匙关了,但我可能错了。谁来帮忙

我把aws文件夹作为插件

>> 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'
>版本
=> "0.6.3"
>>AWS::S3::Base.build\u连接!(:access_key_id=>'*****',:secret_access_key=>'*****'))
=>#“s3.amazonaws.com”、:port=>80、:access_-key_-id=>“****”、:secret_-access_-key=>“****”}、@access_-key_-id=“****”、@secret_-access_-key=“****”、@http=>
>>AWS::S3::Service.bucket
=>AWS::S3::拒绝访问:拒绝访问
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:在“请求”中
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'bucket'
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“bucket中的block”
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:在“可过期的备忘录”中
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:在“bucket”中

结果表明我的访问密钥无效。我让管理员授予我进一步的权限,它终于起作用了


谢谢

您可以通过以下方式解决此问题

  • 首先转到amazon中的s3控制台
  • 然后点击bucket
  • 然后单击右侧的“属性”选项卡
  • 然后单击权限选项
  • 单击添加更多权限
  • 选中“全部”复选框并保存它

  • 我必须转到IAM->Users->“附加用户策略”,并将我的用户管理设置为IAM、您的用户所在的组,并添加S3FullAccess或S3ReadOnlyAccess。正确答案肯定是: IAM->Users->“附加用户策略”并使您的用户成为管理员

    请注意,至少我和另一个人可以看到秘密访问密钥。。。(在侧边栏中查看了2次)您在S3存储桶中是否有适当的权限允许使用这些密钥进行访问?嘿,John。谢谢当您提到权限时,您是指访问密钥吗?因为就我而言,它们是正确的,但它们来自客户端。已解决:访问密钥无效。谢谢all@Viccari你明白了。谢谢如果您对我的流程还有任何疑问,请告诉我。这违背了安全策略的全部目的。附加“AmazonS3FullAccess”策略应该足够了。提供AdministratorAccess是一个非常糟糕的主意,因为如果任何人要危害该用户,他们可以非常轻松地在所有区域启动20台服务器。这很糟糕,因为这会花你很多钱。相反,请使用S3FullAccess、S3ReadOnly或理想情况下使用更严格的访问策略,如下图所示