Navicat 部落格

2018 年 10 月 23 日,由 Robert Gravelle 撰寫

MongoDB 提供使用者管理介面,用於執行各種與使用者相關的工作。除了加入新使用者之外,使用者管理介面還允許資料庫管理員(DBA)更新現有使用者的設定,例如變更密碼和授予或撤消角色的權限。在今天的文章中,我們將探討如何使用 Navicat for MongoDB 的使用者和角色管理工具建立新使用者。

MongoDB 如何儲存使用者資料

了解在 MongoDB 中建立新使用者時會發生什麼很重要。使用者的資料將插入到稱為「驗證資料庫」的特定數據庫中。此外,MongoDB 將所有使用者資訊(包括名稱、密碼和使用者的驗證資料庫)儲存在「admin」資料庫的「system.users」集合中。

使用者的名稱和驗證資料庫一同用作該使用者的唯一識別元。因此,如果兩個使用者具有相同的名稱但在不同的資料庫中建立,則實際上它們在任何一方面都被視為兩個獨立的使用者。因此,如果你打算讓一個使用者擁有多個資料庫的權限,則應在適用的資料庫中建立一個被指派了角色的使用者,而不是在不同的資料庫中多次建立使用者。

關於權限,這不僅限於使用者的驗證資料庫,還可以擴展到不同的資料庫。透過指派其他資料庫的使用者角色給在一個資料庫建立的使用者,可以令他擁有操作這些資料庫的權限。

建立新使用者

DBA 不應直接存取「system.users」集合,而應使用 MongoDB 的使用者管理命令-db.createUser() 方法或 createUser 命令建立使用者。

這作業是在「employees」資料庫中建立使用者並指派他/她的名稱、密碼和角色:

use employees
db.createUser(
  {
    user: "tsmith",
    pwd: "ascend99",
    roles: [
       { role: "read", db: "employees" },
       { role: "read", db: "products" },
       { role: "read", db: "sales" },
       { role: "readWrite", db: "accounts" }
    ]
  }
)

Navicat 提供功能強大的使用者設計器工具,用於管理伺服器使用者帳號及其相關權限。它將所有使用者的資訊和權限儲存在伺服器上,因為它在這個動作的背後使用 MongoDB 的原生命令。你將在主視窗工具列中找到「使用者」或「角色」命令。按一下按鈕以開啟使用者或角色物件清單:

使用者設計器工具概覽

從使用者或角色物件清單中選擇「使用者」項目,開啟一個包含使用者相關命令的新物件工具列:

若要建立新使用者,請按一下「新增使用者」按鈕。這將開啟使用者設計器工具:

使用者設計器從左到右分為幾個索引標籤,如下所示:

  • 一般:
    使用者名稱、密碼、加密規格。
  • 自訂資料:
    在此索引標籤中,你可以輸入此使用相關聯的任何資訊。
  • 內建角色:
    在清單中,指定此使用者成為已選取的內建角色的成員。
  • 使用者定義角色:
    在清單中,指定此使用者成為已選取的使用者定義角色的成員。
  • 驗證限制:
    編輯伺服器對使用者強制執行的特定驗證限制。
  • 指令碼預覽:
    顯示將要執行的原生 MongoDB 命令。

若要在 Navicat 中加入以上的使用者:

在「一般」索引標籤中:

  • 輸入「使用者名稱」。
  • 指定使用者的登入密碼。
  • 在「確認密碼」欄位中重新輸入登入密碼。
  • 接下來,在「內建角色」索引標籤中,我們將選取以下角色:

  • 你可以在「指令碼預覽」索引標籤中預覽產生的命令:

    db.createUser({
        user: "tsmith",
        pwd: "ascend99",
        roles: [
            {
                role: "read",
                db: "sales"
            },
            {
                role: "readWrite",
                db: "accounts"
            },
            {
                role: "read",
                 db: "employees"
            },
            {
                role: "read",
                db: "products"
            }
        ],
        authenticationRestrictions: [ ]
    })
  • 按一下「儲存」按鈕以建立新使用者。
Navicat 文章
頻道記錄
分享
部落格封存檔