每个用户的Amazon AWS权限

时间:2013-07-30 09:57:46

标签: php amazon-web-services

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

我已经在每个文件的元数据中添加了帐户ID。是否可以使用它进行身份验证?运行if($ s3-> get_object_metadata('account_id',$ file))=='123'{提供访问权限}?

1 个答案:

答案 0 :(得分:1)

有几件事。

  1. 首先,请为了上帝的爱,请迁移到AWS SDK for PHP 2。 SDK 1.x即将推出,并且暂时没有收到任何更新。

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

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