我可以限制用户对 AWS S3 存储桶的访问吗?

我可以限制用户对 AWS S3 存储桶的访问吗?

我正在开发一个可能要使用 AWS 托管的网站。这引出了一个关于存储在 S3 存储桶中的内容的访问权限的问题:

  • 我为该网站设置了一个 EC2 服务器,并设置了一个 S3 存储桶来保存该网站的一些内容。
  • Alice 和 Bob 在我的网站上创建帐户。
  • Alice 和 Bob 都上传了最终进入存储桶的文件。
  • Alice 应该能够看到她的文件但看不到 Bob 的文件,反之亦然。
  • 该网站的匿名用户应该无法看到这两个文件。

使用 S3 可以实现这一点吗?我的印象是 AWS IAM 就是用来做这件事的;对吗?我正在慢慢摆脱 AWS 新手的身份,但还没有完全达到那个程度——谢谢!

答案1

是的,这是可能的。以下是设计模式您将要实现的。简短版本:您将为每个 Alice 和 Bob 创建一个 IAM 用户帐户。他们获得自己的 AWS 访问密钥,这些密钥将用于访问 S3 存储桶。然后,您将对相关存储桶应用 S3 策略。

大多数人感到困惑的是,“IAM 策略”和“S3 存储桶策略”是两个不同的东西,都需要进行设置。

答案2

访问权限应由应用程序决定。S3 的设计初衷是供应用程序访问,而不是通过权限等方式直接存储文件。

答案3

创建单独的用户和单独的 IAM 策略,并为每个用户附加 1 个策略。

我已经在这个问题中提供了这个政策: AWS/S3 - 创建一个用户(通过控制台)来授予 1 个存储桶的读/写存储桶权限?

相关内容