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