我想创建一个Android应用程序并使用AWS s3作为存储服务,以允许用户上传和下载文件。我已经研究了一些关于S3 REST服务的东西,在配置IAM Role for Bucket等之后,它可以帮助我实现相同的目标。
现在的情况是,我想只允许我的应用程序的注册用户/在我的网络服务器上配置的访问控制(用户名/密码)上传/下载文件,并且不允许任何只有应用程序访问权限的人。
查看下面的链接,使用REST了解AWS S3上传文件
http://www.tothenew.com/blog/file-upload-on-amazon-s3-server-via-rest-api-call/
简单地说,除了上面链接中描述的内容之外,我只需要回答以下问题:
1)如何只允许注册用户? 2)在生产应用程序中对AWS S3 secretKey等进行硬编码是一种好习惯。 3)在我的应用程序中对这些值进行硬编码是否会导致我的应用程序的未注册用户能够将文件上载/下载到aws s3的情况?
欢迎所有建议,如果他们解决了部分难题,我完全不知道解决方案
这将非常有帮助......,在此先感谢,
Cognito的一些事情:
这在我的应用程序中如何工作
然而,这对对象的大小有限制
我尝试的选项是使用签名的URL,这是由注册用户访问请求后端应用程序吐出的。我的实现包括以下1.客户端使用带有lambda实现的api请求签名的URL 2. Lambda生成签名的URL并传递响应。 3.在创建签名的URL时,从参数存储(参见EC2参数存储)中使用key / id来保护角色并使用KEY。
我想从你的用例来看,EC2参数存储(而不是数据库)应该足以安全地保密。