关于 S3 文件传输中的权限

About permission in S3 file transfer

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

download failed: [Error Domain=com.amazonaws.AWSS3ErrorDomain Code=1 "The operation couldn’t be completed. (com.amazonaws.AWSS3ErrorDomain error 1.)" UserInfo=0x7f8cd658a5a0 {HostId=d4yLouhlYmGn4s1Zp54+EOsZQEy2bVEGNs5XIa8pMxerJggANV/9Zb82c1QtF/5Hsn5KqYXGqdw=, Message=Access Denied, Code=AccessDenied, RequestId=A1966393EAC3F15F}]

这是我的角色设置:

我在 S3 存储桶中的设置:

当然我加了"Everyone"允许"List"权限的时候就可以下载了。那么 Cognito 的目的是什么?谢谢

在你的问题中有几点需要注意:

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