2016-02-04 54 views
0

我正在計劃針對移動設備的遊戲應用程序。用戶將使用他們現有的社交媒體帳戶登錄遊戲,以簡化數據捕獲。 B公司希望將玩家數據和來自移動應用的評分信息直接保存到名爲Score Data的DynamoDS表中。當用戶保存遊戲時,進度數據將存儲到遊戲狀態S3存儲桶中。AWS移動應用程序,DynamoDB和S3場景的最佳解決方案

將數據存儲到DynamoDB和S3的最佳方法是什麼?

方法1:使用與一個EC2作用提供了訪問得分數據DynamoDB表和通過Web服務的移動應用通信的遊戲狀態S3存儲推出的EC2實例。

選項2:使用臨時安全證書,該證書承擔使用Web聯合身份驗證提供對Score Data DynamoDB表和Game State S3存儲桶的訪問權限的角色。

我與選項1交談的許多架構師是正確的。但根據AWS doco,看來Option2也可以是有效的。任何輸入將不勝感激!

回答

2

我強烈地考慮使用Amazon Cognito的Option#2爲您的用戶提供臨時憑證,使他們能夠直接並專門訪問DynamoDB和S3。

一般來說,你需要:

  1. 創建一個新的Cognito身份池,並設置2個IAM角色 - 一個用於身份驗證的用戶,一個用於未經驗證的用戶(可選)。 https://docs.aws.amazon.com/cognito/devguide/getting-started/?platform=ios
  2. 通過您自己的身份驗證提供程序或通過Facebook,Twitter等外部提供商驗證用戶,然後使用Cognito爲他們創建臨時憑證。 https://docs.aws.amazon.com/cognito/devguide/identity/external-providers/
  3. 使用憑據訪問DynamoDB和/或S3。只要您適當地設置您的IAM角色,您的AWS資源就會受到保護。例如,您可以對DynamoDB表進行細化訪問,以便用戶無法訪問不屬於它們的行。請參閱以下鏈接瞭解更多詳情:https://docs.aws.amazon.com/cognito/devguide/identity/concepts/iam-roles/

Cognito開發人員指南位於此處:https://docs.aws.amazon.com/cognito/devguide/

相關問題