我们的环境中有9个mongo节点:
我们正在尝试对它们实施身份验证。
我过去使用一台服务器完成了这项工作,而且非常简单:
我必须使用--auth
选项重新启动mongod,但此处似乎无效。
我已将管理员帐户添加到我们的mongos和我们的分片数据库中;我尝试以我刚刚创建的用户身份进行身份验证,但它无效。
我尝试在每个数据库上创建一个管理员用户,以及我们需要的其他用户帐户,但它仍然无效。
我还尝试确保所有mongo服务器都运行时在命令行或--keyFile
文件中指定了/etc/mongodb.conf
选项,但这似乎没有帮助。
当我尝试作为给定用户进行身份验证时,如下所示:
db.auth("user","passwd")
它失败并返回0
,如false
;不是non-zero
。
我非常需要我能得到的所有帮助,所以请至少对我可以尝试的事情留下一些建议 - 我不能过度强调这一点,任何帮助都非常受欢迎,因为我似乎无处可去仅仅是关于管理/管理mongo分片集群的官方文档。
答案 0 :(得分:1)
在分片群集中,您应使用--keyFile
来允许群集的所有成员相互进行身份验证。使用此选项时,“{1}}为”假定“。由于您提出此问题后已经进行了多次版本更改,因此分配给用户的角色现在更加精细 - 您需要拥有'clusterAdmin','userAdmin','dbAdmin'等。
This page has more details关于如何在MongoDB中为分片群集配置安全性。