2013-07-30 99 views
0

我想找出一種方法來授予用戶上傳到我的存儲桶的文件的打開/下載權限。我正在閱讀: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可以訪問該文件。亞馬遜AWS每用戶權限

我已經爲每個文件的元數據添加了一個帳戶ID。有可能使用它進行身份驗證嗎?運行if($ s3-> get_object_metadata('account_id',$ file))=='123'{provide access}?

回答

1

一些事情。

  1. 首先,請爲上帝的愛,遷移到AWS SDK for PHP 2。 SDK 1.x即將出臺,並且在一段時間內還沒有收到任何更新。

  2. 完成此操作後,您可以使用S3Client::putBucketPolicy()通過規範用戶標識(a.k.a.,Account ID)授予對存儲桶的訪問權限。這樣,您將管理訪問控制的責任推回到S3服務上。當用戶試圖訪問該對象時,如果他們不被允許訪問該對象,他們將獲得200(201,204,304,307)或403。

  3. 如果您選擇繼續使用SDK 1.x,則等效方法爲AmazonS3::set_bucket_policy()