限制查询只能访问命名空间内的对象?

时间:2014-04-16 01:55:01

标签: mongodb namespaces mongoengine mongodb-query access-control

我希望每个MongoDB [sub] database都能访问特定的数据库(central);以及访问查询自己的数据库/命名空间内的任何内容。

如何设置? - 我正在使用mongoengine BTW。

1 个答案:

答案 0 :(得分:0)

您可以使用此处概述的收集级别身份验证:http://docs.mongodb.org/manual/core/authentication/

特别是身份验证手册的这一部分: http://docs.mongodb.org/manual/reference/system-roles-collection/#a-user-defined-role-specifies-privileges

您可以使用文档设置权限:

{
  _id: "myApp.appUser",
  role: "appUser",
  db: "myApp",
  privileges: [
       { resource: { db: "myApp", collection: "data" },
         actions: [ "insert", "update", "remove", "compact" ] },
       { resource: { db: "myApp", collection: "system.indexes" },
         actions: [ "find" ] }
  ]
}