【问题标题】:Is there a way to get the canned ACL of an existing S3 object?有没有办法获取现有 S3 对象的预设 ACL?
【发布时间】:2022-01-18 12:11:09
【问题描述】:

我正在尝试将现有对象从一个键复制到同一个存储桶中的另一个键。

我想获得罐装 ACL,例如“private”|“public-read”|“public-read-write”|“authenticated-read”|“aws-exec-read”|“bucket-owner-read”|“bucket-owner-full-control”所以然后我可以将其应用于新对象。

使用 Node.js SDK 执行此操作的最佳方法是什么?

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3


    【解决方案1】:

    您可以调用getObjectAcl() 来获取源对象的ACL,然后使用putObjectAcl() 指定该信息,甚至可以将其指定为copyObject() 调用的一部分。

    您不会获得“标准 ACL”,但您将获得对作为原始标准 ACL 的结果创建的对象的权限。

    【讨论】:

    • 感谢约翰·罗滕斯坦。你说可以直接在copyObject使用ACL,但我只能看到一种发送罐装ACL的方法?
    • copyObject() 命令上可能有一些(相当混乱的)GrantRead 类型权限可用,但我看不到它们如何直接映射到@987654329 返回的信息@,所以在复制对象后调用putObjectAcl 可能更容易。仅供参考,ACL 的使用是 phased-out 具有桶忽略 ACL 的新功能。通常最好使用存储桶策略,但它们不会深入到对象级别。
    猜你喜欢
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2014-04-19
    • 1970-01-01
    相关资源
    最近更新 更多