数据库角色
-
read
- 权限:允许用户读取数据库中的数据。
- 用途:适用于需要查看数据但不需要修改的用户。
-
readWrite
-
权限:允许用户读取和修改数据库中的数据。
- 用途:适用于大多数应用程序用户,需要对数据进行增删改查操作。
-
-
dbAdmin
-
权限:管理数据库的操作,如创建和删除索引、收集统计信息等。
- 用途:适用于数据库管理员,负责数据库维护。
-
-
userAdmin
- 权限:管理数据库中的用户角色和权限。
- 用途:适用于需要创建、删除或修改用户权限的管理员。
-
dbOwner
- 权限:拥有数据库的所有权限,包括读写、管理索引和用户。
- 用途:适用于对数据库进行全面管理的用户。
集群角色
-
clusterAdmin
- 权限:管理整个 MongoDB 集群,包括配置和监控。
- 用途:适用于负责集群管理和维护的高级用户。
-
clusterManager
- 权限:允许用户管理集群的状态和配置。
- 用途:适用于管理集群资源的用户。
-
clusterMonitor
- 权限:监控集群状态,读取相关统计信息。
- 用途:适用于需要监控系统性能但不进行更改的用户。
其他角色
-
readAnyDatabase
- 权限:允许用户在所有数据库中读取数据。
- 用途:适用于需要跨数据库访问数据的用户。
-
readWriteAnyDatabase
- 权限:允许用户在所有数据库中读取和写入数据。
- 用途:适用于需要跨数据库进行读写操作的用户。
-
dbAdminAnyDatabase
- 权限:允许用户在所有数据库中执行管理操作。
- 用途:适用于跨数据库管理的管理员。
权限使用(一定要确认是否切换到对应的数据库)
1、切换到目标数据库
use admin
2、添加用户(默认admin为管理用户,优先添加管理用户)
db.createUser(
{
user: "admin",
pwd: "密码",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
db.createUser(
{
user: "用户名",
pwd: "密码",
roles: [ { role: "用户权限", db: "admin" } ]
}
)
db.createUser(
{
user: "用户名",
pwd: "密码",
roles: [ { role: "用户权限", db: "用户名" } ]
}
)
3、显示用户
show users
db.system.users.find()
4、显示表集合
show collections
5、认证:显示1表示成功
db.auth("用户名","密码")
6、删除用户
db.dropUser("用户名")
7、更新用户权限
db.updateUser("用户", { roles: [ { role: "用户权限", db: "数据库" }, { role: "用户权限", db: "数据库" } ] })