MongoDB采用基於角色的訪問控制(RBAC)來確定用戶的訪問。 授予用戶一個或多個角色,確定用戶對MongoDB資源的訪問權限和用戶可以執行哪些操作。 用戶應該只有最小權限集才能確保最小權限的系統。
MongoDB系統的每個應用程序和用戶都應該映射到不同的用戶。 這種訪問隔離便於訪問撤銷和持續的用戶維護。
創建管理員用戶
要在MongoDB部署中創建用戶,請連接到部署,然后使用db.createUser()方法或createUser命令添加用戶。
> use admin
> db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
)
添加數據庫用戶
創建指定數據庫的用戶,該用戶只能訪問該數據庫。也可以為此數據庫上的用戶指定訪問級別。 例如,創建一個在data數據庫上具有讀寫訪問權限的用戶帳戶。
> use data
> db.createUser(
{
user: "user01",
pwd: "123456",
roles: ["readWrite"]
}
)
驗證身份驗證使用以下命令。 返回結果為1,表示認證成功。
列出數據庫的所有用戶
刪除數據庫用戶
創建帶角色的用戶
test數據庫中創建用戶:mynewuser,並向用戶提供readWrite和dbAdmin角色。
use test
db.createUser(
{
user: "mynewuser",
pwd: "myuser123",
roles: [ "readWrite", "dbAdmin" ]
}
);
創建帶角色的管理用戶
管理數據庫中創建一個名為 myadmin1 的用戶,並給予用戶對config數據庫的 readWrite 訪問權限,這樣可以讓用戶更改分片分區的某些設置,例如平衡器設置。
use admin
db.createUser(
{
user: "myadmin1",
pwd: "myadmin123",
roles:
[
{ role: "readWrite", db: "config" },
"clusterAdmin"
]
}
);//原文出自【易百教程】,商業轉載請聯系作者獲得授權,非商業請保留原文鏈接:https://www.yiibai.com/mongodb/create-users.html#article-start
use admin
db.createUser(
{
user: "myadmin1",
pwd: "myadmin123",
roles:
[
{ role: "readWrite", db: "config" },
"clusterAdmin"
]
}
);
權限
權限由指定的數據庫資源(resource)以及允許在指定資源上進行的操作(action)組成。
- 資源(resource)包括:數據庫、集合、部分集合和集群;
- 操作(action)包括:對資源進行的增、刪、改、查(CRUD)操作。
常用的內置角色