mongodb中的用户权限

时间:2014-03-30 09:10:27

标签: javascript mongodb mongohq database

我是mongodb的新手。

我正在尝试了解用户权限如何在mongodb上运行 我有一个mongodb数据库(来自mongoHQ沙箱512 Mb免费)。

我也创建了一个数据库,它包含一些集合 这里看起来像是什么

这是我的数据库事件及其集合(消息,* 提供商 *)

事件

- messages
- provider

我想要的是: 我有3个用户在事件数据库的不同集合

上拥有3种不同的权限

这里有3位拥有特权的用户

providerUser 提供商集合上的只读访问权限,并且没有访问事件数据库的其他集合(并且也无权访问其他数据库)

eventreadUser :对事件数据库中的消息集合进行只读访问,并且无法访问事件数据库中的其他集合(并且具有也无法访问其他数据库)

eventreadWriteUser :仅对事件数据库中的消息集合具有读取,写入权限,并且无法访问事件中的其他集合数据库(并且也无法访问其他数据库)

所以我创建了一个将这些用户添加到事件数据库

的javascript

addUsers.js

var conn = new Mongo('hostname:port');
       var db = conn.getDB("events");
       // For authentification on DB
       db.auth('username', 'password');

   function addCurlUserAndroidUser() {
    var providerUser = {
    user: 'providerUser',
    pwd: 'providerUserPassword',
    privileges: [{ 
                resource: {collection: "provider" },
                actions: [ "find"]
            }],
     roles: [ "read"]
     };


    var eventreadUser = {
    user: 'eventreadUser',
    pwd: 'eventreadUserPassword',
    privileges: [{ 
                resource: { collection: "messages" },
                actions: [ "find"]
            }],
     roles: [ "read"]
     };

var eventreadWriteUser = {
    user: 'eventreadWriteUser',
    pwd: 'eventreadWriteUserPassword',
    privileges: [{ 
                resource: { collection: "messages" },
                actions: [ "find", "insert","remove","update"]
            }],
     roles: [ "readWrite"]
     };


    db.addUser(eventreadUser);
    db.addUser(providerUser);
        db.addUser(eventreadWriteUser);
      }

我按照以下命令行执行此javascript:

mongo hostname:port/events  addUsers.js

问题 providerUser 有权阅读消息集合 和 eventreadUser eventreadWriteUser 也可以访问阅读提供商集合

如果需要或者有些事情没有明确解释,请询问更多信息 如果我能很快得到一些有用的答案,那将非常有用

谢谢你 迪内希

0 个答案:

没有答案