MongoDB是否为用户提供文档级别的访问权限?

5
我有一些集合,希望用户能够根据“标签”字段获得特权访问文档(行)。因此当用户1查询集合时,只能看到具有标签=user1的文档。请注意保留HTML标记。

2
你可以为数据库用户设置集合级别的访问权限(http://docs.mongodb.org/manual/core/collection-level-access-control/)。然而,你想要的功能并不存在于现成的系统中,你需要自己实现它。 - joao
正如所述,这不是由用户控制的“开箱即用”,但实际上您所说的正是您可以使用$redact在文档深度中实现的内容。个人建议您的ACL实际上应该基于“角色”而不是“用户名”。此外,请注意,$redact示例很简单,如果直接实现代码会更好。 - Neil Lunn
@joao,你能指向任何资源或链接,以便开始实施这个吗? - Kshitij Dixit
@NeilLunn:在这种情况下,$redact 确实是有意义的。也许你可以将你的评论扩展成一个答案? - naught101
1个回答

0

我最终使用PyMongo编写了一个中间脚本,基于用户的属性(保存在单独的数据库中)查询数据库。此查询的结果托管在单独的localhost(或任何其他IP)端口上,然后由我们的BI应用程序使用。对单独的数据库的读写访问仅提供给管理员,管理员可以修改用户拥有特权的访问权限。托管和查询是使用Flask和PyMongo完成的,可以通过以下链接进行安装:

http://api.mongodb.org/python/current/installation.html
http://flask.pocoo.org/docs/0.10/installation/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接