禁止在Amazon S3上访问其他用户的文件

时间:2018-04-20 16:08:34

标签: amazon-web-services amazon-s3

我正在开发一个React Native应用程序,用户可以将文件上传到Amazon S3并稍后检索它们。我现在最关心的是如何以只有文件的OWNER可以访问它的方式实现这种机制。

我的第一个想法是实现一个中间服务器来控制对Amazon S3服务器的所有访问,但这需要大量的时间/工作才能使服务器安全。

我的第二个想法是为每个新用户创建一个IAM令牌,并创建具有正确权限的文件夹,只有该文件夹的所有者才能访问它。但是,研究亚马逊IAM服务的局限性,我发现每个AWS账户的最大IAM账户数是5000。

对于这种情况,有没有比第一种方法更好的方法?如果没有,必须做些什么来使服务器安全并保持Amazon S3上的文件安全?

2 个答案:

答案 0 :(得分:1)

你可以在这篇文章中发表https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html

有效地你可以用文件名(s3键)作为用户id和写s3策略的前缀,让用户只能访问(读或写)具有用户ID的文件(某处有s3策略,我无法找到它现在,只需搜索它)

  

亚马逊IAM服务的限制

您可以使用AWS Cognito对IAM限制以外的用户进行身份验证,并为用户存储设置公共策略

答案 1 :(得分:0)

来自IAM FAQs

  

问:我可以创建多少个IAM角色?您仅限1,000个IAM角色   在您的AWS账户下。

     

如果您需要更多角色,请在您的用例中提交IAM limit increase request表单,我们会考虑您的   请求。

也不确定您的用例是什么,但S3也支持临时signed URLs