MongoDB 建立使用者
使用 createUser
方法在 MongoDB 中建立使用者管理員。以下示例顯示瞭如何完成此操作。
> db.createUser(
... { user: "Tastones", pwd : "password"
... , roles : [{ role : "userAdminAnyDatabase"
... , db: "admin"}]})
程式碼說明:
- 第一步是指定需要建立的
使用者名稱
和密碼
。 - 第二步是為使用者分配角色。由於它需要是資料庫管理員,在這種情況下我們已經分配了
userAdminAnyDatabase
角色。此角色允許使用者擁有 MongoDB 中所有資料庫的管理許可權。 db
引數指定admin
資料庫,它是 MongoDB 中的一個特殊Meta
資料庫,它儲存該使用者的資訊。
如果命令執行成功,將顯示以下輸出:
輸出:
> db.createUser(
... { user : "Guru99", pwd : "password"
... , roles : [{ role: "userAdminAnyDatabase"
... db: "admin"}]})
Successfully added user: {
"user" : "Guru99".
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
輸出顯示建立了一個名為 Tastones
的使用者,該使用者擁有 MongoDB 中所有資料庫的許可權。
要建立將管理單個資料庫的使用者,我們可以使用上面提到的相同命令,但我們只需要使用 userAdmin
選項。
以下示例說明了如何完成此操作;
> db.createUser(
... { user: "Employeeadmin", pwd : "password"
... , roles : [{ role : "userAdmin"
... , db: "Employee"}]})
程式碼說明:
- 第一步是指定需要建立的
使用者名稱
和密碼
。 - 第二步是為使用者分配一個角色,在這種情況下,因為需要將資料庫管理員分配給
userAdmin
角色。此角色允許使用者僅具有 db 選項中指定的資料庫的管理許可權。 db
引數指定使用者應具有管理許可權的資料庫。
如果命令執行成功,將顯示以下輸出:
輸出:
> db.createUser(
... { user : "Employeeadmin", pwd : "password"
... , roles : [{ role: "userAdmin"
... db: "Employee"}]})
Successfully added user: {
"user" : "Employeeadmin".
"roles" : [
{
"role" : "userAdmin",
"db" : "Employee"
}
]
}
輸出顯示已建立名為 Employeeadmin
的使用者,該使用者僅對 Employee
資料庫具有許可權。
管理使用者
首先要了解你需要定義的角色。MongoDB 中提供了完整的角色列表。例如,有一個 read role
,它只允許對資料庫進行只讀訪問,然後有 readwrite
角色,它提供對資料庫的讀寫訪問許可權,這意味著使用者可以發出插入、刪除和更新該資料庫中集合的命令。
> db.createuser(
{
user: "Mohan",
pwd: "password",
roles: [
{
role: "read" , db: "Marketing"},
role: "readwrite" , db:"Sales"}
}
]
})
上面的程式碼片段顯示建立了一個名為 Mohan 的使用者,並在多個資料庫中為他分配了多個角色。在上面的示例中,他被賦予對 Marketing
資料庫的只讀許可權和對 Sales
資料庫的 readWrite
許可權。