新聞中心
MongoDB訪問控制權(quán)限簡(jiǎn)介
MongoDB是一個(gè)高性能、開源、無模式的文檔型數(shù)據(jù)庫,廣泛應(yīng)用于各種規(guī)模的應(yīng)用場(chǎng)景,在實(shí)際應(yīng)用中,為了保證數(shù)據(jù)的安全和合規(guī)性,我們需要對(duì)MongoDB進(jìn)行訪問控制權(quán)限的設(shè)置,訪問控制權(quán)限主要包括用戶管理、角色管理、權(quán)限管理等,本文將詳細(xì)介紹如何設(shè)置MongoDB的訪問控制權(quán)限。

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有鞍山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
創(chuàng)建用戶
1、登錄MongoDB Shell
我們需要使用管理員賬戶登錄MongoDB Shell,在命令行中輸入以下命令:
mongo
2、創(chuàng)建用戶
在MongoDB Shell中,我們可以使用db.createUser()方法創(chuàng)建一個(gè)新用戶,我們可以創(chuàng)建一個(gè)名為myUser,密碼為myPassword的用戶:
use admin
db.createUser({
user: "myUser",
pwd: "myPassword",
roles: [{ role: "readWrite", db: "myDatabase" }]
})
roles字段表示用戶的角色,在這個(gè)例子中,我們?yōu)橛脩舴峙淞?code>readWrite角色,表示該用戶可以在myDatabase數(shù)據(jù)庫中進(jìn)行讀寫操作,其他可選的角色有:read(只讀)、readAnyDatabase(任意數(shù)據(jù)庫讀)、dbAdminAnyDatabase(任意數(shù)據(jù)庫管理員)等。
創(chuàng)建角色
1、創(chuàng)建角色集合
在MongoDB中,角色是通過角色集合來管理的,我們可以使用以下命令創(chuàng)建一個(gè)名為myRoles的角色集合:
use admin
db.createCollection("myRoles")
2、添加角色
接下來,我們可以使用db.users.insert()方法向myRoles集合中插入一個(gè)新角色,我們可以創(chuàng)建一個(gè)名為myRole,允許用戶進(jìn)行讀寫操作的角色:
db.myRoles.insert({user: "myUser", roles: ["readWrite"]})
設(shè)置權(quán)限范圍
1、創(chuàng)建數(shù)據(jù)庫級(jí)權(quán)限集合(RBAC)系統(tǒng)
要啟用基于角色的訪問控制(RBAC),我們需要首先在MongoDB中創(chuàng)建一個(gè)名為system.roles的集合,并為每個(gè)角色分配相應(yīng)的權(quán)限,我們可以為myUser分配以下權(quán)限:
use admin
db.system.roles.insert({role: "readWrite", db: "admin"}) // 為admin數(shù)據(jù)庫分配讀寫權(quán)限
db.system.roles.insert({role: "readAnyDatabase", db: "admin"}) // 為admin數(shù)據(jù)庫分配任意數(shù)據(jù)庫讀權(quán)限
2、將角色添加到數(shù)據(jù)庫中
接下來,我們需要將之前創(chuàng)建的角色添加到相應(yīng)的數(shù)據(jù)庫中,我們可以將myRole添加到myDatabase數(shù)據(jù)庫中:
use myDatabase
db.getSiblingDB("admin").system.roles.findOneAndUpdate({name: "myRole"}, {$addToSet: {"members": "myUser"}}) // 將myUser添加到myRole的成員列表中
相關(guān)問題與解答
1、如何刪除一個(gè)用戶?
答:db.dropUser("username"),其中username是要?jiǎng)h除的用戶名,要?jiǎng)h除名為myUser的用戶,可以執(zhí)行以下命令:
use admin
db.dropUser("myUser")
當(dāng)前標(biāo)題:mongodb權(quán)限設(shè)置
轉(zhuǎn)載來源:http://m.5511xx.com/article/cdgegce.html


咨詢
建站咨詢
