mongodb怎么创建只读用户

MongoDB简介

MongoDB(简称MBD)是一个开源的NoSQL数据库,基于C++编写,使用BSON(类似于JSON)格式存储数据,MongoDB是一个高可用、高性能、可扩展的数据库,适用于处理大量非结构化或半结构化数据,它支持丰富的查询和聚合操作,以及灵活的数据模型。

成都创新互联服务项目包括漳州网站建设、漳州网站制作、漳州网页制作以及漳州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,漳州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到漳州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

创建只读用户

在MongoDB中,可以通过创建角色并为用户分配角色来实现权限管理,为了确保用户只能访问特定的集合(即数据库中的表),可以将用户分配为只读角色,以下是创建只读用户的步骤:

1、连接到MongoDB服务器

需要连接到MongoDB服务器,可以使用mongo命令行工具或其他MongoDB客户端库(如pymongo、Robo 3T等)连接到服务器。

2、切换到admin数据库

在MongoDB中,所有的数据库操作都需要以管理员身份执行,需要切换到admin数据库,可以使用以下命令切换到admin数据库:

use admin

3、创建只读角色

接下来,需要创建一个只读角色,可以使用以下命令创建一个名为readonly的角色:

db.createRole({
  role: "readOnly",
  privileges: [
    { resource: { db: "test", collection: "*" }, actions: ["find", "read"] }
  ]
})

这里,我们为readonly角色分配了对test数据库中所有集合的查找(find)和读取(read)权限,你可以根据实际需求修改数据库名和集合名。

4、为用户分配只读角色

创建了只读角色后,需要为其分配给一个或多个用户,可以使用以下命令为用户分配只读角色:

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

这里,我们为名为user1的用户分配了只读角色,用户需要知道其密码才能使用该角色,你可以根据实际需求修改用户名和密码。

5、验证用户权限

创建并分配了只读角色后,需要验证用户的权限,可以使用以下命令查看用户的权限:

db.getUser("user1")

输出结果应该包含用户的权限信息,如下所示:

{
  "_id" : ObjectId("..."),
  "user" : "user1",
  "pwd" : "password1",
  "roles" : [{ "role" : "readOnly", "db" : "test" }],
  "createdAt" : ISODate("2022-01-01T00:00:00Z"),
  "updatedAt" : ISODate("2022-01-01T00:00:00Z"),
  "fsSize" : 89762848, // 以字节为单位的文件系统大小(仅适用于MongoDB 4.2及更高版本)
  ...
}

可以看到,用户的权限中包含了只读角色的信息,现在,该用户应该只能访问指定的集合。

文章名称:mongodb怎么创建只读用户
标题链接:http://www.shufengxianlan.com/qtweb/news22/67222.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联