繁体   English   中英

多个设备上的AWS S3

[英]AWS S3 on multiple devices

好的,所以我是AWS的新手。 我想制作一个将存储少量用户数据的应用程序。 S3似乎是存储数据的方式。 有没有办法用S3自动创建多个存储空间? 可以说我制作了一个android应用,人们将其安装在手机上。 他们每个人都会自动获得一个S3存储空间吗? 我怎么做? 谢谢

您可以使用文件夹为您的项目创建一个S3存储桶 (取决于体系结构,可以供客户使用)。 这样,您将拥有包含所有用户数据的s3服务实例。

Amazon S3只是一个对象存储系统。 您如何使用它完全取决于您。

如果你想存储在每个用户的基础信息,那么你就需要考虑另外的安全的数据存储方式

如果意图是用户可以访问一些他们专有的信息(而不是对任何人公开可见),那么您首先需要控制对数据的访问。

  • 对于公共信息 ,无需身份验证
  • 对于私人信息 ,需要确定允许他们访问什么,然后授予访问权限

应该给予永久AWS凭证(访问密钥,秘密密钥)的每一个用户。 这些凭据仅适用于您的IT运营人员(您!)和您的应用程序。

剩下两个选择:

  • 您的中央服务器可以使用AWS Secure Token Service生成临时访问凭证 ,同时指定其拥有的访问权限(例如,访问特定的S3存储桶和路径,或访问其他AWS服务,例如DynamoDB)。 要么
  • 为存储在Amazon S3中的特定对象生成预签名URL

根据您的用例,使用预签名的URL似乎更合适。 基本上,流程是:

  • 您的应用程序会将请求发送到中央服务器,以请求访问对象。
  • 服务器(或更确切地说,您编写的在中央服务器上运行的应用程序)将验证其身份并确认应允许他们访问存储在Amazon S3中的对象。
  • 然后,中央服务器生成一个预签名的URL ,该URL授予对Amazon S3中的对象的时间限制访问,并将该URL发送回客户端应用程序。
  • 然后,客户端应用程序使用URL从Amazon S3检索数据。

只有在中央服务器上运行的应用程序才需要AWS凭证。 然后,它使用这些凭据生成客户端应用程序可以使用的预签名URL。

顺便说一下,中央服务器上的应用程序实际上不需要在服务器上运行。 您可以使用AWS API Gateway将请求发送到AWS Lambda函数,该函数可以执行逻辑并发回响应。 这将是一个无服务器的解决方案,但仍具有集中式逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM