注册

mongodb 添加用户及权限设置详解

MongoDB 添加用户及权限设置详解

在使用 MongoDB 数据库时,常常需要对数据库进行安全性设置,其中之一就是添加用户及设置用户权限。本文将介绍 MongoDB 添加用户的方法,并给出两个示例说明。

添加用户方法

在 MongoDB 中添加用户可以使用 db.createUser() 方法。该方法需要传入一个用户对象,该对象包括以下属性:

  • user:用户名称。
  • pwd:用户密码,该密码会被进行加密处理,不会以明文形式存储。
  • roles:用户角色数组,描述用户所拥有的权限。

下面是 db.createUser() 方法的完整语法:

db.createUser({
  user: "",
  pwd: "",
  roles: [
    {
      role: "",
      db: ""
    }
  ]
})

其中, 即为要创建的用户名称, 为用户密码。角色数组中可以有多个角色,每个角色对象包括 role 属性和 db 属性,分别表示角色名称和该角色所操作的数据库名称。

示例1:添加用户并授权指定数据库的读写权限

下面是一个示例,我们将为数据库 mydb 中创建一个名为 testuser 的用户,并授予其对 mydb 数据库读写的权限。

// 首先连接到 MongoDB 数据库
mongo

// 切换到要创建用户的数据库
use mydb

// 创建用户
db.createUser({
  user: "testuser",
  pwd: "password123",
  roles: [
    {
      role: "readWrite",
      db: "mydb"
    }
  ]
})

执行以上代码后,即可在 mydb 数据库中创建一个名为 testuser 的用户。

示例2:添加用户并授权所有数据库的读权限

下面是另一个示例,我们将为 MongoDB 数据库添加一个名为 readonly 的用户,并授予其所有数据库的读权限。

// 首先连接到 MongoDB 数据库
mongo

// 创建新用户
db.createUser(
  {
    user: "readonly",
    pwd: "password123",
    roles: [ { role: "readAnyDatabase", db: "admin" } ]
  }
)

执行以上代码后,即可在 MongoDB 数据库中创建一个名为 readonly 的用户,并授予该用户所有数据库的读权限。

到此为止,我们已经介绍了 MongoDB 添加用户及权限设置的方法,并通过两个示例进行了详细说明。在实际应用中,应该针对具体的业务场景设置相应的权限,以保证数据库安全性。