【问题标题】:Amazon Web Services: RDS + Web Service vs DynamoDB API for Mobile App. What's Easiest/Best for Security?Amazon Web Services:RDS + Web Service vs DynamoDB API for Mobile App。什么是最简单/最安全的?
【发布时间】:2013-09-13 02:33:18
【问题描述】:

我正在构建一个需要使用 Amazon Web Services 托管的后端的移动应用程序。
他们的移动 SDK 提供 API 以直接与 DynamoDB 一起工作(使我的应用程序成为胖客户端),包括使用他们的 IAM 服务(我将使用它来跟踪用户)进行用户身份验证/授权。这样可以很容易地说“用户 X 想要他们的信息。这是他们的临时访问密钥。哦,这是您请求的信息。”

但是,如果我使用 RDS 作为后端数据库,我必须创建我的应用程序可以与之通信的 Web 服务(在 PHP 或 Java/等中)。然后我还必须自己在我的网络服务中实现身份验证/授权(我觉得这可能会变得非常混乱)。我还必须在 EC2 实例上托管 Web 服务,并拥有 RDS 实例。所以我的成本会增加。

后者似乎需要大量工作,而我可以通过使用 DynamoDB(及其 API)作为后端来避免这些工作。

我在这里的推理是否正确?或者是否有一种简单的方法可以使用 AWS RDS 数据库对 PHP Web 服务进行身份验证/授权?
我问是因为我以前只使用过关系数据库,所以运行 NoSQL 数据库会有一个学习曲线。虽然假设我的计划是最终在未来的某个时候切换到 NoSQL 数据库,但由于我的应用程序需求不断增加。

旁注:我已经在 MySQL 中设计了我的数据库。

【问题讨论】:

  • 您听起来好像 NoSQL 在定义上优于 RDBMS。这并非总是如此。这取决于您的应用程序的要求。您是否需要 RDBMS 提供的连接等?我知道此评论与主题无关,因为您提出了不同的问题,但您确定需要 NoSQL 吗?
  • 不,我不完全确定。我一直在阅读大量关于 NoSQL 的文章,但我仍然不确定它是否能满足我们的所有需求。例如,我希望能够根据所有数据向用户提供报告。我知道 NoSQL 不能进行连接,但老实说,我不知道这对我的限制有多大,因为我还没有看到完整的 NoSQL 数据库“模式”及其用途的好例子。
  • 你最后用了什么?
  • @jasper 对不起,伙计,在我们放弃项目之前,我们最终转向 Azure 作为后端。
  • @G_M 谢谢...Wat 正是你在 Azure 中使用的后端,它更好吗?如果您有任何 cmets,请查看:stackoverflow.com/questions/28242387/…

标签: web-services security authentication mobile amazon-web-services


【解决方案1】:

由于无法对 RDS 表进行细粒度访问控制,因此没有直接将 IAM 与 RDS 一起使用的解决方案。此外,IAM 策略不能动态执行(即使用身份池)。 RDS 是一项非托管服务,因此不作为 SaaS 端点提供。 DynamoDB 是一种 REST 服务,呈现为分布式键值存储并将端点公开给客户端(AWS SDK 只是它们的包装器)。

DynamoDB 作为分布式服务而生,可以保证对数据访问的细粒度控制,从而允许并发访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2011-07-09
    • 2010-10-20
    • 2012-05-08
    相关资源
    最近更新 更多