我有一个AWS移动集线器项目,并试图上传一个文件到保护文件夹的自动生成桶。
S3桶
我正在使用AWSS3TransferUtility上传文件,目前,我的用户已经通过认证。我查看了文档和网站在创建时留在文件夹中。它们设置了权限,以不同的方式在不同的文件夹中保护数据。我能够上传文件到上传文件夹没有问题。然后,我试图上传到私有和受保护的文件夹,并从API调用中收到了一个授权403。我通过IAM检查了桶上的权限。
IAM实例
用户文件-移动集线器-1213213213,类似于private/${cognito-identity.amazonaws.com:sub}/*的ObjectPath \字符串
因此,我已经推导出上传的密钥必须包含在密钥中的认知-身份。如何获得当前用户的识别信息,使其匹配并允许我将我的文件上传到S3,同时确保他们的数据保护完整性?
发布于 2018-06-02 22:37:48
我使用AWSIdentifyManager来提取用户id。
// start of upload code
let transferUtility = AWSS3TransferUtility.default()
let user = AWSIdentityManager.default().identityId
let newKey = "protected/"+user!+"/"+fileURL.lastPathComponent
transferUtility.uploadData(
data,
bucket: "appbucket-name",
key: newKey,
contentType: "text/plain",
...
//rest of code from the docshttps://stackoverflow.com/questions/50661653
复制相似问题