【问题标题】:Building a serverless secure MMO auction house system with Lambda + DynamoDB使用 Lambda + DynamoDB 构建无服务器安全 MMO 拍卖行系统
【发布时间】:2018-04-04 11:46:10
【问题描述】:

我正在为 MMO 构建一个拍卖行系统,该系统非常简单:

  • 玩家可以发布物品进行销售,物品将保留在订单内并出现在市场上
  • 玩家可以发布要购买的物品,金币会保留在订单中,系统会寻找订单,如果匹配则交换。

我们正在考虑使用 AWS 来简化扩展。但是,我们也有一些安全问题,因为任何对拍卖行的黑客攻击都会破坏游戏。而且,好吧,因为它是一款在线游戏,所以从第一天开始就会有人试图破解它。

在安全性方面,是否为此类系统推荐无服务器架构?我将来可能会遇到任何无法预料的问题吗?

是否为此推荐 NoSQL(DynamoDB)?由于完整性限制和 ACID,我可以可视化关系数据库,让事情变得更安全,但我对让我的代码处理如此关键软件中的所有关系感到有点不舒服。

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-dynamodb


    【解决方案1】:

    对于数据库架构:

    我认为这里的重点是您的system will look for orders, if there is a match 句子。重要的是你的索引来实现这一点。如果您可以创建一个索引为good(具有相当一致地请求的大量不同值),那么商城中的这些项目的查询成本会更低且速度更快。否则在商城中搜索商品将非常低效,例如,如果您的索引键是 GoldenSword 并且 10000 多个商品具有相同的 id GoldenSword。我不知道您对“拍卖行”的要求,例如您可以搜索或添加多少种方式,因此我无法对此进行过多推测。但不利的一面是,如果您的数据库架构及时更改或一开始设计薄弱,它会迫使您使用全局二级索引并且变得非常昂贵,因为 DynamoDB 本身就很昂贵。

    Best practices for DynamoDB

    为了安全:

    如果您对 IAM 角色和访问 dynamoDB 以及在您的 AWS 账户上运行 lambda 的策略有适当的限制,那将是非常好的和安全的。不像授予对所有内容和所有 dynamoDB 操作和表的完全访问权限。只要您的 IAM 凭证是安全的,它们就会是安全的。从未见过有关无服务器架构的安全问题。此外,DynamoDB 具有易于使用的静态加密功能。

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 2014-11-27
      • 2018-11-20
      • 2015-09-18
      • 1970-01-01
      相关资源
      最近更新 更多