MongoDB 建立使用者

使用 createUser 方法在 MongoDB 中建立使用者管理員。以下示例顯示瞭如何完成此操作。

> db.createUser(
... { user: "Tastones", pwd : "password"
...	, roles : [{ role : "userAdminAnyDatabase"
...	, db: "admin"}]})

程式碼說明:

  1. 第一步是指定需要建立的 使用者名稱密碼
  2. 第二步是為使用者分配角色。由於它需要是資料庫管理員,在這種情況下我們已經分配了 userAdminAnyDatabase 角色。此角色允許使用者擁有 MongoDB 中所有資料庫的管理許可權。
  3. 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"}]})

程式碼說明:

  1. 第一步是指定需要建立的 使用者名稱密碼
  2. 第二步是為使用者分配一個角色,在這種情況下,因為需要將資料庫管理員分配給 userAdmin 角色。此角色允許使用者僅具有 db 選項中指定的資料庫的管理許可權。
  3. 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 許可權。