2017-05-05 114 views
1

我正在處理應用程序,我們希望將我們用戶的文件託管到AWS S3。控制從我的應用程序訪問AWS S3文件

最初的想法是爲每個新用戶(桶名稱可能是用戶的唯一代碼)創建一個新桶。我們如何使用例如他的用戶名或電子郵件來控制對用戶桶文件的訪問? S3根據AWS賬戶提供不同級別的訪問。

我們需要確保通過身份驗證的用戶只能訪問他的存儲桶文件。實現這種場景(使用S3或類似服務)的最佳方式是什麼?並防止具有正確url的任何人訪問其他用戶文件?

回答

1

聽起來好像你想要做什麼可以用S3 pre-signed urls完成。

這就要求你:

  • 設置桶/文件ACL來private,這將防止「正確的URL」任何人訪問該文件。
  • 允許您的應用程序生成文件的短期鏈接,然後您的用戶就可以使用這些文件進行訪問。

而是直接指導用戶到該文件的被請求的工作流程將類似於如下:

  • 直接用戶到應用程序的路徑這驗證其訪問所需文件的權利。
  • 一旦用戶通過驗證,生成請求的文件預先標識的URL,
  • 返回一個302重定向到預標識的URL
+0

這聽起來不錯。我們會嘗試這種方法。謝謝 – maryus