mongodb权限设置

MongoDB的权限管理可以通过角色授予用户访问MongoDB资源的权限。管理员可以使用许多内置角色来控制对MongoDB系统的访问,如果这些角色无法描述所需的特权集,则可以在特定数据库中创建新角色。除了在 admin 数据库中创建的角色之外,角色只能包含适用于其数据库的特权,并且只能从其数据库中的其他角色继承。

MongoDB访问控制权限简介

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。内容未经允许不得转载,或转载时需注明来源: 快上网