我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何创建mongodb用户与角色使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何创建mongodb用户与角色使用

本篇文章为大家展示了如何创建mongodb用户与角色使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一.mongodb内部角色

1.数据库用户角色

read      --读取数据库对像的权限

readWrite   --读取和修改数据库对像权限

2.数据库管理角色

dbAdmin   --执行管理任务角色

dbOwner   --数据库所有者,可以对数据库所有操作

userAdmin   --当前数据库上创建,修改角色和用户功能

3.集群管理角色

clusterAdmin          --集群管理员

clusterManager      --管理集群和监控

clusterMonitor       --监控集群和只读访问

hostManager         --监控和管理服务器功能

4.备份恢复角色

backup    --备份数据最小权限

restore    --恢复权限

5.所有数据库角色

readAnyDatabase   --只读所有数据库角色

readWriteAnyDatabase     --读写所有数据库

userAdminAnyDatabase   --除local之外的所有数据库相同的用户管理操作访问权限

dbAdminAnyDatabase      --除local之外的所有数据库相同的权限

6.超级用户角色

root         --提供所有资源readWriteAnyDatabase,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdmin,restore,backup

7.内部角色

__system       --提供对数据库中的任何对象执行任何操作的权限

二.自定义角色

1.自定义角色格式

{
  role: "<name>",
  privileges: [
     { resource: { <resource> }, actions: [ "<action>", ... ] },
     ...
  ],
  roles: [
     { role: "<role>", db: "<database>" } | "<role>",
      ...
  ],
  authenticationRestrictions: [
    {
      clientSource: ["<IP>" | "<CIDR range>", ...],
      serverAddress: ["<IP>" | "<CIDR range>", ...]
    },
    ...
  ]
}

2.自定义角色(对config库所有表可以增删改查,对users库usersCollection表更新,插入,删除,对所有数据库有查找权限)

> use admin
switched to db admin
> db.createRole(
   {
     role: "wuhan123",       --角色名
     privileges: [
       { resource: { db: "config", collection: "" }, actions: [ "find", "update", "insert", "remove" ] },
       { resource: { db: "users", collection: "usersCollection" }, actions: [ "update", "insert", "remove" ] },
       { resource: { db: "", collection: "" }, actions: [ "find" ] }
     ],
     roles: [
       { role: "read", db: "admin" }
     ]
   }
)
>

3.列出角色和删除角色

> db.getRole("wuhan123")   --显示单个角色信息(wuhan123是角色名)
{
"role" : "wuhan123",
"db" : "admin",
"isBuiltin" : false,
"roles" : [
{
"role" : "read",
"db" : "admin"
}
],
"inheritedRoles" : [
{
"role" : "read",
"db" : "admin"
}
]
}
> db.getRoles()     --显示当前库所有角色
[
	{
		"role" : "wuhan123",
		"db" : "admin",
		"isBuiltin" : false,
		"roles" : [
			{
				"role" : "read",
				"db" : "admin"
			}
		],
		"inheritedRoles" : [
			{
				"role" : "read",
				"db" : "admin"
			}
		]
	}
]
> db.dropRole("wuhan123");     --删除角色
true
> db.dropAllRoles();       --删除所有角色
NumberLong(1)
>

三.创建用户并使用角色

1.创建用户格式

{
  user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ],
  authenticationRestrictions: [
     {
       clientSource: ["<IP>" | "<CIDR range>", ...]
       serverAddress: ["<IP>" | "<CIDR range>", ...]
     },
     ...
  ],
  mechanisms: [ "<SCRAM-SHA-1|SCRAM-SHA-256>", ... ],
  passwordDigestor: "<server|client>"
}

2.创建用户使用角色

> use tong     --进入数据库
switched to db tong  
> db.createUser(   
...    {
...      user: "u_tong",       --指定用户名
...      pwd: "system123",     --指定密码
...      roles: [ "readWrite", "dbAdmin" ]     --使用数据库中的角色
...    }
... )
Successfully added user: { "user" : "u_tong", "roles" : [ "readWrite", "dbAdmin" ] }
>

2.创建用户指定来源IP和目标IP

> use tong
switched to db tong
> db.createUser(
   {
     user: "u1_tong",    --用户名
     pwd: "system123",   --密码
     roles: [ { role: "readWrite", db: "tong" } ],   --角色
     authenticationRestrictions: [ {
        clientSource: ["192.168.1.10"],    --客户端IP
        serverAddress: ["192.168.1.20"]    --服务端IP
     } ]
   }
)>

3.查看用户和删除用户

