簡體   English   中英

多個設備上的AWS S3

[英]AWS S3 on multiple devices

好的,所以我是AWS的新手。 我想制作一個將存儲少量用戶數據的應用程序。 S3似乎是存儲數據的方式。 有沒有辦法用S3自動創建多個存儲空間? 可以說我制作了一個android應用,人們將其安裝在手機上。 他們每個人都會自動獲得一個S3存儲空間嗎? 我怎么做? 謝謝

您可以使用文件夾為您的項目創建一個S3存儲桶 (取決於體系結構,可以供客戶使用)。 這樣,您將擁有包含所有用戶數據的s3服務實例。

Amazon S3只是一個對象存儲系統。 您如何使用它完全取決於您。

如果你想存儲在每個用戶的基礎信息,那么你就需要考慮另外的安全的數據存儲方式

如果意圖是用戶可以訪問一些他們專有的信息(而不是對任何人公開可見),那么您首先需要控制對數據的訪問。

  • 對於公共信息 ,無需身份驗證
  • 對於私人信息 ,需要確定允許他們訪問什么,然后授予訪問權限

應該給予永久AWS憑證(訪問密鑰,秘密密鑰)的每一個用戶。 這些憑據僅適用於您的IT運營人員(您!)和您的應用程序。

剩下兩個選擇:

  • 您的中央服務器可以使用AWS Secure Token Service生成臨時訪問憑證 ,同時指定其擁有的訪問權限(例如,訪問特定的S3存儲桶和路徑,或訪問其他AWS服務,例如DynamoDB)。 要么
  • 為存儲在Amazon S3中的特定對象生成預簽名URL

根據您的用例,使用預簽名的URL似乎更合適。 基本上,流程是:

  • 您的應用程序會將請求發送到中央服務器,以請求訪問對象。
  • 服務器(或更確切地說,您編寫的在中央服務器上運行的應用程序)將驗證其身份並確認應允許他們訪問存儲在Amazon S3中的對象。
  • 然后,中央服務器生成一個預簽名的URL ,該URL授予對Amazon S3中的對象的時間限制訪問,並將該URL發送回客戶端應用程序。
  • 然后,客戶端應用程序使用URL從Amazon S3檢索數據。

只有在中央服務器上運行的應用程序才需要AWS憑證。 然后,它使用這些憑據生成客戶端應用程序可以使用的預簽名URL。

順便說一下,中央服務器上的應用程序實際上不需要在服務器上運行。 您可以使用AWS API Gateway將請求發送到AWS Lambda函數,該函數可以執行邏輯並發回響應。 這將是一個無服務器的解決方案,但仍具有集中式邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM