MongoDB是一个高性能、开源、无模式的文档型数据库,广泛应用于各种规模的应用场景,在实际应用中,为了保证数据的安全和合规性,我们需要对MongoDB进行访问控制权限的设置,访问控制权限主要包括用户管理、角色管理、权限管理等,本文将详细介绍如何设置MongoDB的访问控制权限。
10年积累的网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有鞍山免费网站建设让你可以放心的选择与我们合作。
1、登录MongoDB Shell
我们需要使用管理员账户登录MongoDB Shell,在命令行中输入以下命令:
mongo
2、创建用户
在MongoDB Shell中,我们可以使用db.createUser()
方法创建一个新用户,我们可以创建一个名为myUser
,密码为myPassword
的用户:
use admin db.createUser({ user: "myUser", pwd: "myPassword", roles: [{ role: "readWrite", db: "myDatabase" }] })
roles
字段表示用户的角色,在这个例子中,我们为用户分配了readWrite
角色,表示该用户可以在myDatabase
数据库中进行读写操作,其他可选的角色有:read
(只读)、readAnyDatabase
(任意数据库读)、dbAdminAnyDatabase
(任意数据库管理员)等。
1、创建角色集合
在MongoDB中,角色是通过角色集合来管理的,我们可以使用以下命令创建一个名为myRoles
的角色集合:
use admin db.createCollection("myRoles")
2、添加角色
接下来,我们可以使用db.users.insert()
方法向myRoles
集合中插入一个新角色,我们可以创建一个名为myRole
,允许用户进行读写操作的角色:
db.myRoles.insert({user: "myUser", roles: ["readWrite"]})
1、创建数据库级权限集合(RBAC)系统
要启用基于角色的访问控制(RBAC),我们需要首先在MongoDB中创建一个名为system.roles
的集合,并为每个角色分配相应的权限,我们可以为myUser
分配以下权限:
use admin db.system.roles.insert({role: "readWrite", db: "admin"}) // 为admin数据库分配读写权限 db.system.roles.insert({role: "readAnyDatabase", db: "admin"}) // 为admin数据库分配任意数据库读权限
2、将角色添加到数据库中
接下来,我们需要将之前创建的角色添加到相应的数据库中,我们可以将myRole
添加到myDatabase
数据库中:
use myDatabase db.getSiblingDB("admin").system.roles.findOneAndUpdate({name: "myRole"}, {$addToSet: {"members": "myUser"}}) // 将myUser添加到myRole的成员列表中
1、如何删除一个用户?
答:db.dropUser("username")
,其中username
是要删除的用户名,要删除名为myUser
的用户,可以执行以下命令:
use admin db.dropUser("myUser")
网站名称:mongodb权限设置
标题路径:http://www.csdahua.cn/qtweb/news0/307700.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网