首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MongoDB-角色及权限介绍

MongoDB-角色及权限介绍

作者头像
运维小路
发布2026-01-26 12:49:03
发布2026-01-26 12:49:03
1020
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

数据库是一个系统(应用)最重要的资产之一,所以我们的数据库将从以下几个数据库来进行介绍。

MySQL

PostgreSQL

MongoDB(本章节)

Redis

Etcd

我们在前面介绍了MongoDB的安装,但是并没有权限认证,我们直接进入就可以当成超级管理员来使用。今天这个小节我们就来介绍他的关于用户和认证的相关概念。

一、核心概念:身份验证 vs. 授权

  1. 身份验证: 验证“你是谁?”。就像你用用户名和密码登录系统,MongoDB 用它来确认连接者的身份。
  2. 授权: 验证“你能做什么?”。一旦确认了你的身份,MongoDB 会根据你被授予的角色 来决定你能够执行哪些操作(如读、写、创建数据库等)。

二、权限的核心:角色

角色是一组权限的集合。权限是允许在指定资源上执行指定操作的凭证。

MongoDB 提供了两大类角色:

1. 内建角色:MongoDB 预定义了许多常用角色,开箱即用。
代码语言:javascript
复制
use admin
show roles
上面这个命令会列出所有的系统自带的角色,包括但步限于下面这些。
  • 数据库用户角色
    • read: 授予指定数据库的只读权限。
    • readWrite: 授予指定数据库的读写权限。
  • 数据库管理角色
    • dbAdmin: 执行管理任务,如创建索引、管理集合,但不包括和用户/角色相关的操作。
    • userAdmin: 在当前数据库上创建和修改用户和角色。拥有此角色基本上可以完全控制该数据库的访问权,因为它可以提升任何用户的权限。
    • dbOwner: 该数据库的所有者,拥有 readWritedbAdminuserAdmin 角色的联合权限。
  • 集群管理角色
    • clusterAdmin: 最高的集群管理权限。包括 clusterManager, clusterMonitor, 和 hostManager 角色以及 dropDatabase 动作。
    • clusterMonitor: 提供对监控工具(如 mongostat)的只读访问权限。
  • 备份与恢复角色
    • backuprestore
  • 全库管理员角色
    • userAdminAnyDatabase: 在除 configlocal 之外的所有数据库上提供 userAdmin 权限。
    • readWriteAnyDatabase: 在除 configlocal 之外的所有数据库上提供 readWrite 权限。
    • readAnyDatabase: 在除 configlocal 之外的所有数据库上提供 read 权限。
    • dbAdminAnyDatabase: 在除 configlocal 之外的所有数据库上提供 dbAdmin 权限。
  • 超级用户角色
    • root提供所有资源的全部权限。这是最强大的角色,相当于系统管理员。root 用户可以做任何事情。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MongoDB(本章节)
    • 一、核心概念:身份验证 vs. 授权
    • 二、权限的核心:角色
      • 1. 内建角色:MongoDB 预定义了许多常用角色,开箱即用。
      • 上面这个命令会列出所有的系统自带的角色,包括但步限于下面这些。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档