時間:2024-02-05 12:47作者:下載吧人氣:16
為了強制開啟用戶訪問控制(用戶驗證),則需要在MongoDB
實例啟動時使用選項--auth
或在指定啟動配置文件中添加auth=true
。
MongoDB
使用的是基于角色的訪問控制(Role-Based Access Control,RBAC)
來管理用戶對實例的訪問。通過對用戶授予一個或多個角色來控制用戶訪問數據庫資源的權限和數據庫操作的權限,在對用戶分配角色之前,用戶無法訪問實例。MongoDB
中通過角色對用戶授予相應數據庫資源的操作權限,每個角色當中的權限可以顯示指定,也可以通過集成其他角色的權限,或者兩者都存在的權限。在角色定義時可以包含一個或多個已存在的角色,新創建的角色會繼承包含的角色所有的權限。在同一個數據庫中,新創建角色可以繼承其他角色的權限,在admin
數據庫中創建的角色可以繼承在其它任意數據庫中的角色的權限。
角色權限的查看,可以通過如下的命令進行查看:
# 查詢所有角色權限(僅用戶自定義角色)
> db.runCommand({ rolesInfo: 1 })
# 查詢所有角色權限(包含內置角色)
> db.runCommand({ rolesInfo: 1, showBuiltinRoles: true })
# 查詢當前數據庫中的某角色的權限
> db.runCommand({ rolesInfo: “<rolename>” })
# 查詢其它數據庫中指定的角色權限
> db.runCommand({ rolesInfo: { role: “<rolename>”, db: “<database>” } }
# 查詢多個角色權限
> db.runCommand({
rolesInfo: [
“<rolename>”, { role: “<rolename>”, db: “<database>” },
…
]
})
網友評論