mongo用户、角色、权限之间的关系
用户拥有多个角色,角色拥有多个权限,典型的多对多关系。
给用户只能分配角色,给角色只能分配权限。
可以创建自定义角色,赋予权限
以下两张图详细解释默认mongo-4.**角色权限
每个角色可以使用的命令
角色名称:read 可使用的命令
changeStream
collStats
dbHash
dbStats
find
killCursors
listIndexes
listCollections
角色名称:readWrite 可使用的命令
collStats
convertToCapped
createCollection
dbHash
dbStats
dropCollection
createIndex
dropIndex
find
insert
killCursors
listIndexes
listCollections
remove
renameCollectionSameDB
update
这里简单列出常用的两个角色可以使用的命令,其他角色可使用命令参考官方文档:https://docs.mongodb.com/manual/reference/built-in-roles/
创建用户并且授予角色:
创建用户,用户名为read,密码为read,授予read角色,获得demo数据库的读取权限
db.createUser({
'user': 'read',
'pwd': 'read',
'roles': [{
'role': 'read',
'db': 'demo'
}]
})
更新用户密码及权限:更新read用户,密码为read。获得demo和role数据库的读取权限
db.updateUser(
"read",
{
pwd: 'read', // or cleartext password
customData: {
title: "Senior Manager"
},
roles: [{
role: "read",
db: "demo"
}, {
role: "read",
db: "role"
}]
}
)
删除用户
db.dropUser(“read”)