Android 在将文件上载/下载到AWS S3之前,通过web服务器验证
我想创建一个android应用程序,并使用AWS s3作为存储服务,允许用户上传和下载文件。我学习了一些关于S3REST服务的知识,在为Bucket等配置IAM角色之后,它可以帮助我实现同样的功能 现在的问题是,我希望只有我的应用程序的注册用户/在我的web服务器上配置了访问控制(用户名/密码)才允许上载/下载文件,而不允许只有应用程序访问权限的任何人 也可以查看下面的链接,了解使用REST的AWS S3上传文件 简单地说,除了上面链接中描述的内容外,我只需要以下问题的答案: 1) 如何只允许注册用户Android 在将文件上载/下载到AWS S3之前,通过web服务器验证,android,amazon-s3,restful-authentication,Android,Amazon S3,Restful Authentication,我想创建一个android应用程序,并使用AWS s3作为存储服务,允许用户上传和下载文件。我学习了一些关于S3REST服务的知识,在为Bucket等配置IAM角色之后,它可以帮助我实现同样的功能 现在的问题是,我希望只有我的应用程序的注册用户/在我的web服务器上配置了访问控制(用户名/密码)才允许上载/下载文件,而不允许只有应用程序访问权限的任何人 也可以查看下面的链接,了解使用REST的AWS S3上传文件 简单地说,除了上面链接中描述的内容外,我只需要以下问题的答案: 1) 如何只允许
2) 在生产应用程序中硬编码AWS S3 secretKey等是否是一种良好做法。
3) 在我的应用程序中硬编码这些值是否会导致即使是我的应用程序的未注册用户也可以将文件上载/下载到aws s3?
所有的建议都是受欢迎的,如果它们解决了部分难题,因为我完全不知道答案 这将非常有帮助。。。, 提前感谢,
- 注册和登录服务
- 用于登录用户的内置可自定义web UI。 使用Facebook、Google进行社交登录,使用亚马逊登录,以及使用用户的SAML身份提供商进行登录 游泳池
- 用户目录管理和用户配置文件。 安全功能,如多因素身份验证(MFA)、检查受损凭据、帐户接管 保护、电话和电子邮件验证
- Amazon Cognito用户池中的用户
- 通过外部身份提供程序(如)进行身份验证的用户 Facebook、谷歌或基于SAML的身份提供商
- 通过您自己的现有身份验证过程进行身份验证的用户
这就是它在我的应用程序中的工作原理
我想从您的用例中,EC2参数存储(而不是数据库)应该足以安全地保持分泌。
尽管我考虑了您的答案,我只想知道您对以下方法的看法:将Bucket密钥存储在数据库中,如果我理解您的问题,请您的后端服务在验证用户身份后将其发送回您。您可以使用aws sdk,这样您就可以立即访问s3存储桶,并且不需要在代码中传递密钥。虽然如果您不想使用sdk(我推荐),并且您也不太关心项目的安全性,但是您可以很好地使用您的代码!