La fonction MongoDB Create User permet d’ajouter des nouveaux uti­li­sa­teurs à une base de données et de leur attribuer des rôles. Cette méthode fonc­tionne également pour les personnes disposant de droits d’ad­mi­nis­tra­teur. Si vous souhaitez supprimer quelqu’un, utilisez la commande MongoDB Drop User.

Qu’est-ce que MongoDB Create User ?

La base de données NoSQL MongoDB est une très bonne solution pour le stockage et la gestion de vos propres données. Le système de gestion de base de données est également adapté à la col­la­bo­ra­tion au sein de petites ou de grandes équipes. Toutefois, pour que vous puissiez toujours garder une vue d’ensemble sur les personnes qui ont accès à vos données, créez vous-même de nouveaux uti­li­sa­teurs et attribuez-leur ensuite certains droits. La commande ap­pro­priée parmi les commandes MongoDB est Create User. Cette méthode vous permet non seulement d’ajouter un nouvel uti­li­sa­teur, mais aussi d’attribuer di­rec­te­ment un ou plusieurs rôles à cette personne. Il est également possible de lui définir un mot de passe.

La syntaxe de MongoDB Create User

La syntaxe de la commande MongoDB Create User se présente en principe comme suit :

db.createUser (user, writeConcern)

En plus de la commande crea­teU­ser pro­pre­ment dite, deux autres in­for­ma­tions sont déjà saisies ici : « user » est un document obli­ga­toire contenant l’au­then­ti­fi­ca­tion du nouvel uti­li­sa­teur, ainsi que toutes les autres données. « wri­te­Con­cern » indique le niveau d’au­to­ri­sa­tion de la personne. Cette in­for­ma­tion est cependant fa­cul­ta­tive.

L’uti­li­sa­teur et ses pa­ra­mètres

Le document « user », que vous devez toujours insérer dans MongoDB pour la méthode « Create User » contient plusieurs pa­ra­mètres im­por­tants :

  • user : cette chaîne contient le nom du nouvel uti­li­sa­teur et est fa­cul­ta­tive.
  • pwd : sous « pwd », vous dé­fi­nis­sez un mot de passe pour la nouvelle personne dans Create User. Cette in­for­ma­tion est toujours né­ces­saire, sauf si vous utilisez la commande sur une base de données externe.
  • cus­tom­Data : ce document est fa­cul­ta­tif et contient, si né­ces­saire, toutes les in­for­ma­tions sup­plé­men­taires sou­hai­tées sur un uti­li­sa­teur. Vous devez par exemple y indiquez le vrai nom de l’uti­li­sa­teur en plus du pseu­do­nyme utilisé.
  • roles : vous attribuez ici à un uti­li­sa­teur des rôles intégrés et définis par l’uti­li­sa­teur. Les in­for­ma­tions sont saisies dans un Array. Le nouvel uti­li­sa­teur n’obtiendra aucun rôle si vous laissez le champ vide.

Le document « user » se présente par exemple comme suit :

{
user: "<nom d’utilisateur="">",</nom>
pwd: "<mot de="" passe="">",</mot>
customData: { <vrai nom,="" id=""> },</vrai>
roles: [ { role: "<rôle>", db: "<base de="" données="">" } ]</rôle>
}

Si vous tra­vail­lez avec MongoDB et Create User et que vous utilisez un uti­li­sa­teur déjà existant, vous recevrez un message d’erreur. Cela permet d’éviter les che­vau­che­ments. Pour afficher tous les uti­li­sa­teurs d’une base de données, utilisez dans MongoDB soit Show Users, soit db.getUsers ().

Attribuer des rôles avec MongoDB Create User

En principe, il est re­com­mandé d’attribuer dès le départ dif­fé­rents rôles aux uti­li­sa­teurs. Vous tra­vail­lez ainsi plus ef­fi­ca­ce­ment en équipe tout en pro­té­geant les données sensibles contre les accès in­dé­si­rables. Si vous souhaitez définir des rôles, vous pouvez le faire en en­re­gis­trant le nom du rôle, à condition qu’il figure dans la même base de données. Sinon, créez un document afin de définir le rôle qui existe déjà dans une autre base de données. Voici comment donner plusieurs rôles à une personne avec la commande MongoDB Create User :

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

Dans cet exemple, nous avons main­te­nant attribué les rôles « read » et « dbAdmin » au nouvel uti­li­sa­teur ou à la nouvelle uti­li­sa­trice.

MongoDB Create User sans attribuer de rôles

Si vous ne souhaitez pas attribuer de rôle à un uti­li­sa­teur, c’est également possible. Néanmoins, vous devez indiquer clai­re­ment cette in­for­ma­tion pour Create User. Voici comment cela fonc­tionne :

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

Si vous laissez les pa­ren­thèses vides, l’uti­li­sa­teur n’obtiendra aucun rôle.

MongoDB Create User pour Admins

La fonction MongoDB Create User permet également de créer des uti­li­sa­teurs chargés de tâches ad­mi­nis­tra­tives. Cette personne aura alors également accès à la con­fi­gu­ra­tion de votre base de données. La procédure est similaire au code déjà connu :

use admin
db.createUser(
{
user: "deuxième_administrateur",
pwd: "mot_de_passe_administrateur",
roles: [ { role: "readWrite", db: "config" },
"clusterAdmin"
]
}
);

Supprimer un uti­li­sa­teur avec MongoDB Drop User

Vous avez également la pos­si­bi­lité de supprimer à tout moment un uti­li­sa­teur. La commande ap­pro­priée pour cela est Drop User et ressemble à Create User dans sa structure. Voici sa syntaxe :

db.dropUser (username, writeConcern)

Vous avez ici seulement besoin d’indiquer le nom d’uti­li­sa­teur :

use exemple
db.dropUser ("username")

Avant de supprimer un uti­li­sa­teur avec des pri­vi­lèges ad­mi­nis­tra­tifs, vous devez d’abord vous assurer qu’au moins une autre personne dispose des au­to­ri­sa­tions né­ces­saires.

Conseil

Vous souhaitez en savoir plus sur l’uti­li­sa­tion du système de gestion de base de données MongoDB ? Dans ce cas, nous vous re­com­man­dons de lire nos autres articles du Digital Guide de IONOS sur ce sujet :
- Col­lec­tion MongoDB Create
- Base de données MongoDB Create
- Index MongoDB Create

Aller au menu principal