首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS AWSS3 SDK上传拒绝AWSS3BucketCannedACLPublicReadWrite

IOS AWSS3 SDK上传拒绝AWSS3BucketCannedACLPublicReadWrite
EN

Stack Overflow用户
提问于 2017-06-11 20:31:31
回答 1查看 230关注 0票数 1

试图通过公共读取权限将图像上传到亚马逊。

上传被拒绝:

使用ACL 'PublicReadWrite'

代码语言:javascript
复制
_uploadRequest.ACL = AWSS3BucketCannedACLPublicReadWrite

上传成功:

使用ACL 'Private'

代码语言:javascript
复制
_uploadRequest.ACL = AWSS3BucketCannedACLPrivate

有解决办法吗?方向?

我的代码:

1.设置CERDITIALS

代码语言:javascript
复制
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc]
initWithRegionType:_regionType
identityPoolId:_pool_id];

2.配置

代码语言:javascript
复制
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc]initWithRegion:_regionType credentialsProvider:credentialsProvider];    
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;

3.创建上载请求

代码语言:javascript
复制
_uploadRequest = [AWSS3TransferManagerUploadRequest new];
_uploadRequest.ACL = AWSS3BucketCannedACLPublicReadWrite;

4.启动传输管理器

代码语言:javascript
复制
AWSS3TransferManager * transferManager = [AWSS3TransferManager defaultS3TransferManager];
[[transferManager upload:_uploadRequest] continueWithExecutor:[AWSExecutor mainThreadExecutor] withBlock:^id(AWSTask * task) {


    return nil;
}];
  • 读/写桶权限(适用于所有用户)

水桶政策:

代码语言:javascript
复制
{
    "Version": "2012-10-17",
    "Id": "Policy14...5",
    "Statement": [
        {
            "Sid": "Stmt14.....5",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::myBucket/UsersUploads"
        }
    ]
}
EN

回答 1

Stack Overflow用户

发布于 2017-06-11 23:13:29

在“资源”行的末尾添加*(在桶策略中)

代码语言:javascript
复制
arn:aws:s3:::{bucketName}/{Folder}/*
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44488486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档