2017-08-08 101 views
0

我在Amazon S3中有一個桶,並且我爲每個人設置了只讀數據。但是,這不是我想要的。我希望只能通過我的移動應用程序訪問這些數據,並將其限制爲通過網址下載。亞馬遜桶策略僅適用於移動應用訪問

這可能嗎?如果是的話如何實施這種桶策略?

回答

2

傳統,獲得了移動應用程序做這樣:

  • 移動應用用戶的驗證到後端(通過您的移動應用程序)。這可以通過Amazon Cognito或您自己的用戶名/密碼數據庫完成。
  • 你的應用程序檢查他們的身份並確定他們被允許訪問的數據。然後,它使用AWS Security Token Service (STS)來生成有限權限(例如,訪問S3存儲桶中的特定目錄)的時間有限的憑據。後端應用程序將這些憑據發送到移動應用程序。
  • 移動應用程序可以使用憑據對AWS進行API調用(而不必通過您的後端服務器)。

如果你想您的移動應用訪問S3存儲任何用戶,則用戶不需要在第一步驗證 - 這純粹是您的移動應用要求一些臨時憑證。

以上都不需要桶策略。權限將授予對STS憑證,而不是他桶。

+0

感謝您提供寶貴的信息。 – birdcage

0

在S3存儲桶中沒有直接設置客戶端特定策略的方法,但可以通過其他方式實現您的用例。

方式1 - 在您的移動應用中設置http請求引用者,並在S3上創建與此refrer匹配的策略。

方式2 - 通過匹配客戶端類型的服務器重定向您的所有請求,並在請求中添加少量條件。這些條件可以在S3政策中處理。

方式3 - 通過在S3存儲區上列入白名單的服務器重定向您的所有應用請求。儘管在這裏你必須使用一些代理服務器或負載均衡器。

這裏是政策和條件的官方文檔S3訪問 - http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

希望這有助於!