首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不失去对象的公共权限的情况下迁移存储桶?

如何在不失去对象的公共权限的情况下迁移存储桶?
EN

Stack Overflow用户
提问于 2019-12-06 19:07:13
回答 1查看 116关注 0票数 0

我需要在两个AWS帐户之间迁移几个桶。这可以通过AWS进行一些配置,然后从一个S3复制到另一个配置。我跟着从另一个AWS帐户复制S3对象,一切都很顺利。但是,当我检查对象的权限时,没有启用公共访问。

一些前因后果:

  • 我的源桶是私有的,但可以有公共内容。
  • 我的目标桶具有与我的源桶相同的配置
  • 我的源桶的某些文件启用了公共访问。
  • 迁移我的内容后,目标桶中启用access public的文件将失去此权限。

在这一刻,我需要将内容迁移到我的目标桶,而不会失去对对象的公共访问。我在AWS文档和其他博客中找到了这个,但是我什么也没找到。

希望你能帮我,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-12-07 08:40:59

您可以使用同步中的--acl param轻松地向复制的对象添加公共访问权限。从您在问题中粘贴的url中可以看到,您使用了泛型命令:

代码语言:javascript
复制
aws s3 sync s3://awsexamplesourcebucket s3://awsexampledestinationbucket

在上面的命令中添加--acl param:

代码语言:javascript
复制
aws s3 sync s3://awsexamplesourcebucket s3://awsexampledestinationbucket --acl 'public-read'

- ACL (string)在执行命令时为对象设置ACL。如果使用此参数,则必须在IAM策略的操作列表中包含"s3:PutObjectAcl“权限。只接受私有、公共读取、公共读-写、认证-读取、aws读、桶-所有者-读、桶-所有者-完全控制和日志传递-写入的值。

如果您的一些对象需要是公共的,而另一些则不需要,那么您需要结合使用上面的命令--包括和--排除,以便授予对某些对象的公共访问权,并将私有权限授予其他对象。

参考文献

  1. https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59218944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档