什么是从Android应用程序访问私有S3存储桶的推荐方法

时间:2017-09-14 09:43:33

标签: android amazon-web-services amazon-s3 amazon-ec2 aws-sdk

我们有S3存储桶是私有的。手动创建s3存储桶,我们的.net服务器上传文件(文件也是私有的)我们想在Android应用程序中安全地访问这些私有文件。我们在应用程序中没有任何登录/ sigup。

我正在使用以下方法

1. Created identity pool and enabled access to unauthenticated identities as there is no any login in our app
2. Configured IAM role. for unAuth role, added inline policy to have full aceess to s3 bucket 

我正在使用以下aws样本来测试方法

https://github.com/awslabs/aws-sdk-android-samples/tree/master/S3TransferUtilitySample

我的问题是

  1. 这是一种正确的方法,因为文件具有受版权保护的信息,并且不应该在不付费的情况下破解存储桶并接收所有文件。
  2. 上面的示例GitHub示例不起作用并且在拒绝访问时给出错误,但如果我将存储桶公开,那么我只能访问公共文件,而不能访问私有文件。那么,这种方法不适用于私人桶吗?
  3. 提前致谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下,使用unauth身份可能不是最佳方式。因为任何人都可以获得不道德的身份。理想情况下,您应该拥有自己的授权程序来执行此操作。它可以通过API Gateway和Lambda等多种方式完成,它可以在应用程序中为您提供预先签名的URL,用于获取S3文件。

谢谢, 罗汉