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

时间:2018-09-01 20:27:43

标签: java amazon-web-services amazon-s3

可以说我正在构建文件上传服务,并且只希望User1根据请求查看User1文件,并且希望User2查看User2文件,等等。

我可以很好地上传文件,但是我只允许登录的用户访问他/她的文件。是否要在AWS上同时创建一个自定义IAM用户或在网站上创建一个自定义IAM用户?

不太清楚这是如何工作的。

2 个答案:

答案 0 :(得分:3)

我不会为用户提供直接访问AWS S3 API的权限,因此不会为每个用户创建一个IAM用户帐户。我建议将每个用户的文件存储在其用户ID的前缀下,以方便清理旧用户,确定每个用户正在使用的空间等。

为向用户提供文件访问权限,我绝对建议您在用户需要上传或下载文件时在您的应用程序中生成预签名的URL。

答案 1 :(得分:1)

通常,您在应用程序中管理权限–因此,您拥有自己的数据库,其中包含有关哪个S3文件属于哪个用户,元数据等的信息。

那么,您唯一需要的IAM用户就是您的应用程序。您不会将您的AWS / IAM访问密钥提供给任何人。

当用户要下载文件时,可以给他们预先签名的S3 URL。或者S3文件可以公开读取,只要您的用例可以,只需给它们提供URL。