0

我试图找出一种方法来授予用户上传到我的存储桶的文件的打开/下载权限。我在读这个:amazon S3 bucket policy-restricting access by referer BUT not restricts if urls are generated via query string authentication,并用它来实现基于引用的下载,但我想要做的是:用户 A 上传文件,只有用户 A 和 root 可以访问该文件。用户 B 上传文件,只有用户 B 和 root 可以访问该文件。

我已经在每个文件的元数据中添加了一个帐户 ID。是否可以将其用于身份验证?运行 if($s3->get_object_metadata('account_id', $file))=='123'{provide access}?

4

1 回答 1

1

有几件事。

  1. 首先,看在上帝的份上,请迁移到AWS SDK for PHP 2。SDK 1.x 即将推出,有一段时间没有收到任何更新。

  2. 完成后,您可以使用S3Client::putBucketPolicy()通过规范用户 ID(又名帐户 ID)授予对存储桶的访问权限。这样,您将管理访问控制的责任推回 S3 服务。当用户尝试访问该对象时,他们将获得 200(201、204、304、307),如果不允许他们访问,他们将获得 403。

  3. 如果您选择继续使用 SDK 1.x,等效方法是AmazonS3::set_bucket_policy()

于 2013-08-03T05:59:29.100 回答