Mongodb中的身份验证:如何选择?

时间:2014-10-24 07:13:48

标签: mongodb authentication choice

你能帮我选择Mongo db中的身份验证类型吗?

在官方网站上我发现:

  1. MONGODB-CR MongoDB质询/响应认证。
  2. MONGODB-X509 MongoDB SSL证书身份验证。
  3. 使用LDAP进行PLAIN外部身份验证。您也可以使用PLAIN 验证数据库内用户。 PLAIN以普通方式传输密码 文本。此机制仅在MongoDB Enterprise中可用。
  4. 使用Kerberos的GSSAPI外部身份验证。这个机制是 仅在MongoDB Enterprise中可用。
  5. 非常感谢你!

1 个答案:

答案 0 :(得分:1)

如前所述,大多数选项仅适用于MongoDB的企业版。

根据需要,外部身份验证方法将取决于组织的需求 - 是否依赖现有LDAP基础结构进行用户管理。

在MongoDB 3.0中,它现在支持多种身份验证机制。

  • MongoDB质询和响应(SCRAM-SHA-1) - 默认为3.0
  • MongoDB质询和响应(MONGODB-CR) - 以前的默认值(< 3.0)

如果您使用新用户创建了新的3.0数据库,则可以使用SCRAM-SHA-1创建它们。

所以你需要一个能够进行身份验证的驱动程序:

http://docs.mongodb.org/manual/release-notes/3.0-scram/#considerations-scram-sha-1-drivers

如果您使用现有用户数据从2.x升级数据库,他们仍将使用MONGODB-CR,并且必须升级用户身份验证数据库:

http://docs.mongodb.org/manual/release-notes/3.0-scram/#upgrade-mongodb-cr-to-scram

现在,需要使用SCRAM-SHA-1创建的用户连接到MongoDB 3.0,以指定身份验证数据库(通过命令行mongo客户端),并使用其他机制(如果使用驱动程序)。

$> mongo -u USER -p PASSWORD --authenticationDatabase admin

在这种情况下," admin"数据库,也是默认用于验证。