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

23
3个回答

21

这个管理数据库的主要目的是存储系统集合以及用户身份验证和授权数据,包括管理员和用户的用户名、密码和角色。只有管理员可以访问,他们有创建、更新和删除用户以及分配角色的权限。


16

在MongoDB中创建数据库时,默认情况下不启用身份验证,用户拥有该数据库的所有特权和角色,即使防火墙没有封锁端口27017,用户也可以远程访问数据库。

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


1
这些数据库的用户可以执行操作,例如启用访问控制吗?这就是内置两个数据库的全部意义吗?adminlocal数据库之间有什么区别? - x-yuri

3
admin 数据库是内置的数据库。除了用户身份验证和授权数据外,它还包括 角色 用于管理整个系统而不仅仅是单个数据库。这些角色主要与复制集和分片集群管理功能相关。
admin 之外创建的角色只能包括适用于其数据库的权限,并且只能从其数据库中的其他角色继承。
admin 数据库中创建的角色可以包括适用于任何数据库或群集资源的权限,并且可以从其他数据库以及 admin 数据库中的角色继承权限。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接