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 文章
频道条目
分享
文章归档