【问题标题】:Ruby aws-sdk - grant permission to all usersRuby aws-sdk - 向所有用户授予权限
【发布时间】:2012-10-19 11:57:48
【问题描述】:

我正在编写代码以使用 aws-sdk gem 向所有用户授予 READ 权限。在 gem 的文档中,我发现了以下内容:

bucket.objects.each do |object|
  puts object.key
  acl = object.acl
  acl.grant(:read).to("TODO: how can I specify 'ALL'???")
  object.acl = acl.to_xml
end

这一切都说得通,但是我不太确定如何告诉 ALL 用户授予读取权限?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 amazon-s3


    【解决方案1】:

    您的示例可以工作,但更适合复杂的 ACL(访问控制列表)。 Amazon S3 有许多可用于对象的标准 acl。以下 sn-p 将更新存储桶中所有对象的 ACL,以便任何人都可以读取它们。

    bucket.objects.each{|obj| obj.acl = :public_read }
    

    或者,您可以在上传(或复制)对象时为其设置 ACL。

    # upload a file and set the acl so the world can download it
    obj = bucket.objects['object-key'].write(file, :acl => :public_read)
    
    puts obj.public_url
    #=> 'https://..."
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      相关资源
      最近更新 更多