MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :définir l'utilisateur/le mot de passe pour accéder à la base de données

Dans votre commentaire, vous mentionnez que vous utilisez mViewer. La version 0.9.1 de mViewer ne prend pas en charge l'authentification. Selon ce problème sur le mViewer GitHub, cela est résolu dans la version 0.9.2, dont la sortie était prévue en octobre.

Avant de démarrer le nœud avec l'authentification, connectez-vous au nœud et ajoutez un utilisateur. Ensuite, démarrez le nœud avec --auth et connectez-vous au shell sans mViewer.

À ce stade, vous pouvez vous connecter à la base de données d'administration et authentifier votre utilisateur administrateur :

use admin
db.auth('root', 'root')

Étant donné que vous avez configuré un utilisateur administrateur, qui aura accès à toutes les bases de données, vous devez vous authentifier auprès de la base de données d'administration. Une fois que vous avez fait cela, vous aurez accès à toutes les bases de données. Vous pourrez également créer de nouveaux utilisateurs sur n'importe quelle base de données ou créer de nouveaux utilisateurs en lecture seule pour toutes les bases de données.

Si vous créez un nouvel utilisateur qui n'a accès qu'à une seule base de données, cet utilisateur devra use cette base de données et db.auth(name, pass) contre elle.

Si vous créez un nouvel utilisateur qui a un accès en lecture seule à toutes les bases de données, il utilisera use admin puis db.auth(name, pass) pour obtenir leur accès en lecture seule à toutes les bases de données

Vous pouvez trouver plus d'informations sur la configuration de l'authentification ici et plus d'informations sur la configuration des utilisateurs ici

Remarque :Lorsque vous démarrez un nœud sans --auth alors aucune authentification n'est activée. Cela signifie que vous pouvez vous connecter avec le shell et db.auth('root','root') mais cela ne fera rien en ce qui concerne l'accès. MongoDB ne refusera pas l'accès aux bases de données sans --auth option de ligne de commande (--keyFile dans des configurations fragmentées ou des jeux de réplicas)