Mongos身份验证

时间:2012-06-12 12:38:27

标签: mongodb authentication sharding database nosql

我们的环境中有9个mongo节点:

  • 1 mongos
  • 3个配置服务器( mongod --configSvr
  • 9台mongod服务器(分片或分片副本集成员

我们正在尝试对它们实施身份验证。

我过去使用一台服务器完成了这项工作,而且非常简单:

  1. 只需将管理员用户添加到管理数据库
  2. 在每个数据库上添加用户
  3. 我必须使用--auth选项重新启动mongod,但此处似乎无效。

    我已将管理员帐户添加到我们的mongos和我们的分片数据库中;我尝试以我刚刚创建的用户身份进行身份验证,但它无效。

    我尝试在每个数据库上创建一个管理员用户,以及我们需要的其他用户帐户,但它仍然无效。

    我还尝试确保所有mongo服务器都运行时在命令行或--keyFile文件中指定了/etc/mongodb.conf选项,但这似乎没有帮助。

    当我尝试作为给定用户进行身份验证时,如下所示:

    db.auth("user","passwd")
    

    它失败并返回0,如false;不是non-zero

    我非常需要我能得到的所有帮助,所以请至少对我可以尝试的事情留下一些建议 - 我不能过度强调这一点,任何帮助都非常受欢迎,因为我似乎无处可去仅仅是关于管理/管理mongo分片集群的官方文档。

1 个答案:

答案 0 :(得分:1)

在分片群集中,您应使用--keyFile来允许群集的所有成员相互进行身份验证。使用此选项时,“{1}}为”假定“。由于您提出此问题后已经进行了多次版本更改,因此分配给用户的角色现在更加精细 - 您需要拥有'clusterAdmin','userAdmin','dbAdmin'等。

This page has more details关于如何在MongoDB中为分片群集配置安全性。