mongodb - 如果我不打算授予集群级别角色,我是否应该避免在“管理员”数据库中创建 MongoDB 用户
问题描述
MongoDB 文档表明可以使用任何数据库作为其身份验证数据库来创建用户。有什么理由我会选择在“管理员”数据库中创建我的用户,除非我打算授予它集群级别的权限?
除非上述条件适用,否则我是否应该避免在“管理员”数据库中创建用户?
解决方案
用户的存储位置不会影响授予用户的权限。
如果您希望在同一个地方定义所有用户,则将它们保存在管理数据库中是有意义的。
如果您的用户每个都可以访问一个数据库,并且您希望在他们有权访问的数据库中定义用户,那么在他们有权访问的数据库中定义他们可能是有意义的。
无论哪种情况,用户可以访问哪些数据库,以及允许他们执行哪些操作,都可以按用户定义。
如果您将用户存储在 admin 数据库中,但客户端正在连接到另一个数据库,则authSource
必须在连接时显式指定。
推荐阅读
- apache-flink - flink sql读取配置单元表抛出java.lang.ArrayIndexOutOfBoundsException:1024
- kubernetes - 在终止 kubernetes 中的 pod 之前等待进程完成
- ethereum - Solidity:检查是否在 bytes24 中设置了特定位
- node.js - 向房间发送消息的 SocketIO 无法正常工作
- android - 如何让我的 Android 应用符合“后台位置政策”
- python - Use requests to post captcha answer
- javascript - Daterangepicker Clear UI datepicker selected date
- javascript - localstorage only showing the last prompt input
- python - Slicing a for loop in Django
- visual-studio-code - how to list all switched folders in a SVN working copy