在Amazon S3 Bucket(PHP)内的整个目录中分配权限

时间:2015-10-20 19:36:41

标签: php amazon-web-services amazon-s3

我使用的是AWS SDK + PHP + Symfony2。

有没有办法将公共读取权限分配给我刚上传到Amazon S3 Bucket的整个目录?

我通常用来分配公共读取权限的代码是:

$this->s3->putObjectAcl(
    array(
        'Bucket' => $this->bucketName,
        'Key' => $destinationPath,
        'ACL' => CannedAcl::PUBLIC_READ
    )
);

但如果$ destinationPath是一个目录,它就不起作用。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

如上所述 urfusion ,您要找的是Bucket Policy

以下是您可能使用的示例政策:

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