广告
返回顶部
首页 > 资讯 > 数据库 >如何创建mongodb用户与角色使用
  • 362
分享到

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

2024-04-02 19:04:59 362人浏览 泡泡鱼
摘要

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

本篇文章为大家展示了如何创建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用户与角色使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何创建mongodb用户与角色使用

本文链接: https://www.lsjlt.com/news/61418.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何创建mongodb用户与角色使用
    本篇文章为大家展示了如何创建mongodb用户与角色使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一.mongodb内部角色1.数据库用户角色read ...
    99+
    2022-10-18
  • 如何使用MySQL创建买菜系统的用户角色表
    如何使用MySQL创建买菜系统的用户角色表在一个买菜系统中,用户角色是非常重要的一部分,它可以决定用户在系统中的权限和功能。为了更好地管理用户角色,我们可以使用MySQL数据库来创建一个用户角色表。下面将以具体的代码示例来介绍如何使用MyS...
    99+
    2023-11-01
    MySQL 创建 买菜系统 用户角色表
  • 如何实现MySQL中创建用户角色的语句?
    MySQL是一种广泛使用的关系型数据库管理系统,其中包括了用户角色的管理系统,可以为不同的用户授权不同的权限,以此来保证数据库的安全性。在MySQL中,我们可以通过创建用户角色来实现数据库授权。用户角色可以被分配给一个或多个用户,以授予他们...
    99+
    2023-11-08
    MySQL 语句 创建 用户角色
  • 如何在linux创建mongodb用户
    在linux创建mongodb用户的方法:1、打开linux终端;2、使用cd命令切换到mongodb安装目录的bin文件夹下;3、使用“./mongod -shutdown -dbpath=usr/local/mongodb/data”命...
    99+
    2022-10-04
  • 如何在 MongoDB v3 中创建用户?
    要在 MongoDB v3 中创建用户,请使用 createUser() 方法。这允许您创建用户,并且在创建时还需要添加用户、密码和角色。这些角色分配权限。语法如下 -use admin db.createUser( { ...
    99+
    2023-10-22
  • 如何在MySQL中创建买菜系统的用户角色权限表
    如何在MySQL中创建买菜系统的用户角色权限表买菜系统是一个常见的线上购物平台,为了确保系统的安全性和数据的隐私性,需要对系统的用户角色权限进行管理。在MySQL数据库中,可以通过创建用户角色权限表来实现对用户权限的管理。用户角色权限表主要...
    99+
    2023-11-01
    MySQL 用户角色 权限表
  • [学习笔记] Oracle创建用户、分配权限、设置角色
    创建用户 create user student --用户名 identified by "123456" --密码 default tablespace USERS --表空间名 tem...
    99+
    2015-12-27
    [学习笔记] Oracle创建用户 分配权限 设置角色
  • 如何使用MySQL 8.0用户和角色管理
    这篇文章主要为大家展示了如何使用MySQL 8.0用户和角色管理,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。MySQL8.0新加了很多功能,其中在用户管理中...
    99+
    2022-10-18
  • 解决oracle12c创建用户提示ORA-65096:公用用户名或角色无效问题
    1.背景 以前一直用的是oracle11g,创建用户一直没有问题, 今天在oracle12c上创建用户,报错了。如下图: 我很郁闷, 就打开了oracle官方网站找了下, 发现创建用户是有限制的。 2.解...
    99+
    2022-10-18
  • 如何使用css创建三角形
    本篇内容介绍了“如何使用css创建三角形”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先要和大家分享的是...
    99+
    2022-10-19
  • mongodb如何新建用户
    ...
    99+
    2020-08-18
    mongodb如何新建用户
  • Linux下如何创建与删除用户
    小编给大家分享一下Linux下如何创建与删除用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们在Linux下创建用户主要有两种方式:adduser和usera...
    99+
    2023-06-15
  • 如何使用MySQL角色管理
    这篇文章主要讲解了“如何使用MySQL角色管理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用MySQL角色管理”吧!1 配置 proxymysql&...
    99+
    2022-10-18
  • sqlserver如何实现查询用户角色脚本
    这篇文章主要介绍了sqlserver如何实现查询用户角色脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 查...
    99+
    2022-10-18
  • 如何进行Oracle用户角色权限管理
    这篇文章将为大家详细讲解有关如何进行Oracle用户角色权限管理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 1、查看所有用户...
    99+
    2022-10-19
  • mysql如何创建用户
    mysql如何创建用户?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mysql如何创建用户创建用户命令:CREATE USER '...
    99+
    2022-10-18
  • 如何实现MySQL中授权用户角色的语句?
    在MySQL数据库中,用户需要授予特定的权限来访问和操作数据库中的对象,例如表、视图、存储过程等等。对于大型数据库系统,管理和维护访问和权限变得非常困难,因此引入了用户角色概念。在本文中,我们将介绍如何在MySQL数据库中实现授权用户角色的...
    99+
    2023-11-09
    MySQL 授权 用户角色
  • 如何实现MySQL中删除用户角色的语句?
    如何实现MySQL中删除用户角色的语句?在MySQL中,我们可以通过使用GRANT和REVOKE语句来授予和撤销用户的角色权限。要删除用户角色,可以使用REVOKE语句来取消用户的特定角色权限。下面是一个具体的代码示例,演示如何删除MySQ...
    99+
    2023-11-09
    删除用户角色MySQL 用户角色删除SQL MySQL用户角色操作
  • Spring Security如何为用户示例添加角色详解
    目录前言1. 用户和角色实体类和存储库的代码2. 单元测试——创建角色  3. 单元测试——给用户添加角色4. 为注册用户设...
    99+
    2022-11-13
  • 如何实现MySQL中查看用户角色的语句?
    MySQL是一种灵活、可扩展的关系型数据库系统,它常用于开发Web应用程序和支持大型企业应用程序。当我们在开发或维护MySQL数据库时,有时需要查看用户角色来分配或取消权限。在本文中,我们将介绍如何使用MySQL语句来查看用户角色。1.查看...
    99+
    2023-11-08
    MySQL 用户角色 查看语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作