【发布时间】:2020-01-01 20:44:13
【问题描述】:
我已按照教程进行操作:
https://aws-amplify.github.io/docs/android/start?ref=amplify-android-btn
将 AWS S3 与我的 android 应用程序集成。
我可以下载文件,一切正常。
我注意到,当我创建环境时,它会创建一个新存储桶,我不想创建新存储桶,我想使用现有存储桶。
我已尝试更改 awsconfiguration.json 中的存储桶。但它不起作用。
"S3TransferUtility": {
"Default": {
"Bucket": "somebucket",
"Region": "us-east-1"
}
}
AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: <ID>)
我不想创建新的存储桶,我希望能够访问在其他应用程序之间共享对象的 crated 存储桶。
【问题讨论】:
-
您做了什么来修复“现有存储桶”上的
AccessDenied您如何使用正确的凭据进行测试,您可以访问该存储桶。 -
我目前使用
User GUEST从创建的bucket下载文件。 -
请查看:aws.amazon.com/blogs/security/… 并且您链接的 AWS Amplify 演示使用 AWS Cognito 进行用户管理。您需要让 Cognito 访问“现有存储桶”,但这涉及有关 IAM 策略的教程。见:aws-amplify.github.io/docs/android/storage#storage-access
-
嘿@MorrisonChang,我检查了您提供的链接,我在 Cognito 中创建了一个用户。在尝试下载文件之前,我先登录。用户登录后,我尝试下载文件,但它仍然返回 403。我的问题是,如何授予用户下载权限,或者我必须使用什么用户登录?
标签: android amazon-web-services amazon-s3 aws-amplify