【问题标题】:The Best Solution for an AWS Mobile App, DynamoDB, & S3 Scenario适用于 AWS 移动应用程序、DynamoDB 和 S3 场景的最佳解决方案
【发布时间】:2016-05-13 12:30:44
【问题描述】:

我正在规划一款适用于移动设备的游戏应用。用户将使用他们现有的社交媒体帐户登录游戏,以简化数据捕获。 B 公司希望将移动应用程序中的玩家数据和得分信息直接保存到名为 Score Data 的 DynamoDS 表中。当用户保存他们的游戏时,进度数据将存储到游戏状态 S3 存储桶中。

将数据存储到 DynamoDB 和 S3 的最佳方法是什么?

选项 1:使用以 EC2 角色启动的 EC2 实例,该角色提供对 Score Data DynamoDB 表和通过 Web 服务与移动应用程序通信的 GameState S3 存储桶的访问权限。

选项 2:使用临时安全凭证,该凭证通过网络身份联合承担提供对 Score Data DynamoDB 表和 Game State S3 存储桶的访问权限的角色。

我与选项 1 交谈过的许多建筑师都是正确的。但根据 AWS doco,看来 Option2 也可以有效。任何意见将不胜感激!

【问题讨论】:

    标签: amazon-s3 amazon-ec2 amazon-dynamodb


    【解决方案1】:

    我强烈考虑使用 Amazon Cognito 为您的用户提供临时凭证的选项 #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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多