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

软件下载吧

当前位置:软件下载吧 > 数据库 > DB2 > 分析MongoDB数据库的安全认证相关知识

分析MongoDB数据库的安全认证相关知识

时间:2024-02-05 12:47作者:下载吧人气:21

一、MongoDB的用户和角色权限简介

为了强制开启用户访问控制(用户验证),则需要在MongoDB实例启动时使用选项--auth或在指定启动配置文件中添加auth=true

  • 启用访问控制:MongoDB使用的是基于角色的访问控制(Role-Based Access Control,RBAC)来管理用户对实例的访问。通过对用户授予一个或多个角色来控制用户访问数据库资源的权限和数据库操作的权限,在对用户分配角色之前,用户无法访问实例。
  • 角色:在MongoDB中通过角色对用户授予相应数据库资源的操作权限,每个角色当中的权限可以显示指定,也可以通过集成其他角色的权限,或者两者都存在的权限。
  • 权限:权限由指定的数据库(resource)以及允许在运行资源上进行的操作(action)组成。资源(resource)包括:数据库、集合、部分集合和集群;操作(action)包括:对资源的增、删、改、查(CRUD)操作。

在角色定义时可以包含一个或多个已存在的角色,新创建的角色会继承包含的角色所有的权限。在同一个数据库中,新创建角色可以继承其他角色的权限,在admin数据库中创建的角色可以继承在其它任意数据库中的角色的权限。

角色权限的查看,可以通过如下的命令进行查看:

# 查询所有角色权限(仅用户自定义角色)
> db.runCommand({ rolesInfo: 1 })

# 查询所有角色权限(包含内置角色)
> db.runCommand({ rolesInfo: 1, showBuiltinRoles: true })

# 查询当前数据库中的某角色的权限
> db.runCommand({ rolesInfo: “<rolename>” })

# 查询其它数据库中指定的角色权限
> db.runCommand({ rolesInfo: { role: “<rolename>”, db: “<database>” } }

# 查询多个角色权限
> db.runCommand({
rolesInfo: [
“<rolename>”, { role: “<rolename>”, db: “<database>” },

]
})

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

相关下载

查看所有评论+

网友评论

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

热门阅览

最新排行

公众号