当前位置:首页 > 行业动态 > 正文

mongoDB设置ACL的方法是什么

在MongoDB中,可以通过角色(Roles)和访问控制列表(ACLs)来管理用户权限,以下是设置ACL的方法:

mongoDB设置ACL的方法是什么  第1张

1. 创建用户

需要创建一个用户,可以使用db.createUser()方法来创建用户,创建一个名为myUser的用户,密码为myPassword:

use admin
db.createUser({
  user: "myUser",
  pwd: "myPassword",
  roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
}) 

2. 创建角色

接下来,创建一个角色,该角色将包含用户需要的权限,使用db.createRole()方法来创建角色,创建一个名为readWrite的角色,该角色具有读写权限:

use myDatabase
db.createRole({
  role: "readWrite",
  privileges: [
    { resource: { db: "myDatabase", collection: "" }, actions: [ "find", "update", "insert" ] }
  ],
  roles: []
}) 

3. 为用户分配角色

将创建的角色分配给用户,使用db.grantRolesToUser()方法为用户分配角色,将readWrite角色分配给myUser用户:

use myDatabase
db.grantRolesToUser("myUser", [{ role: "readWrite", db: "myDatabase" }]) 

4. 验证用户权限

验证用户是否具有正确的权限,可以使用db.auth()方法进行身份验证,然后尝试执行需要相应权限的操作,以myUser用户身份登录并查询myCollection集合:

use myDatabase
db.auth("myUser", "myPassword")
db.myCollection.find() 

这样,就成功设置了MongoDB的ACL。

0