尝试从AWS S3存储桶下载图片时访问被拒绝

奥马尔·达达波(Omar Dadabhoy)

我尝试使用AWSS3transferutility从aws s3存储桶下载照片并将它们显示在ios应用程序的imageView中,但是,当它给我访问拒绝错误时。我敢肯定,这桶酒是向公众开放的,并且我设置了Cognito,所以我不知道为什么会发生这种情况,有人知道吗?

func getPicture() {
        let tranferUtility = AWSS3TransferUtility.default()
        let expression = AWSS3TransferUtilityDownloadExpression()

        tranferUtility.downloadData(fromBucket: bucket, key: self.currentQuestionData!._userId!, expression: expression){ (task, url, data, error) in
            if error != nil{
                print(error!)
            }
            DispatchQueue.main.async(execute: {
                self.imageView.image = UIImage(data: data!)
            })

        }
    }


//bucket policy
{
    "Id": "Policy1562706569188",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1562706565258",
            "Action": "s3:*",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::schooled-deployments-mobilehub-969166170",
            "Principal": "*"
        }
    ]
}

控制台中显示的错误消息是

“错误域= com.amazonaws.AWSS3TransferUtilityErrorDomain代码= 2”(空)“ UserInfo = {服务器= AmazonS3,错误= {代码= AccessDenied; HostId =” GHIlY6U4nxxqKQ / Bn8lf3FWjFZZmVhxn3DDjc8YSZQ2g9AC; 9A4S1Q1A2Q9A1C1A0CQ1A0CQ9A0C1C5C0YSZ1C2C0YSZ1C2C5E5C9C5E0C0C9A0C9C9A0C5C5C5C5C5C4Y9C2A0C9A0S7C2C2Y5A0C5E0D0E5E5C0C0E5D0C4C5D0D0D0C4A0C0C0S7A0S7A0C0C0S7A0S2C5C5E0E0C0A5C0C4A5C5E5C2C5E5C5E5;第1个错误; ;“

约翰·罗滕斯坦

一些操作在存储桶上执行,而其他操作在对象级别执行

替换此行:

"Resource": "arn:aws:s3:::schooled-deployments-mobilehub-969166170",

有了这个:

"Resource": [
    "arn:aws:s3:::schooled-deployments-mobilehub-969166170",
    "arn:aws:s3:::schooled-deployments-mobilehub-969166170/*"
]

这将允许访问对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Boot Amazon AWS S3存储桶文件下载-访问被拒绝

拒绝对S3存储桶的AWS CloudFront访问

AWS S3 存储桶策略访问被拒绝

为什么我的lambda函数尝试访问S3存储桶时会被拒绝访问?

AWS S3:关闭“存储桶阻止公共访问”时,拒绝访问对象

尝试上传到 s3 存储桶时被拒绝访问

AWS S3存储桶策略编辑器访问被拒绝

基于S3存储桶的AWS Cloudfront分发,带有跨帐户对象的访问被拒绝

AWS S3存储桶-子页面上的访问被拒绝

从AWS S3存储桶加载图像时访问拒绝错误

Rails AssetSync和AWS s3存储桶访问被拒绝

AWS S3:尝试访问的存储桶必须使用指定的终结点进行寻址

AWS S3存储桶策略明确拒绝

以root用户(=存储桶拥有者)在AWS S3存储桶上放置存储桶策略时拒绝访问

对 AWS S3 存储桶的访问受限

如何对AWS S3存储桶访问进行限速

AWS S3 存储桶访问令牌

配置AWS Lambda以访问S3存储桶

访问客户端的 AWS S3 存储桶

无法从AWS S3下载:访问被拒绝

您尝试访问的存储桶必须使用指定的终结点进行寻址将文件上传到AWS S3

将 SVG 上传到 AWS S3 存储桶并尝试通过 URL 访问它后文档为空

AWS S3 存储桶访问错误和存储桶显示旧文件

AWS:无法通过s3存储桶策略授予s3访问权限

aws s3 sdk您尝试创建的存储桶超出允许的范围

通过 AWS SDK 从 AWS S3 存储桶下载文件会损坏文件

当我尝试使用签名帖子上传到 s3 时访问被拒绝,这可能是存储桶策略吗?

AWS S3 存储桶策略

AWS S3存储桶加密