如何配置 MongoDB 的用户认证?

推荐答案

-- -------------------- ---- -------
- -- ------- --
------ ------

- --- -------
-----

- --- ----- ---
--- -----

- -------
---------------
  ----- ------------
  ---- ----------------
  ------ -- ----- ----------------------- --- ------- --
--

- ------------
----
----- -- --------- -- ------------- ------------------------ -----

- --------
--- ----------

- ------
---------------
  ----- ---------
  ---- -------------
  ------ -- ----- ------------ --- ------------ --
--

本题详细解读

1. 启用认证

MongoDB 默认不启用认证。要启用认证,需要在启动 MongoDB 实例时使用 --auth 参数。例如:

2. 创建管理员用户

在启用认证后,首先需要创建一个具有管理权限的用户。通常,这个用户会被创建在 admin 数据库中,并且拥有 userAdminAnyDatabase 角色,以便能够管理其他数据库的用户。

3. 重新连接并使用认证

创建管理员用户后,需要退出并重新连接 MongoDB,使用新创建的用户进行认证。

4. 创建普通用户

在认证模式下,可以为特定数据库创建普通用户,并赋予相应的权限。例如,创建一个具有读写权限的用户:

5. 角色说明

  • userAdminAnyDatabase: 允许用户管理所有数据库的用户。
  • readWrite: 允许用户对指定数据库进行读写操作。

6. 认证数据库

在连接时,--authenticationDatabase 参数指定了用于认证的数据库。通常,管理员用户会在 admin 数据库中创建,因此认证数据库通常为 admin

7. 注意事项

  • 确保在启用认证前已经创建了管理员用户,否则将无法管理数据库。
  • 在生产环境中,建议使用更复杂的密码,并定期更换密码以提高安全性。
纠错
反馈