假设我正在构建一个文件上传服务,并且只希望 User1 根据请求查看 User1 文件,让 User2 查看 User2 文件等。我可以正常上传文件,但我只想允许登录用户访问他/她的文件。我是在我的网站上创建自定义 IAM 用户的同时在 AWS 上创建一个自定义 IAM 用户,还是使用预先签名的 url?不太确定这是如何工作的。
2 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
我不会让用户直接访问 AWS S3 API,因此我不会为您的每个用户创建 IAM 用户帐户。我建议将每个用户的文件保存在用户 ID 的前缀下,只是为了便于清理旧用户、确定每个用户使用了多少空间等。
为了向用户提供对其文件的访问权限,我绝对建议在用户需要上传或下载文件时在您的应用程序中生成预签名 URL。
RISEBY
TA贡献1856条经验 获得超5个赞
通常您在应用程序中管理权限——因此您拥有自己的数据库,其中包含有关哪个 S3 文件属于哪个用户、元数据等的信息。
您唯一需要的 IAM 用户就是您的应用程序。您不会将您的 AWS/IAM 访问密钥提供给任何人。
当用户想要下载文件时,您可以为他们提供预先签名的 S3 URL。或者 S3 文件可以是公开读取的,如果您的用例没问题,您只需给它们 URL。
添加回答
举报
0/150
提交
取消