mongo資料庫-mongo角色許可權

Built-In Roles(內置角色):
1. 資料庫用戶角色:read、readWrite;
2. 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級用戶角色:root
// 這裡還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system
具體角色的功能:
Read:允許用戶讀取指定資料庫
readWrite:允許用戶讀寫指定資料庫
dbAdmin:允許用戶在指定資料庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定資料庫里創建、刪除和管理用戶
clusterAdmin:只在admin資料庫中可用,賦予用戶所有分片和複製集相關函數的管理許可權。
readAnyDatabase:只在admin資料庫中可用,賦予用戶所有資料庫的讀許可權
readWriteAnyDatabase:只在admin資料庫中可用,賦予用戶所有資料庫的讀寫許可權
userAdminAnyDatabase:只在admin資料庫中可用,賦予用戶所有資料庫的userAdmin許可權
dbAdminAnyDatabase:只在admin資料庫中可用,賦予用戶所有資料庫的dbAdmin許可權。
root:只在admin資料庫中可用。超級帳號,超級許可權

創建所有資料庫管理用戶
use admin
db.createUser({ user: “useradmin”, pwd: “adminpassword”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” }] })
給test123庫創建普通用戶
use test123
db.createUser({user:’testuser’,pwd:’password’,roles:[‘readWrite’]})
給test123庫增加許可權
use test123
db.grantRolesToUser(
“testuser”,
[ “executeFunctions”]
)
給test123刪除用戶
use test123
db.dropUser(‘testuser’)

要想了解測開更多的技巧,或者想和更多大神交流,加入qq群