MongoDB将用户设置为所选数据库的管理员

时间:2016-10-05 15:24:06

标签: mongodb authentication roles

我需要使用" root"在MongoDB中创建用户角色,但仅限于少数选定的数据库(database_one和database_two)。 我的问题是:

  1. 我应该在哪个数据库中创建用户?
  2. 我是否需要创建自定义角色?有什么设置?
  3. 我应该向用户授予哪些角色?
  4. 我的计划是我在数据库管理员中创建用户,使用两个数据库(database_one和database_two)设置角色dbAdmin,userAdmin,readWrite。但在这种情况下,我无法以此用户身份进行连接。 你能帮我看看如何设置用户和他的角色吗?

1 个答案:

答案 0 :(得分:0)

假设您已经选择了当前正在使用的数据库(通过使用此命令use <databaseName>),那么您可以尝试使用以下代码添加用户并指定他/她的凭据和角色。

db.addUser({user: "root", pwd: "123456", roles: [ "userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ]}));

或者为单个数据库创建用户admin:

use <databaseName>
db.createUser(
  {
    user: "recordsUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdmin", db: "records" } ]
  }
)

来自here

的更多信息