我想使用Amazon SimpleDB为我的iPhone应用程序存储数据。不同的用户将拥有同一域中的项目。我希望用户能够删除他们自己的项目而不是彼此的项目,并且这个限制将在服务器端强制执行。
我希望使用匿名TVM。
这样做的最佳方式是什么?
答案 0 :(得分:1)
使用IAM用户管理,您可以为每个用户或组创建自定义策略,以允许或拒绝删除SimpleDB中的项目。如果每个用户都有自己的域,则可以使用arn格式arn:aws:sdb:<region>:<account_ID>:domain/<domain_name>
答案 1 :(得分:0)
我认为你不能使用IAM - 你似乎说你有一个存储所有用户数据的域。
实现目标的一种方法是使用基于用户的项目名称前缀,例如:用户jimsmith会将所有项目存储在项目名称下,其中包含“jimsmith”或一些随机字符串,这对于jimsmith是唯一的(可以存储在某处)。
然后您负责安全性,因此您将无法直接查询AWS - 他们需要与您的中间服务器通信以处理安全问题。你必须假设人们可以在越狱手机上运行应用程序,并反编译等。
您可以使用IAM将单个用户限制为S3存储桶的一小部分。然后,您可以使用您设计的服务器应用程序为存储桶编制索引。然后,DB可以用于您自己的代码搜索目的,以便iPhone只处理S3。
答案 2 :(得分:0)
根据我的研究,simpleDB用户权限策略并非旨在以您提议的方式使用(意味着未公开的应用程序用户数),处理此问题的方法可能是使用某些服务器应用程序正如这里建议的那样:Mobile app and SimpleDB direct 'Access Policy'