Mit der MongoDB-Funktion Create User fügen Sie Nut­ze­rin­nen oder Nutzer zu einer Datenbank hinzu und weisen ihnen Rollen zu. Die Methode funk­tio­niert 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 Spei­che­rung und Ver­wal­tung Ihrer eigenen Daten. Auch für die Zu­sam­men­ar­beit in kleinen oder großen Teams eignet sich das Da­ten­bank­ma­nage­ment­sys­tem. Damit Sie al­ler­dings stets den Überblick behalten, wer Zugriff auf Ihre Daten hat, legen Sie neue Nut­ze­rin­nen 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 grund­sätz­lich fol­gen­der­ma­ßen aus:

db.createUser (user, writeConcern)

Neben dem ei­gent­li­chen Command crea­teU­ser sind hier bereits zwei weitere In­for­ma­tio­nen hin­ter­legt: „user“ ist ein ob­li­ga­to­ri­sches Dokument und enthält die Au­then­ti­fi­zie­rung des neuen Nutzers oder der neuen Nutzerin sowie sämtliche In­for­ma­tio­nen. „wri­te­Con­cern“ gibt die Be­rech­ti­gungs­stu­fe der Person an. Diese In­for­ma­ti­on ist optional.

Der User und seine Parameter

Das Dokument „user“, das Sie in MongoDB bei der „Create User“-Methode immer ein­ge­fü­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 In­for­ma­ti­on wird immer benötigt, außer Sie verwenden den Command auf einer externen Datenbank.
  • cus­tom­Da­ta: Dieses Dokument ist optional und enthält bei Bedarf sämtliche ge­wünsch­ten Zu­satz­in­for­ma­tio­nen zu einer Nutzerin oder einem Nutzer. Zum Beispiel hin­ter­le­gen Sie zu­sätz­lich zum Be­nut­zer­na­men den Klarnamen.
  • roles: Hier weisen Sie einer Nutzerin oder einem Nutzer ein­ge­bau­te und be­nut­zer­de­fi­nier­te Rollen zu. Die In­for­ma­tio­nen 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 bei­spiel­haft 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 exis­tie­ren­de Nutzerin oder einen bereits exis­tie­ren­den Nutzer verwenden, erhalten Sie eine Feh­ler­mel­dung. So wird ver­hin­dert, dass es zu Über­schnei­dun­gen kommt. Um sich alle Nut­ze­rin­nen und Nutzer in einer Datenbank anzeigen zu lassen, nutzen Sie in MongoDB entweder Show Users oder db.getUsers ().

Rollen zuweisen mit MongoDB Create User

Grund­sätz­lich ist es emp­feh­lens­wert, Nut­ze­rin­nen und Nutzern direkt von Beginn an ver­schie­de­ne Rollen zu­zu­wei­sen. Dadurch arbeiten Sie im Team ef­fek­ti­ver und schützen zugleich sensible Daten vor un­er­wünsch­ten Zugriffen. Möchten Sie Rollen festlegen, dann funk­tio­niert dies, indem Sie den Namen der Rolle hin­ter­le­gen, sofern diese in derselben Datenbank auf­ge­führt wird. An­dern­falls legen Sie ein Dokument an, um die Rolle zu de­fi­nie­ren, 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“ zu­ge­wie­sen.

MongoDB Create User ohne Fest­le­gung 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 In­for­ma­ti­on eindeutig hin­ter­le­gen. Das funk­tio­niert fol­gen­der­ma­ß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 ad­mi­nis­tra­ti­ven Aufgaben erstellen. Diese Person erhält dann auch Zugriff auf die Kon­fi­gu­ra­ti­on 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 We­sent­li­che kon­zen­trie­ren. Ob In­stal­la­ti­on, Betrieb oder War­tungs­ar­bei­ten, IONOS sorgt für einen zu­ver­läs­si­gen Betrieb Ihrer hoch­per­for­man­ten Da­ten­ban­ken.

Userin und User löschen mit MongoDB Drop User

Sie haben auch jederzeit die Mög­lich­keit, 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 ad­mi­nis­tra­ti­ven Pri­vi­le­gi­en löschen, sollten Sie zunächst si­cher­stel­len, dass es min­des­tens eine weitere Person gibt, die die not­wen­di­gen Be­rech­ti­gun­gen hat.

Tipp

Sie möchten noch mehr über die Anwendung des Da­ten­bank­ma­nage­ment­sys­tems MongoDB erfahren? In dem Fall empfehlen wir Ihnen unsere weiteren Di­gi­tal­gui­de-Artikel zu diesem The­men­kom­plex:

- MongoDB Create Coll­ec­tion

- MongoDB Create Database

- MongoDB Create Index

Zum Hauptmenü