2012-06-12 8 views
8

Tenemos 9 nodos mongo en nuestro entorno con:Mongos autenticación

  • 1 Mongos
  • 3 servidores de configuración (mongod --configSvr)
  • 9 servidores mongod (fragmentos o miembros del fragmentada conjuntos de réplica)

y estamos tratando de implementar la autenticación en ellos.

he hecho esto en el pasado con un solo servidor y fue muy fácil:

  1. sólo tiene que añadir el usuario admin a la base de datos de administración
  2. añadir un usuario en cada base de datos

Tuve que reiniciar mongod con la opción --auth, pero aquí parece que no funciona.

He agregado la cuenta de administrador a nuestros mongos y nuestras bases de datos fragmentadas; Traté de autenticarme como el usuario que acababa de crear, pero no funcionó.

He intentado crear un usuario administrador en cada base de datos, y las cuentas de otros usuarios que necesitamos, pero todavía no funcionó.

También intenté asegurarme de que todos nuestros servidores mongo se ejecutaran con la opción --keyFile especificada en la línea de comandos o en sus archivos /etc/mongodb.conf, pero eso no pareció ayudar.

Cuando intento para autenticar como un usuario dado, así:

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

se produce un error y devuelve 0, como en false; no non-zero.

Realmente necesito toda la ayuda que pueda obtener, así que por favor deje al menos algunas sugerencias sobre cosas que podría probar - No puedo insistir demasiado en esto, cualquier ayuda es más que bienvenida ya que no parece estar recibiendo en cualquier lugar solo desde seguir los documentos oficiales sobre administración/administración de clústeres mongo sharded.

+0

¿cómo creó a dichos usuarios? Por favor publica más código! ** NOTA ** instancias de mongos no pueden iniciarse con '--auth', los servidores de configuración y los fragmentos son los que proporcionan la autenticación/seguridad. ** TAMBIÉN ** Asegúrese de ejecutar 'db.auth (" usuario "," contraseña ")' en la misma base de datos que creó el usuario con el que intenta autenticar. –

+0

En mi lugar de trabajo intentamos crear usuarios de los mongos y por alguna razón no funcionó de manera confiable; cuando los creamos directamente en un servidor de configuración funcionó muy bien. (Primero cerramos nuestros servidores mongos, abrimos nuevas configuraciones y luego creamos al usuario directamente en una configuración y luego agregamos algunos servidores mongos) –

Respuesta

1

En un clúster fragmentado, debe usar --keyFile para permitir que todos los miembros del clúster se autentiquen entre sí. Cuando utiliza esta opción, se "asume" --auth. Debido a que ha habido varios cambios de versión desde que hizo esta pregunta, los roles asignados a los usuarios ahora son más granulares; necesitará tener un 'clusterAdmin', 'userAdmin', 'dbAdmin', etc.

This page has more details cómo configurar la seguridad en MongoDB para un clúster fragmentado.

Cuestiones relacionadas