每个用户的亚马逊AWS权限


Amazon AWS Permissions Per User

我正在想办法为用户上传到我的bucket中的文件授予打开/下载权限。我读到的是:amazonS3 bucket策略-通过referr限制访问,但不限制url是否通过查询字符串身份验证生成,并使用它来实现基于推荐的下载,但我想做的是:用户A上传文件,只有用户A和root用户可以访问该文件。用户B上传文件,只有用户B和root用户可以访问该文件。

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

有几件事。

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

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

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