下载吧 - 绿色安全的游戏和软件下载中心

软件下载吧

当前位置:软件下载吧 > 数据库 > DB2 > 分享分布式文档存储数据库MongoDB访问控制的操作

分享分布式文档存储数据库MongoDB访问控制的操作

时间:2024-02-07 12:09作者:下载吧人气:25

  上一篇博客主要聊了下分布式文档存储数据库之MongoDB备份与恢复,回顾请参考;今天我们来了解下mongodb的访问控制;

  什么是访问控制?

  简单讲访问控制就是指,哪些用户可以访问哪些资源,对资源有哪些操作(权限);在mongodb中我们把数据库、或者集合叫做资源;也就说访问控制是用来限制某些用户对数据库或集合的操作;我们在mysql数据库中,我们通过给账号授权的方式达到控制哪些用户可以从哪些主机访问数据库,对数据库有哪些操作;其中账号由用户名称和主机地址构成;在mongodb中采用的不是用户+主机地址的方式,而是通过给用户赋予一个或多个角色,这个角色或多个角色的所有权限就是这个用户拥有的权限;默认情况mongodb是没有启用访问控制的,所以只要能够连接上mongodb实例,我们就可以在其上做任何操作,在某种程度上,这是一种极为不安全的方式,为了杜绝这种不安全的访问方式,我们需要对mongodb进行访问控制;

  mongodb中的角色权限说明

  mongodb默认内置了一些角色,不同的角色拥有不同的权限,如下图

分享分布式文档存储数据库MongoDB访问控制的操作

  查看mongodb中某个数据库所有内置角色

> db.runCommand({rolesInfo:1,showBuiltinRoles:true})
{
“roles” : [
{
“role” : “dbAdmin”,
“db” : “test”,
“isBuiltin” : true,
“roles” : [ ],
“inheritedRoles” : [ ]
},
{
“role” : “dbOwner”,
“db” : “test”,
“isBuiltin” : true,
“roles” : [ ],
“inheritedRoles” : [ ]
},
{
“role” : “enableSharding”,
“db” : “test”,
“isBuiltin” : true,
“roles” : [ ],
“inheritedRoles” : [ ]
},
{
“role” : “read”,
“db” : “test”,
“isBuiltin” : true,
“roles” : [ ],
“inheritedRoles” : [ ]
},
{
“role” : “readWrite”,
“db” : “test”,
“isBuiltin” : true,
“roles” : [ ],
“inheritedRoles” : [ ]
},
{
“role” : “userAdmin”,
“db” : “test”,
“isBuiltin” : true,
“roles” : [ ],
“inheritedRoles” : [ ]
}
],
“ok” : 1
}
>

标签MongoDB,技术文档,数据库,MongoDB

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

热门阅览

最新排行

公众号