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

mongodb权限管理

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

mongodb权限管理

今晚苦逼加班,就稍微梳理下mongodb的权限境配置,在安装配置好一套mongodb后,需要创建相应的数据库和用户密码给开发人员,那么权限改如何设置呢?


1.首先要创建数据库

use chunqiu

2.创建用户授予权限,在创建用户之前首先了解下mongodb中的role功能,那么admin数据库中有哪些role 呢?


查看role:

use admin

PRIMARY> show roles
{
     "role" : "__system",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "backup",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "clusterAdmin",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "clusterManager",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "clusterMonitor",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "dbAdmin",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "dbAdminAnyDatabase",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "dbOwner",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "enableSharding",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "hostManager",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "read",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "readAnyDatabase",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "readWrite",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "readWriteAnyDatabase",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "restore",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "root",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "userAdmin",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "userAdminAnyDatabase",
     "db" : "admin",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}


那么chunqiu的库有哪些role呢?

use chunqiu

PRIMARY> show roles
{
     "role" : "dbAdmin",
     "db" : "chunqiu",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "dbOwner",
     "db" : "chunqiu",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "enableSharding",
     "db" : "chunqiu",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "read",
     "db" : "chunqiu",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "readWrite",
     "db" : "chunqiu",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}
{
     "role" : "userAdmin",
     "db" : "chunqiu",
     "isBuiltin" : true,
     "roles" : [ ],
     "inheritedRoles" : [ ]
}

3.看完了mongodb的role后是不是感觉豁然开朗?那么现在就创建用户吧:

use chunqiu
db.createUser(
   {
     user: "app_user",
     pwd: "app#password",
     roles:
     [
       {
         role: "dbOwner",     ##数据库权限的role选择dbOwner
         db: "chunqiu"           ##注意此处数据验证使用chunqiu库
       }
     ]
   }
)

如果要建只读账号:
use chunqiu
db.createUser(
   {
     user: "app_user_read",
     pwd: "read#password",
     roles:
     [
       {
         role: "read",                    ##数据库权限的role选择read
         db: "chunqiu"
       }
     ]
   }
)


查看已经创建的用户:

show users

修改密码:

db.changeUserPassword('app_user','password');

授予角色:
db.grantRolesToUser( "admin" , [ { role: "dbAdminAnyDatabase", db: "admin" } ])
 
取消角色:
db.revokeRolesFromUser( "admin" , [ { role: "dbAdminAnyDatabase", db: "admin" } ])


4.最后你可以把创建的账号和密码发给开发人员使用了。

免责声明:

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

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

mongodb权限管理

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

下载Word文档

猜你喜欢

MongoDB数据库权限管理详解

前几天网友问MongoDB数据库权限方面的问题。当时大致的了解了一下,这周仔细了解了一下。对于一个数据库不可能随意的访问,肯定要有写访问限制。在了解这个之前首先熟悉下shell客户端。打开shell客户端的方法:mongo.关闭数据库引擎
2022-07-07

mongodb权限管理的方法是什么

MongoDB提供了几种方法来管理权限:内置角色:MongoDB提供了一些内置角色,如read、readWrite、dbAdmin等。这些角色具有特定的权限,可以通过授权用户来使用这些角色。自定义角色:可以创建自定义角色,并为角色分配特定的
2023-10-27

Mongodb用户权限管理及配置详解

这篇文章主要介绍了Mongodb用户权限管理及配置详解,包括Mongodb访问控制配置,Mongodb开启权限验证,Mongodb账户创建,Mongodb账户管理命令需要的朋友可以参考下
2023-01-28

Mongodb 用户权限管理及配置详解

一、MongoDB命令理解 admin 数据库安装 MongoDB 时,会自动创建 admin 数据库,这是一个特殊数据库,提供了普通数据库没有的功能。有些用户角色赋予用户操作多个数据库的权限,而这些角色只能在 admin 数据库中创
2023-01-28
2024-04-02

MongoDB的权限管理与用户认证怎么实现

MongoDB的权限管理和用户认证是通过创建用户和设置角色来实现的。下面是MongoDB权限管理和用户认证的步骤:创建管理员用户:首先,在MongoDB中创建一个管理员用户,用于管理数据库的用户和角色。创建普通用户:使用管理员用户登录Mon
MongoDB的权限管理与用户认证怎么实现
2024-05-07

MYSQL用户权限管理

1.在MySQL中,用户是怎么定义的#mysql中,定义一个用户是:用户名@‘主机域‘#用户名写法:用户名如果是字符:mysql> create user [email protected]‘10.0.0.1‘;用户名是数字需要加引号:mysql> creat
MYSQL用户权限管理
2015-02-26

编程热搜

目录