我目前正在开发一个可以读取并上传到AWS S3存储的Android应用程序。
所有用户只能通过应用程序访问 S3 文件,而无需任何用户登录信息。
我已经搜索了 Amazon Cognito、IAM 和 STS 文档,但由于有很多选项,我不知道我的项目应该遵循哪一个。
总之:
-
S3 存储桶文件只能由所有应用程序用户从应用程序访问。
-
应用程序用户应该能够访问 S3 存储桶文件,而无需唱歌。(临时访问)
编辑
我有一个带有硬编码密钥和私有密钥的工作解决方案,仅允许应用程序用户访问 S3 存储桶。问题是谷歌给我发了一封关于泄露AWS凭证的电子邮件:
泄露的 AWS 凭证 您的应用程序会公开亚马逊云科技凭证。
我按照本指南进行了设置:https://grokonez.com/android/uploaddownload-files-images-amazon-s3-android
谢谢!
您应该考虑在启用了 OAI 的 S3 之上使用 CloudFront。
有关相同的详细文档可以在以下链接中找到:
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html