java - 复制后 Amazon S3 Java SDK copyObject 权限被拒绝

标签 java amazon-web-services amazon-s3

我们使用 Amazon S3 和 JDK copyObject 方法将对象从一个存储桶复制到另一个存储桶。复印是自动进行的。 User1手动上传文件到源存储桶,systemUser传输到目标存储桶。 User1 是源存储桶和目标存储桶的所有者。

s3.copyObject(sourceBucket, objectKey, destinationBucket, objectKey);

复制有效,但复制后 User1 无法访问目标存储桶中复制的对象。拒绝访问。复制到目标存储桶后,复制对象的所有者是 systemUser。还尝试修改目标中复制对象的 acl。

s3.setObjectAcl(destinationBucket, objectKey, acl);

这也会导致访问被拒绝。

我们如何复制对象,以便 User1(复制到源存储桶并且是源存储桶和目标存储桶的所有者)可以访问目标存储桶中的文件?

最佳答案

由于保留政策,我们无法在复制后编辑文件(和权限)。我们切换到 CopyObjectRequest,它有一个选项可以在复制之前指定 ACL,并将其作为复制操作的参数。

关于java - 复制后 Amazon S3 Java SDK copyObject 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761749/

相关文章:

java - 多个包的 JAXB 命名空间前缀配置?

amazon-web-services - Amazon Hive 中的多分隔符 SerDe 设置

c# - 避免在带有 Serilog 的 AWS Lambda 上使用 netcore2.0 记录两次

amazon-web-services - 如何使用 Cloudformation 从 EC2 实例获取辅助 IPv4 地址

amazon-web-services - 我无法将日志从 Cloudwatch 上传到我的 s3 存储桶

azure - Azure/AWS/IBM 虚拟机中的防火墙?

python - 亚马逊 AWS S3 基于浏览器的上传使用 POST -

java - 需要重新设置oracle中sequence的值

java - 如何向从命令行触发的 junit 测试添加参数?

java - 如何确定图数据结构中某个节点是否有多个输入?