我在使用GetSessionToken/GetFederationToken的Amazon S3中使用臨時會話,我計劃擁有超過10K個用戶,每個人都可以上傳到S3,因此初始時我想爲每個用戶使用一個存儲桶並設置寫入(上傳)每個用戶的每個桶的權限,但由於每個亞馬遜賬戶的桶數有限制,我已經放棄了這個想法。Amazon S3權限
如何設置允許公開閱讀的權限,以及僅當用戶想要上傳的對象的鍵的前綴時才上傳?
例如,如果用戶名X上傳文件,則密鑰必須與X_filename類似。
或者任何其他讓我有安全感的方式,這是一個移動應用程序,我不想在上傳文件時通過我們自己的服務器。
編輯:
我試着操作GetFederationToken與以下政策
"{
"Statement":[{
"Effect":"Allow",
"Action":["s3:PutObject","s3:GetObject","s3:GetObjectVersion",
"s3:DeleteObject",\"s3:DeleteObjectVersion"],
"Resource":"arn:aws:s3:::user.uploads/john/*"
}
]
}"
我對S3桶user.uploads和文件夾約翰
但是任何上傳與會議證書來桶user.uploads與關鍵的約翰/文件名失敗,訪問被拒絕「
這將工作,但你需要檢查一切。例如,政策可能是錯誤的。 - 爲內部測試做一個寬敞的測試,然後縮小它。此外,所有來自iOS的亞馬遜S3調用都需要使用您獲得的聯合令牌。 – 2012-01-17 21:46:12