Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 亚马逊网络服务:RDS+;移动应用程序的Web服务与DynamoDB API。什么';什么是最容易/最好的安全措施?_Web Services_Security_Authentication_Mobile_Amazon Web Services - Fatal编程技术网

Web services 亚马逊网络服务:RDS+;移动应用程序的Web服务与DynamoDB API。什么';什么是最容易/最好的安全措施?

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服务中实现

我正在构建一个移动应用程序,该应用程序需要一个后端,我已选择使用Amazon 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中使用了什么作为后端,它是否更好?如果您有任何意见,请参阅: