我想如何管理 Amazon S3 上的不同用户文件?

假设我正在构建一个文件上传服务,并且只希望 User1 根据请求查看 User1 文件,让 User2 查看 User2 文件等。

我可以正常上传文件,但我只想允许登录用户访问他/她的文件。我是在我的网站上创建自定义 IAM 用户的同时在 AWS 上创建一个自定义 IAM 用户,还是使用预先签名的 url?

不太确定这是如何工作的。


ABOUTYOU
浏览 134回答 2
2回答

哈士奇WWW

我不会让用户直接访问 AWS S3 API,因此我不会为您的每个用户创建 IAM 用户帐户。我建议将每个用户的文件保存在用户 ID 的前缀下,只是为了便于清理旧用户、确定每个用户使用了多少空间等。为了向用户提供对其文件的访问权限,我绝对建议在用户需要上传或下载文件时在您的应用程序中生成预签名 URL。

RISEBY

通常您在应用程序中管理权限——因此您拥有自己的数据库,其中包含有关哪个 S3 文件属于哪个用户、元数据等的信息。您唯一需要的 IAM 用户就是您的应用程序。您不会将您的 AWS/IAM 访问密钥提供给任何人。当用户想要下载文件时,您可以为他们提供预先签名的 S3 URL。或者 S3 文件可以是公开读取的,如果您的用例没问题,您只需给它们 URL。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java