假設我想創建一個簡單版本的Dropbox網站,您可以在其中註冊並對上傳,下載,刪除,重命名等文件執行操作 - 漂亮很像在this question。我想使用Amazon S3來存儲文件。 AWS SDK的這一切都非常簡單,除了一件事情:安全性。沒有AWS賬戶的Amazon S3對象的權限
顯然用戶A不應該被允許訪問用戶B的文件。我可以通過處理我的應用程序中的權限來添加「通過默默無聞的安全性」,但它不足以擁有公共文件並依賴它,因爲那麼具有正確URL的任何人都可以訪問它們應該無法訪問的文件。因此我已經搜索並查看了AWS文檔中的解決方案,但是我一直無法找到合適的解決方案。問題是我所能找到的所有東西都與基於AWS賬戶的權限有關,並且我不適合創建數千個IAM用戶。我認爲IAM用戶,鬥策略,S3的ACL,預籤網址等
我可以確實在我的應用程序權限的一切,在我的桶設置權限,以便只有我的應用程序可以訪問對象解決這個問題,然後讓用戶通過我的應用程序下載文件。但是,這會增加我的應用程序的負載,我真的希望人們通過Amazon S3直接下載文件以利用其可伸縮性。
有沒有辦法可以做到這一點?爲了澄清,我想給我的應用程序中的給定用戶僅訪問Amazon S3中的對象的一個子集,而不創建數千個IAM用戶,這是不可擴展的。
在下載文件的情況下,這確實是一個好方法。我擔心的是,必須預先爲所有操作(上傳,下載,刪除,重命名,移動...)預先簽名URL纔算是矯枉過正,並不是一個好方法。然而,[你的另一個答案](http://stackoverflow.com/questions/24896743/aws-s3-presigned-url-limit#answer-24901501)讓我意識到簽署完全由AWS SDK完成,因此爲什麼生成大量的預先簽名的URL不應該成爲問題。你是否同意對於對象上的所有其他操作都採用相同的方法? – Andy0708