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

数据库是一个系统(应用)最重要的资产之一,所以我们的数据库将从以下几个数据库来进行介绍。
MySQL
PostgreSQL
Redis
Etcd
我们在前面介绍了MongoDB的安装,但是并没有权限认证,我们直接进入就可以当成超级管理员来使用。今天这个小节我们就来介绍他的关于用户和认证的相关概念。
角色是一组权限的集合。权限是允许在指定资源上执行指定操作的凭证。
MongoDB 提供了两大类角色:
use admin
show rolesread: 授予指定数据库的只读权限。readWrite: 授予指定数据库的读写权限。dbAdmin: 执行管理任务,如创建索引、管理集合,但不包括和用户/角色相关的操作。userAdmin: 在当前数据库上创建和修改用户和角色。拥有此角色基本上可以完全控制该数据库的访问权,因为它可以提升任何用户的权限。dbOwner: 该数据库的所有者,拥有 readWrite、dbAdmin 和 userAdmin 角色的联合权限。clusterAdmin: 最高的集群管理权限。包括 clusterManager, clusterMonitor, 和 hostManager 角色以及 dropDatabase 动作。clusterMonitor: 提供对监控工具(如 mongostat)的只读访问权限。backup、restoreuserAdminAnyDatabase: 在除 config 和 local 之外的所有数据库上提供 userAdmin 权限。readWriteAnyDatabase: 在除 config 和 local 之外的所有数据库上提供 readWrite 权限。readAnyDatabase: 在除 config 和 local 之外的所有数据库上提供 read 权限。dbAdminAnyDatabase: 在除 config 和 local 之外的所有数据库上提供 dbAdmin 权限。root: 提供所有资源的全部权限。这是最强大的角色,相当于系统管理员。root 用户可以做任何事情。