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

Security 从移动应用程序存储和访问私有S3对象的安全方法是什么?,security,amazon-web-services,amazon-s3,authorization,Security,Amazon Web Services,Amazon S3,Authorization,我想创建一个移动应用程序,用户可以上传文件,并与同一用户组中的其他用户共享/查看文件。上传的文件应该存储在Amazon的S3中。 由于我是AWS的新手,我想知道处理存储和安全性的最佳方法是什么。对不起,这是一个很普通的问题 在移动应用程序和S3之间的EC2上将运行一个webservice,它应该处理用户组管理、登录等 关于存储,您会建议为每个用户组创建一个bucket(期望有大量ob组),还是将所有用户组的所有对象放在一个bucket中 根据上述情况,您将如何处理授权,即同一组中的每个用户都应该

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

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

关于存储,您会建议为每个用户组创建一个bucket(期望有大量ob组),还是将所有用户组的所有对象放在一个bucket中

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

webservice应该处理所有这些,处理授权,创建bucket和用户组,但是安全/授权架构应该是什么样子呢


谢谢你的提示。AWS文档非常丰富,我不知道从哪里开始,但如果您能给我指一下,我很乐意阅读这些材料。

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

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

将与用户相关的S3对象的对象名(也称为文件名)存储在数据库(RDS)中

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

  • 从S3检索文件并将其发送给用户
  • 创建一个临时访问签名URL并将其推送到用户
  • 比尔,
    Sanket

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

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

    将与用户相关的S3对象的对象名(也称为文件名)存储在数据库(RDS)中

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

  • 从S3检索文件并将其发送给用户
  • 创建一个临时访问签名URL并将其推送到用户
  • 比尔,
    Sanket

    这个问题以这样或那样的形式一再出现。Sanket有一个很好的答案:如果您需要任何特定于应用程序的行为,请将代码放在用户和S3之间(可能在EC2实例中),并将用户重定向到一个临时签名URL(如果他或她应该有访问权限)。这个问题以这样或那样的形式反复出现。Sanket有一个很好的答案:如果您需要任何特定于应用程序的行为,请将代码放在用户和S3之间(可能在EC2实例中),并将用户重定向到一个临时签名URL(如果他或她应该有访问权限)。谢谢您的想法。是的,实际上最好将此处理保留在应用程序逻辑中,而不是让基础结构来处理。是的。此外,对于S3对象,您可以基于一些静态参数(例如,另一个S3存储桶、另一个AWS帐户等)设置永久访问规则。另外,添加规则是一项乏味的任务。谢谢你的想法。是的,实际上最好将此处理保留在应用程序逻辑中,而不是让基础结构来处理。是的。此外,对于S3对象,您可以基于一些静态参数(例如,另一个S3存储桶、另一个AWS帐户等)设置永久访问规则。另外,添加规则是一项乏味的任务。