So erstellen Sie einen Benutzer und fügen eine Rolle hinzu MongoDB
MongoDB Erstellen Sie einen Administratorbenutzer
Erstellen eines Benutzeradministrators in MongoDB erfolgt mithilfe der Methode createUser. Das folgende Beispiel zeigt, wie dies durchgeführt werden kann.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Code-Erklärung:
- Der erste Schritt besteht darin, den zu erstellenden „Benutzernamen“ und das „Passwort“ anzugeben.
- Der zweite Schritt besteht darin, dem Benutzer eine Rolle zuzuweisen. Da es sich um einen Datenbankadministrator handeln muss, haben wir in diesem Fall die Rolle „userAdminAnyDatabase“ zugewiesen. Mit dieser Rolle erhält der Benutzer Administratorrechte für alle Datenbanken in MongoDB.
- Der db-Parameter gibt die Admin-Datenbank an, bei der es sich um eine spezielle Metadatenbank handelt MongoDB welches die Informationen für diesen Benutzer enthält.
Wenn der Befehl erfolgreich ausgeführt wurde, wird die folgende Ausgabe angezeigt:
Ausgang:
Die Ausgabe zeigt, dass ein Benutzer namens „Guru99“ erstellt wurde und dieser Benutzer über Berechtigungen für alle Datenbanken in verfügt MongoDB.
MongoDB Erstellen Sie einen Benutzer für eine einzelne Datenbank
Um einen Benutzer zu erstellen, der eine einzelne Datenbank verwaltet, können wir denselben Befehl wie oben erwähnt verwenden, müssen jedoch nur die Option „userAdmin“ verwenden.
Das folgende Beispiel zeigt, wie dies gemacht werden kann;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Code-Erklärung:
- Der erste Schritt besteht darin, den zu erstellenden „Benutzernamen“ und das „Passwort“ anzugeben.
- Der zweite Schritt besteht darin, dem Benutzer eine Rolle zuzuweisen. Da es sich in diesem Fall um einen Datenbankadministrator handeln muss, wird ihm die Rolle „userAdmin“ zugewiesen. Mit dieser Rolle erhält der Benutzer nur Administratorrechte für die in der Option db angegebene Datenbank.
- Der Parameter db gibt die Datenbank an, für die der Benutzer Administratorrechte haben soll.
Wenn der Befehl erfolgreich ausgeführt wurde, wird die folgende Ausgabe angezeigt:
Ausgang:
Die Ausgabe zeigt, dass ein Benutzer namens „Employeeadmin“ erstellt wurde und dieser Benutzer nur über Berechtigungen für die Datenbank „Employee“ verfügt.
Benutzer verwalten
Verstehen Sie zunächst die Rollen, die Sie definieren müssen. Es gibt eine ganze Liste der verfügbaren Rollen MongoDB. Beispielsweise gibt es die Rolle „Lesen“, die nur Lesezugriff auf Datenbanken ermöglicht, und die Rolle „Lesen/Schreiben“, die Lese- und Schreibzugriff auf die Datenbank gewährt, was bedeutet, dass der Benutzer die Befehle „Einfügen“, „Löschen“ und „Einfügen“ erteilen kann Update-Befehle für Sammlungen in dieser Datenbank.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
Der obige Codeausschnitt zeigt, dass ein Benutzer namens Mohan erstellt wird und ihm mehrere Rollen in mehreren Datenbanken zugewiesen werden. Im obigen Beispiel erhält er nur Leseberechtigung für die Datenbank „Marketing“ und Lese-/Schreibberechtigung für die Datenbank „Verkäufe“.