在MongoDB中,可以通过角色(Roles)和访问控制列表(ACLs)来管理用户权限,以下是设置ACL的方法:
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。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/634969.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复