2011-12-16 66 views
0

我想使用SimpleDB移动应用程序。我有用户帐户,所以我会有一个'TVM'来验证用户,并返回一个有时间限制的令牌,允许移动应用直接进行SimpleDB调用。移动应用程序和SimpleDB直接'访问策略'

但是我相信不过,如果应用程序需要能够编写和从数据库中进行选择,则无法安全地执行此操作。恶意用户可以简单地检索令牌并编写他们自己的SimpleDB调用,这些调用可以向DB写入任何内容。

确实,安全地写入SimpleDB的唯一方法是将通过我的web服务器进行的所有调用都发送到SimpleDB?

这里是我的访问策略。

{ 
"Action":["sdb:PutAttributes", 
"sdb:Select*" 
], 
"Effect":"Allow", 
"Resource":"arn:aws:sdb:us-east-1:123456789012:domain/mySDBDomain" 
}, 

回答

0

是的,你需要有一个网关/代理应用程序的地方排序,以提供您正在寻找的附加级别的验证和安全性。在光明的一面,它并不需要任何幻想。

一个小型网络服务器,在微型实例上运行(使用您最喜欢的语言编写代码)(假设您不会获得太多流量),它只是简单地接受来自您的移动应用程序的请求,执行一些小的验证级别数据格式与您期望从您的客户端看到的数据相匹配),然后将其作为正确格式化的PUT请求发送到您的SimpleDB域。

+0

是的,这很容易设置,谢谢 – Mark 2011-12-24 15:35:42