【问题标题】:About permission in S3 file transfer关于 S3 文件传输中的权限
【发布时间】:2015-06-25 02:46:57
【问题描述】:

我正在使用 S3TransferManager-Sample 进行测试。我创建了 Cognito 并设置了 IAM,最后更改了 constants.swift 文件。上传没有问题,但下载失败。错误信息是:

下载失败:[错误域=com.amazonaws.AWSS3ErrorDomain 代码=1 “操作无法完成。(com.amazonaws.AWSS3ErrorDomain 错误 1.)" UserInfo=0x7f8cd658a5a0 {HostId=d4yLouhlYmGn4s1Zp54+EOsZQEy2bVEGNs5XIa8pMxerJggANV/9Zb82c1QtF/5Hsn5KqYXGqdw=, Message=Access Denied, Code=AccessDenied, RequestId=A1966393EAC3F15F}]

这是我的角色设置:

我在 S3 存储桶中的设置:

当然,当我添加“所有人”以允许“列表”权限时,我可以下载。但是,Cognito 的目的是什么?谢谢

【问题讨论】:

  • 实际上我得到了权限拒绝,即使我添加了“每个人”的列表,查看桶的权限。我必须为单个文件添加权限,以便用户能够查看该文件。我的设置可能有什么问题?
  • 换句话说,我想如何设置存储桶内的所有文件可访问?而不是单独设置它们?

标签: ios amazon-web-services amazon-s3 amazon-cognito


【解决方案1】:

您的问题中需要注意的几点:

  1. 您已将 unauth 角色设置为仅允许只读访问。该示例不使用身份验证,因此请确保更新 unauth 角色以获得完全访问权限。
  2. 凭据提供程序会将其获取的凭据缓存长达一小时。您可能希望直到之前的凭据过期,或者显式调用凭据提供程序上的刷新方法来强制应用新策略。

【讨论】:

  • 我试试看。谢谢。
  • 谢谢。这解决了我的问题。我认为只有“身份验证角色”很重要,但实际上在我的 iOS 应用程序将图像上传到 s3 的情况下,重要的是“未授权”角色。
猜你喜欢
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多