从移动应用程序存储和访问私有S3对象的安全方法是什么?

时间:2013-11-28 10:44:42

标签: security amazon-web-services amazon-s3 authorization

我想创建一个移动应用程序,用户可以在其中上传文件并与同一用户组中的其他用户共享/查看文件。上传的文件应存储在亚马逊的S3中。 由于我是AWS的新手,我想知道处理存储和安全性的最佳方法是什么。对不起这个相当普通的问题。

移动应用程序和S3之间将在EC2上运行一个Web服务,它应该处理用户组管理,登录等。

关于存储,您是否建议为每个用户组创建一个存储桶(期望一个非常高的数据组)或者您是否将所有用户组的所有对象放在一个存储桶中?

根据上述情况,您将如何处理授权,同一组中的每个用户都应该能够上传和检索其用户组的文件?我应该如何启用每个用户的移动应用程序来下载他或她有权查看的文件,这需要什么?

Web服务应该处理所有这些,处理授权,创建存储桶和用户组,但安全/授权架构应该如何?

感谢任何提示。 AWS文档非常庞大,我不知道从哪里开始,但如果您能指出我的话,我很乐意阅读材料。

1 个答案:

答案 0 :(得分:2)

我认为最好的方法是将S3视为一个简单的系统。

让您的所有身份验证/访问等都保留在EC2上运行的业务逻辑中。

在数据库(RDS)中存储与用户有关的S3对象的对象名称(a.k.a文件名)

现在,一旦您有向用户显示文件的请求,您可以执行以下操作之一:

  1. 从S3检索文件并将其发送给用户。
  2. OR

    1. 创建临时访问签名的URL并将其推送给用户。
    2. BR, SANKET