Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 混淆s3存储桶策略上载问题_Amazon Web Services_Amazon S3_Amazon Iam - Fatal编程技术网

Amazon web services 混淆s3存储桶策略上载问题

Amazon web services 混淆s3存储桶策略上载问题,amazon-web-services,amazon-s3,amazon-iam,Amazon Web Services,Amazon S3,Amazon Iam,我希望我的应用程序能够将对象放入s3存储桶,我希望公众能够读取对象。出于某种原因,除非我关闭了阻止所有公共访问,否则上传无法工作。日志显示此错误:Aws::S3::Errors::AccessDenied 我的阻止公共访问设置如下所示: 我的桶策略是这样的: { "Version": "2012-10-17", "Statement": [ { "Sid":

我希望我的应用程序能够将对象放入s3存储桶,我希望公众能够读取对象。出于某种原因,除非我关闭了阻止所有公共访问,否则上传无法工作。日志显示此错误:
Aws::S3::Errors::AccessDenied

我的阻止公共访问设置如下所示:

我的桶策略是这样的:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GetPhoto",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::site-public/photo/*"
        }
    ]

公共访问设置表示它们不会阻止bucket策略,但功能仍被阻止。为什么?

看起来您需要能够有选择地使用公共读取ACL使对象公开可读,因此您需要禁用与ACL相关的阻止公共访问设置。

正在阻止哪些功能(您的客户端实际在做什么?)错误代码/消息是什么?如果您试图上载具有公共ACL的对象,则将被阻止,除非您关闭所有选项@jarmod客户端正在上载图像,错误为
Aws::S3::Errors::AccessDenied
@我一直在这个问题上感到困惑。我的上传选项中有
acl:“公共阅读”
。我不应该封锁一些通道吗?我不希望每个人都能上传,但我希望每个人都能获得文件。如何在不公开整个存储桶的情况下上载这些文件?如果您希望能够使用公共读取ACL,则需要禁用与ACL相关的BPA设置。您如何尝试检索这些文件?它们是否确实位于
s3://site public/photo/
下?