关于S3文件传输的许可

Bag*_*yer 5 amazon-s3 amazon-web-services ios amazon-cognito

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

下载失败:[错误域= com.amazonaws.AWSS3ErrorDomain代码= 1"操作无法完成.(com.amazonaws.AWSS3ErrorDomain错误1.)"UserInfo = 0x7f8cd658a5a0 {HostId = d4yLouhlYmGn4s1Zp54 + EOsZQEy2bVEGNs5XIa8pMxerJggANV/9Zb82c1QtF/5Hsn5KqYXGqdw =,消息=拒绝访问,代码= AccessDenied,RequestId = A1966393EAC3F15F}]

以下是我对该角色的设置:

在此输入图像描述

在此输入图像描述

我在S3存储桶中的设置:

在此输入图像描述

当然,当我添加"Everyone"以允许"List"权限时,我可以下载.但是Cognito的目的是什么呢?谢谢

Bob*_*ney 4

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

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