> db.getUsers();      --查看当前数据库所有用户
[
{
"_id" : "tong.u1_tong",
"user" : "u1_tong",
"db" : "tong",
"roles" : [
{
"role" : "readWrite",
"db" : "tong"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
},
{
"_id" : "tong.u_tong",
"user" : "u_tong",
"db" : "tong",
"roles" : [
{
"role" : "readWrite",
"db" : "tong"
},
{
"role" : "dbAdmin",
"db" : "tong"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
]
> db.getUser("u_tong");     --查看指定用户
{
	"_id" : "tong.u_tong",
	"user" : "u_tong",
	"db" : "tong",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "tong"
		},
		{
			"role" : "dbAdmin",
			"db" : "tong"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}
> db.dropUser("u_tong");    --删除单个用户
true
> db.dropAllUsers();        --删除当前库所有用户
NumberLong(1)
>

4.将角色授权给用户

> db.grantRolesToUser(
   "u_tong",[ "readWrite" , { role: "read", db: "tong" } ],
> )

上述内容就是如何创建mongodb用户与角色使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何创建mongodb用户与角色使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用MySQL创建买菜系统的用户角色表

如何使用MySQL创建买菜系统的用户角色表在一个买菜系统中,用户角色是非常重要的一部分,它可以决定用户在系统中的权限和功能。为了更好地管理用户角色,我们可以使用MySQL数据库来创建一个用户角色表。下面将以具体的代码示例来介绍如何使用MyS
如何使用MySQL创建买菜系统的用户角色表
2023-11-01

如何实现MySQL中创建用户角色的语句?

MySQL是一种广泛使用的关系型数据库管理系统,其中包括了用户角色的管理系统,可以为不同的用户授权不同的权限,以此来保证数据库的安全性。在MySQL中,我们可以通过创建用户角色来实现数据库授权。用户角色可以被分配给一个或多个用户,以授予他们
如何实现MySQL中创建用户角色的语句?
2023-11-08

如何在 MongoDB v3 中创建用户?

要在 MongoDB v3 中创建用户,请使用 createUser() 方法。这允许您创建用户,并且在创建时还需要添加用户、密码和角色。这些角色分配权限。语法如下 -use admindb.createUser({user: &ldqu
2023-10-22

如何在MySQL中创建买菜系统的用户角色权限表

如何在MySQL中创建买菜系统的用户角色权限表买菜系统是一个常见的线上购物平台,为了确保系统的安全性和数据的隐私性,需要对系统的用户角色权限进行管理。在MySQL数据库中,可以通过创建用户角色权限表来实现对用户权限的管理。用户角色权限表主要
如何在MySQL中创建买菜系统的用户角色权限表
2023-11-01

mongodb如何新建用户

在mongo shell里执行简单命令就可以创建用户 第一步 选择数据库 use [database]   第二步 创建用户名密码 db.createUser({user:"root",pwd:"xxxxxx", roles: [{role: "re
mongodb如何新建用户
2020-08-18

[学习笔记] Oracle创建用户、分配权限、设置角色

创建用户create user student --用户名 identified by "123456" --密码 default tablespace USERS --表空间名 temporary tablespace t
[学习笔记] Oracle创建用户、分配权限、设置角色
2015-12-27

Linux下如何创建与删除用户

小编给大家分享一下Linux下如何创建与删除用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们在Linux下创建用户主要有两种方式:adduser和usera
2023-06-15

oracle如何创建用户

在 oracle 数据库中创建用户需要以下步骤:1. 连接到数据库;2. 使用 create user 语法创建用户;3. 可选地授予权限;4. 可选地设置默认表空间;5. 可选地设置默认临时表空间;6. 可选地更改用户密码;7. 可选地删
oracle如何创建用户
2024-06-12

MongoDB中如何创建一个仅供读取的用户

在MongoDB中,可以通过以下步骤创建一个仅供读取的用户:打开MongoDB的命令行终端或者MongoDB Compass等管理工具。切换到admin数据库,执行以下命令:use admin创建一个新用户,指定只读权限:db.create
MongoDB中如何创建一个仅供读取的用户
2024-04-19

创建 Azure AD 用户时如何使用 GO SDK?

从现在开始,努力学习吧!本文《创建 Azure AD 用户时如何使用 GO SDK?》主要讲解了等等相关知识点,我会在编程网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!问题内容想要
创建 Azure AD 用户时如何使用 GO SDK?
2024-04-05

win11如何创建新用户

今天小编给大家分享一下win11如何创建新用户的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。第一步,右键“此电脑”,打开“管
2023-07-02

编程热搜

目录