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

MongoDB :le serveur a des avertissements de démarrage ''Le contrôle d'accès n'est pas activé pour la base de données''

Mongodb v3.4

Vous devez procéder comme suit pour créer une base de données sécurisée :

Assurez-vous que l'utilisateur qui démarre le processus dispose des autorisations et que les répertoires existent (/data/db dans ce cas).

1) Démarrez MongoDB sans contrôle d'accès.

mongod --port 27017 --dbpath /data/db

2) Connectez-vous à l'instance.

mongo --port 27017

3) Créez l'utilisateur administrateur (dans la base de données d'authentification des administrateurs) .

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

4) Redémarrez l'instance MongoDB avec le contrôle d'accès.

mongod --auth --port 27017 --dbpath /data/db

5) Connectez-vous et authentifiez-vous en tant qu'administrateur de l'utilisateur.

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

6) Créez des utilisateurs supplémentaires selon les besoins de votre déploiement (par exemple, dans la base de données d'authentification de test) .

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

7) Connectez-vous et authentifiez-vous en tant que myTester.

mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

J'ai simplement expliqué la version courte de la documentation officielle ici :https://docs.mongodb.com/master/tutorial/enable-authentication/