首页 > 解决方案 > 仅从 Android 应用程序访问 AWS S3 文件

问题描述

我目前正在开发一个可以读取上传到 AWS S3 存储的 Android 应用程序。

所有用户只能通过应用程序访问 S3 文件,无需任何用户登录信息。

我搜索了 Amazon Cognito、IAM 和 STS 文档,但由于选项太多,我不知道我的项目应该遵循哪一个。

简而言之:

  1. 所有应用程序用户只能从应用程序访问 S3 存储桶文件。

  2. 应用程序用户应该能够访问 S3 存储桶文件而无需登录。(临时访问)

编辑

我有一个使用硬编码密钥和秘密密钥的有效解决方案,只允许应用程序用户访问 S3 存储桶。问题是 Google 向我发送了一封关于泄露 AWS 凭证的电子邮件:

泄露的 AWS 凭证 您的应用程序公开了 Amazon Web Services 凭证。

我按照本指南进行设置:https ://grokonez.com/android/uploaddownload-files-images-amazon-s3-android

谢谢!

标签: androidamazon-web-servicesamazon-s3amazon-cognitoamazon-iam

解决方案


您应该考虑在启用了 OAI 的 S3 之上使用 CloudFront。

关于相同的详细文件可以在下面的链接中找到:

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html


推荐阅读