【问题标题】:Need to set multiple canned ACLs on S3 item需要在 S3 项上设置多个预设 ACL
【发布时间】:2013-07-20 02:04:35
【问题描述】:

我们有一项服务,我们的客户允许我们访问他们的 S3 存储桶,然后我们将项目推送到这些 S3 存储桶中。我们需要能够做两件事:

  1. 将项目的权限设置为公开可读
  2. 将存储桶的所有者设置为对该项目具有完全权限

这是我已经知道的:

我不能有 2 个带有 PUT 的固定 ACL

问题:

我“可以”设置 ACL 标头,但 AFAIK 在不知道所有者信息(如 cannonical_id 或电子邮件)的情况下无法通过标头设置“所有者拥有完整权限”,对吗?是否有类似“public-read”(例如“http://acs.amazonaws.com/groups/global/AllUsers”)的“owner-has-full-permissions”的“uri”版本?

我不想进行 2 个单独的调用(一个用于获取存储桶所有者信息),另一个用于放置具有两种权限的项目。

【问题讨论】:

    标签: amazon-s3 acl


    【解决方案1】:

    我也遇到了同样的问题,下面的代码可以获得你需要的权限。

    AccessControlList accessControlList = new AccessControlList();
    accessControlList.grantPermission(GroupGrantee.AllUsers, Permission.Read);
    accessControlList.grantPermission(new CanonicalGrantee(s3Client.getS3AccountOwner()
        .getId()), Permission.FullControl);
    putReq.setAccessControlList(accessControlList);
    

    【讨论】:

      猜你喜欢
      • 2010-11-10
      • 2013-10-21
      • 2015-04-19
      • 1970-01-01
      • 2022-11-09
      • 1970-01-01
      • 2022-11-05
      • 2016-05-24
      • 1970-01-01
      相关资源
      最近更新 更多