MongoDB Create User: Neue User hinzufügen

Mit der MongoDB-Funktion Create User fügen Sie Nutzerinnen oder Nutzer zu einer Datenbank hinzu und weisen ihnen Rollen zu. Die Methode funktioniert auch für Personen mit Admin-Rechten. Möchten Sie jemanden wieder entfernen, verwenden Sie den MongoDB-Befehl Drop User.

Was ist MongoDB Create User?

Die NoSQL-Datenbank MongoDB ist nicht nur eine sehr gute Lösung für die Speicherung und Verwaltung Ihrer eigenen Daten. Auch für die Zusammenarbeit in kleinen oder großen Teams eignet sich das Datenbankmanagementsystem. Damit Sie allerdings stets den Überblick behalten, wer Zugriff auf Ihre Daten hat, legen Sie neue Nutzerinnen und Nutzer selbst an und gewähren Sie diesen dann bestimmte Rechte. Der passende Befehl unter den MongoDB Commands lautet Create User. Mit dieser Methode fügen Sie nicht nur eine neue Userin oder einen neuen User hinzu, sondern können dieser Person auch direkt eine oder mehrere Rollen zuweisen. Auch ein Passwort lässt sich für sie festlegen.

Die Syntax von MongoDB Create User

Die Syntax des MongoDB-Befehls Create User sieht grundsätzlich folgendermaßen aus:

db.createUser (user, writeConcern)

Neben dem eigentlichen Command createUser sind hier bereits zwei weitere Informationen hinterlegt: „user“ ist ein obligatorisches Dokument und enthält die Authentifizierung des neuen Nutzers oder der neuen Nutzerin sowie sämtliche Informationen. „writeConcern“ gibt die Berechtigungsstufe der Person an. Diese Information ist optional.

Der User und seine Parameter

Das Dokument „user“, das Sie in MongoDB bei der „Create User“-Methode immer eingefügen müssen, enthält mehrere wichtige Parameter:

  • user: Dieser String enthält den Namen der neuen Nutzerin oder des Nutzers und ist optional.
  • pwd: Unter „pwd“ legen Sie bei Create User ein Passwort für die neue Person fest. Diese Information wird immer benötigt, außer Sie verwenden den Command auf einer externen Datenbank.
  • customData: Dieses Dokument ist optional und enthält bei Bedarf sämtliche gewünschten Zusatzinformationen zu einer Nutzerin oder einem Nutzer. Zum Beispiel hinterlegen Sie zusätzlich zum Benutzernamen den Klarnamen.
  • roles: Hier weisen Sie einer Nutzerin oder einem Nutzer eingebaute und benutzerdefinierte Rollen zu. Die Informationen werden in einem Array angelegt. Lassen Sie das Feld frei, erhält die neue Userin oder der neue User keine Rollen.

Das Dokument „user“ sieht beispielhaft so aus:

{
user: "<benutzername>",</benutzername>
pwd: "<passwort>",</passwort>
customData: { <klarname, id=""> },</klarname,>
roles: [ { role: "<rolle>", db: "<datenbank>" } ]</datenbank></rolle>
}

Wenn Sie mit MongoDB und Create User arbeiten und eine bereits existierende Nutzerin oder einen bereits existierenden Nutzer verwenden, erhalten Sie eine Fehlermeldung. So wird verhindert, dass es zu Überschneidungen kommt. Um sich alle Nutzerinnen und Nutzer in einer Datenbank anzeigen zu lassen, nutzen Sie in MongoDB entweder Show Users oder db.getUsers ().

Rollen zuweisen mit MongoDB Create User

Grundsätzlich ist es empfehlenswert, Nutzerinnen und Nutzern direkt von Beginn an verschiedene Rollen zuzuweisen. Dadurch arbeiten Sie im Team effektiver und schützen zugleich sensible Daten vor unerwünschten Zugriffen. Möchten Sie Rollen festlegen, dann funktioniert dies, indem Sie den Namen der Rolle hinterlegen, sofern diese in derselben Datenbank aufgeführt wird. Andernfalls legen Sie ein Dokument an, um die Rolle zu definieren, die bereits in einer anderen Datenbank existiert. So geben Sie einer Person mit dem MongoDB-Befehl Create User mehrere Rollen:

use beispiel
db.createUser(
{
user: "username",
pwd: "password",
roles: [ "read", "dbAdmin" ]
}
);

In diesem Beispiel haben wir nun der neuen Userin bzw. dem neuen User die Rollen „read“ und „dbAdmin“ zugewiesen.

MongoDB Create User ohne Festlegung der Rollen

Möchten Sie einer Nutzerin oder einem Nutzer keine Rollen zuweisen, ist dies auch möglich. Dennoch müssen Sie bei Create User diese Information eindeutig hinterlegen. Das funktioniert folgendermaßen:

use beispiel
db.createUser(
{
user: "username",
pwd: "password",
roles: [ ]
}
);

Lassen Sie die Klammern leer, erhält die Userin oder der User keinerlei Rollen.

MongoDB Create User für Admins

Mit der MongoDB-Funktion Create User lassen sich auch Userinnen und User mit administrativen Aufgaben erstellen. Diese Person erhält dann auch Zugriff auf die Konfiguration Ihrer Datenbank. Das Vorgehen ähnelt dabei dem bereits bekannten Code:

use admin
db.createUser(
{
user: "zweiter_admin",
pwd: "admin_passwort",
roles: [ { role: "readWrite", db: "config" },
"clusterAdmin"
]
}
);
Tipp: Managed MongoDB von IONOS

Mit Managed MongoDB von IONOS können Sie sich auf das Wesentliche konzentrieren. Ob Installation, Betrieb oder Wartungsarbeiten, IONOS sorgt für einen zuverlässigen Betrieb Ihrer hochperformanten Datenbanken.

Userin und User löschen mit MongoDB Drop User

Sie haben auch jederzeit die Möglichkeit, eine Userin oder einen User wieder zu löschen. Der passende Befehl dafür lautet Drop User und ähnelt vom Aufbau her Create User. Dies ist seine Syntax:

db.dropUser (username, writeConcern)

Angeben müssen Sie dabei nur den Namen der Nutzerin oder des Nutzers:

use beispiel
db.dropUser ("username")

Bevor Sie eine Userin oder einen User mit administrativen Privilegien löschen, sollten Sie zunächst sicherstellen, dass es mindestens eine weitere Person gibt, die die notwendigen Berechtigungen hat.

Tipp

Sie möchten noch mehr über die Anwendung des Datenbankmanagementsystems MongoDB erfahren? In dem Fall empfehlen wir Ihnen unsere weiteren Digitalguide-Artikel zu diesem Themenkomplex:

- MongoDB Create Collection

- MongoDB Create Database

- MongoDB Create Index