首页 > 解决方案 > 如果我不打算授予集群级别角色,我是否应该避免在“管理员”数据库中创建 MongoDB 用户

问题描述

MongoDB 文档表明可以使用任何数据库作为其身份验证数据库来创建用户。有什么理由我会选择在“管理员”数据库中创建我的用户,除非我打算授予它集群级别的权限?

除非上述条件适用,否则我是否应该避免在“管理员”数据库中创建用户?

标签: mongodbsecurity

解决方案


用户的存储位置不会影响授予用户的权限。

如果您希望在同一个地方定义所有用户,则将它们保存在管理数据库中是有意义的。

如果您的用户每个都可以访问一个数据库,并且您希望在他们有权访问的数据库中定义用户,那么在他们有权访问的数据库中定义他们可能是有意义的。

无论哪种情况,用户可以访问哪些数据库,以及允许他们执行哪些操作,都可以按用户定义。

如果您将用户存储在 admin 数据库中,但客户端正在连接到另一个数据库,则authSource必须在连接时显式指定


推荐阅读