首页 > 解决方案 > 将同一存储桶的某些对象设为私有,而将某些对象设为公开?

问题描述

我只是 AWS 的初学者。我正在学习 S3 并通过编辑存储桶的公共访问设置来公开存储桶。

所以,我想问一下,我可以将同一个桶的一些对象设为私有,而将一些对象设为公开吗?

标签: amazon-web-servicesamazon-s3bucket

解决方案


默认情况下,Amazon S3 存储桶中的所有对象都是私有的。

有几种方法可以授予对对象的访问权限:

  • 使用存储桶策略将存储桶或存储桶的一部分设为公开。这对于任何人都可以访问内容的静态网站很有用。
  • 对 IAM 用户或 IAM 组使用IAM 策略以向特定用户或用户组授予对存储桶(或存储桶的一部分)的访问权限。这是特定于工作的访问的理想选择。
  • 使用对象上的访问控制列表 (ACL)将特定对象公开。这需要在每个特定对象上设置权限,因此比公开整个存储桶更安全。
  • 当您的应用程序以编程方式确定某人是否应该获得对对象的访问权时,请使用预签名 URL 。例如,如果您的应用程序是一个照片共享网站,该应用程序可以确定哪些用户有权查看哪些照片。然后,它可以生成一个限时 URL,授予对对象的临时访问权限。URL 过期的那些,访问不再可用。

所以,回答你的问题:

  • 无需“将同一桶的某些对象设为私有”,因为它们默认为私有
  • 选择上述方法之一授予公共访问权限,或访问特定用户

推荐阅读