2017-10-08 106 views
0

我想用S3來存儲用戶上傳的圖像。任何人都應該可以看到像個人資料圖片和其他縮略圖。不過,我也希望讓圖片「張貼」到組中的用戶可以看到一些圖片。難以從公開的S3存儲桶中獲取圖像?

我的應用程序將處理所有邏輯來決定某個用戶是否有權訪問該圖像。

我的問題是:使用公共S3存儲桶和我的應用程序控制圖像的可見性,有人會看到他們通常無法訪問的圖像有多難?

有沒有更好的方法來設置S3存儲桶來滿足這些要求?

謝謝。

回答

2

最好的辦法是:

  • 不要公開訪問授予圖像的任何 /亞馬遜S3對象
  • 你在任何時候都應用決定了他們是否應該被允許接入
  • 對於允許訪問映像的用戶,請創建一個Amazon S3預先簽名的URL,該URL是一個時間限制的URL,它將授予訪問該對象的權限。

您的應用程序可以在幾行代碼中生成預簽名的URL,而無需調用AWS。

這樣,您的所有安全性都由應用程序維護,而不必選擇性地公開某些對象,並且人們無法獲得對對象的未授權訪問。

相關問題