2013-04-08 80 views
8

我正在構建一個PHP網站,該網站將其內容文件保留在Amazon S3上。網站文件(使用PHP代碼)位於傳統服務器上。用戶將在網站上註冊,註冊並登錄後,他們將可以訪問S3上的文件。讓只有註冊用戶從我的Amazon S3存儲桶下載

問題是,如何讓只有登錄的用戶下載文件並阻止其他人下載? AWS IAM是否必須以某種方式參與?

我不想過期的網址。我只想給特定用戶提供文件訪問權限,我不希望他們在任何時間段與其他人分享鏈接。

將來我還想要限制對註冊用戶的文件訪問 - 取決於用戶帳戶的類型,用戶將有權訪問不同的文件。

Thx提前回復!

+4

S3無法實現。您必須首先將文件下載到您的網絡服務器,並從那裏提供服務或創建到期的URL。 – sprain 2013-04-08 21:22:34

+2

thx!至少你回答了一些問題,而不是像其他問題一樣下調我的問題**漏洞 – Val 2013-04-08 21:43:51

+1

+1,我也在尋找解決方案,我認爲沒有理由把這個問題投下來。 – kiranvj 2013-04-16 04:39:59

回答

3

這可以做到......我使用ROR而不是PHP,其中我的應用程序控制對S3存儲桶中數據的訪問。我有我的應用程序可以訪問的存儲區,並且文件訪問受其應用程序中憑據的限制。合理?

我有一個公共存儲區來存儲我的資產(公開可用的圖像)和只有我的應用程序可以訪問的存儲區。我的應用程序中的用戶只能根據憑據訪問特定的存儲桶。

數據庫存儲對確切s3文件/位置的引用,如何訪問它(在事務期間傳遞的加密憑據和密鑰)以及誰可以訪問它。

閱讀關於從S3存儲桶提供Web資產並創建上傳表單到S3存儲桶的步驟。這會讓你瞭解如何與S3桶進行交互。一旦您可以與存儲桶內容進行交互,您就可以使用Web應用程序控制訪問權限。

祝你好運!

+0

文件數據如何流式傳輸?它是通過你的服務器還是直接從S3傳遞給用戶?只有ROR可能嗎?我使用PHP和Undesigned定製的S3類:http://undesigned.org.za/2007/10/22/amazon-s3-php-class,我很可能必須堅持簽署的URL – Val 2013-04-19 21:20:20

+1

你可以做到這一點... http://aws.amazon.com/articles/1434是你自己實現的直接方法。我不知道PHP,但ROR也有很多插件可以處理它(波載波,軌道直接上傳,回形針,swf上傳)。 – twinturbotom 2013-04-20 12:38:37

相關問題