Web services 亚马逊网络服务:RDS+;移动应用程序的Web服务与DynamoDB API。什么';什么是最容易/最好的安全措施?
我正在构建一个移动应用程序,该应用程序需要一个后端,我已选择使用Amazon Web服务托管该后端。Web services 亚马逊网络服务:RDS+;移动应用程序的Web服务与DynamoDB API。什么';什么是最容易/最好的安全措施?,web-services,security,authentication,mobile,amazon-web-services,Web Services,Security,Authentication,Mobile,Amazon Web Services,我正在构建一个移动应用程序,该应用程序需要一个后端,我已选择使用Amazon Web服务托管该后端。 他们的移动SDK提供了直接与DynamoDB合作的API(使我的应用程序成为一个厚客户端),包括使用IAM服务进行用户身份验证/授权(这是我将用来跟踪用户的)。这使得说“用户X想要他们的信息很容易。这是他们的临时访问密钥。哦,这是你要求的信息。” 然而,如果我使用RDS作为后端数据库,我必须创建我的应用程序可以与之对话的web服务(PHP或Java/etc)。然后,我还必须自己在web服务中实现
他们的移动SDK提供了直接与DynamoDB合作的API(使我的应用程序成为一个厚客户端),包括使用IAM服务进行用户身份验证/授权(这是我将用来跟踪用户的)。这使得说“用户X想要他们的信息很容易。这是他们的临时访问密钥。哦,这是你要求的信息。” 然而,如果我使用RDS作为后端数据库,我必须创建我的应用程序可以与之对话的web服务(PHP或Java/etc)。然后,我还必须自己在web服务中实现身份验证/授权(我觉得这可能会变得非常混乱)。我还必须在EC2实例上托管web服务,并拥有RDS实例。所以我的成本会增加 后者似乎需要大量的工作,我可以通过使用DynamoDB(及其API)作为后端来避免这一点 我在这里的推理正确吗?或者有没有一种简单的方法可以通过AWS RDS数据库对PHP web服务进行身份验证/授权?
我这样问是因为我以前只使用过关系数据库,所以要让NoSQL数据库运行,会有一个学习曲线。尽管假设我的计划是最终在将来的某个时候切换到NoSQL db,但无论如何,由于我的应用需求不断增加
旁注:我已经用MySQL设计了我的数据库。由于无法对RDS表进行细粒度访问控制,因此没有将IAM直接用于RDS的解决方案。此外,IAM策略不能动态实施(即使用标识池)。 RDS是非托管服务,因此不作为SaaS端点提供。DynamoDB是一个REST服务,作为分布式键值存储提供,并向客户机公开端点(awsdk只是围绕端点的包装器)
DynamoDB天生就是一种分布式服务,可以保证对数据访问的细粒度控制,从而允许并发访问。从定义上讲,NoSQL似乎优于RDBMS。情况并非总是如此。这取决于应用程序的要求。您是否需要RDBMS提供的联接等?我知道这个评论是离题的,因为你问了一个不同的问题,但是你确定你需要一个NoSQL吗?不,我不完全确定。我已经读了很多关于NoSQL的书,但我仍然不确定它是否能满足我们所有的需求。例如,我希望能够基于所有数据向用户提供报告。我知道NoSQL不能进行连接,但我真的不知道这对我有多大的限制,因为我还没有看到完整的NoSQL数据库“模式”及其使用的好例子。你最终使用了什么?@jasper Sorry mate,在我们放弃这个项目之前,我们最终选择了Azure作为后端。@G\M谢谢……你到底在Azure中使用了什么作为后端,它是否更好?如果您有任何意见,请参阅: