mongodb 中的 "admin" 数据库是什么?

What is the "admin" database in mongodb?

我正在练习 mongodb 文档:https://docs.mongodb.com/manual/tutorial/enable-authentication/

而且我无法确定示例中的 "admin" 数据库是否只是为教程创建的数据库,或者它是否是专门为管理管理员用户而创建的内置数据库。

提前致谢。

这个admin数据库的主要用途是存储系统集合和用户认证授权数据,包括管理员和用户的用户名、密码和角色。访问仅限于管理员,他们能够创建、更新和删除用户以及分配角色。

当您在 MongoDB 中创建数据库时,您没有启用身份验证,用户拥有该数据库的所有权限和角色,如果防火墙没有,您甚至可以远程访问数据库已阻止端口 27017。

有两个特殊的数据库admin和local,这些数据库的用户可以在他们有权访问的其他数据库上执行文档中提到的操作。在开发环境中,不用担心用户和密码很方便,但是,当用户在应用程序上远程与数据库交互时,激活用户身份验证是必不可少的。

admin数据库为内置数据库。除了用户身份验证和授权数据外,它还包括 Roles 用于管理整个系统,而不仅仅是一个数据库。这些角色主要与副本集和分片集群管理功能有关。

其他 数据库中创建的角色比 admin 只能包含适用于其数据库的权限,并且只能从其数据库中的其他角色继承。

admin 数据库中创建的角色可以包含适用于 任何 数据库或集群资源的权限,也可以从其他数据库中的角色继承作为 admin 数据库。