如何在android中使用AWS S3凭据上传内容

时间:2015-06-05 02:49:06

标签: android amazon-web-services amazon-s3

我正在使用AWS S3在我的Android应用程序中上传和存储内容。我在java文件中使用以下代码:

AmazonS3Client s3Client = new AmazonS3Client(
                    new BasicAWSCredentials("XYZ",
                            "ABC+wktN")); 

但这似乎很容易检索(即使apk已签名!)。我尝试使用progaurd但是在一些移动设备上崩溃了应用程序(特别是这个AWS部分)。

是否有任何方法可以隐藏代码中的凭据而无法检索它?或者有没有人使用过任何其他方法?一种选择是上传到中间服务器,服务器将其上传到AWS S3,但这是一个额外的跃点。另一个是让应用程序通过URL调用从服务器获取凭据,而不是在移动设备上获取凭据,但如果黑客可以直接获取凭据,他也可以获取URL并获取密钥。

1 个答案:

答案 0 :(得分:1)

Amazon Cognito可以帮助您解决问题。您可以使用它为应用程序提供临时的,有限权限的凭据。使用Cognito

您可以在博客http://mobile.awsblog.com/blog/tag/amazon-cognito和开发者指南http://docs.aws.amazon.com/cognito/devguide/identity/中找到其他信息。