在MongoDB 2.4.9上为不同的用户创buildangular色

我是新来的mongodb,我试图了解和如何授予访问我的数据库的用户(我有一个mongoH数据库从mongoHQ沙箱512 MB免费)。

从我的mongo shell连接到我的mongodb后

我有一个名为事件的数据库,它包含2个集合

  • 信息
  • 提供商

我创build了2个用户:

  • messageUser
  • providerUser

我想要的是:

  • messageUser只能读取消息集合,而不能读取,写入提供者集合

  • providerUser只有权限读取,写入提供者集合和读取消息收集权限

我发现db.addUser() – 版本2.4.9,但我不能定义集合的权限

示例 (从mongo shell成功连接到mongodb后):

use event db.addUser( { user: "messageUser", pwd: "password", roles: ["read"] } ) 

但是messageUser stil可以访问读取提供者集合

但我发现最新版本2.6.x db.addUser:[http://docs.mongodb.org/master/reference/method/db.addUser/#db.addUser]和db.createRole:[http:// docs.mongodb.org/master/reference/method/db.createRole/#db.createRole],我们可以定义更多'复杂的权限',例如:授予权限messageUser只在消息收集的权限操作上find操作:[http:// docs.mongodb.org/master/reference/privilege-actions/]

 db.addUser({ user: 'messageUser', pwd: 'password', privileges: [{ resource: {collection: "messages" }, actions: [ "find"] }], roles: [ "read"] }); 

我也发现,我们可以定义用户权限,从添加用户到数据库名为amin,不幸的是MongoHQ服务没有授予访问这个数据库的权限

如果需要更多的信息,或者如果有什么不明确的解释,这将是非常有用的,如果我得到一些有用的回应很快

谢谢

迪内希

       

网上收集的解决方案 "在MongoDB 2.4.9上为不同的用户创buildangular色"