Php 获取最近创建的存储桶的S3::putObject():[AccessDenied]错误(旧的工作正常)

Php 获取最近创建的存储桶的S3::putObject():[AccessDenied]错误(旧的工作正常),php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我有一个错误,我无法解决。我正在使用以下存储库创建s3存储桶并将文件上载到它们: 我在去年8月创建的bucket都可以正常工作,但是最近创建的bucket给出了一个拒绝访问错误,尽管它们拥有完全相同的权限 我正在通过编程创建一个s3 bucket,它具有“对象可以是公共的”访问权限: 这将创建没有问题的存储桶 当我尝试将文件上传到bucket时,如下所示: $this->s3->putObjectFile("filename", "some name", "s3 name", S3:

我有一个错误,我无法解决。我正在使用以下存储库创建s3存储桶并将文件上载到它们:

我在去年8月创建的bucket都可以正常工作,但是最近创建的bucket给出了一个拒绝访问错误,尽管它们拥有完全相同的权限

我正在通过编程创建一个s3 bucket,它具有“对象可以是公共的”访问权限:

这将创建没有问题的存储桶

当我尝试将文件上传到bucket时,如下所示:

$this->s3->putObjectFile("filename", "some name", "s3 name", S3::ACL_PUBLIC_READ);
返回此错误:

S3::putObject(): [AccessDenied] Access Denied
但是旧的水桶很好用。我不知道还有什么地方可以看,所以我欢迎任何指点


[更新]要包括阻止公共访问设置的图像

您确定没有启用S3阻止公共访问吗?(见)@jarmod是的。我已将权限页添加到原始帖子中。这里的设置与其他桶完全相同。好的,我想,但我只是想100%确定。在这一点上,我认为您应该仔细检查客户机的IAM权限和S3 bucket策略。可能IAM权限仅限于较旧的bucket,或者bucket策略有一些明确的要求,例如签名v4或SSE或其他。
S3::putObject(): [AccessDenied] Access Denied