Comment créer un utilisateur et ajouter un rôle dans MongoDB
MongoDB Créer un utilisateur administrateur
Création d'un administrateur d'utilisateurs dans MongoDB se fait en utilisant la méthode createUser. L'exemple suivant montre comment cela peut être réalisé.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Explication du code :
- La première étape consiste à spécifier le « nom d'utilisateur » et le « mot de passe » qui doivent être créés.
- La deuxième étape consiste à attribuer un rôle à l'utilisateur. Puisqu'il doit s'agir d'un administrateur de base de données, auquel cas nous lui avons attribué le rôle « userAdminAnyDatabase ». Ce rôle permet à l'utilisateur de disposer de privilèges administratifs sur toutes les bases de données de MongoDB.
- Le paramètre db spécifie la base de données admin qui est une méta base de données spéciale au sein de MongoDB qui contient les informations de cet utilisateur.
Si la commande est exécutée avec succès, la sortie suivante s'affichera :
Sortie :
Le résultat montre qu'un utilisateur appelé « Guru99 » a été créé et que cet utilisateur dispose de privilèges sur toutes les bases de données de MongoDB.
MongoDB Créer un utilisateur pour une base de données unique
Pour créer un utilisateur qui gérera une seule base de données, nous pouvons utiliser la même commande que celle mentionnée ci-dessus mais nous devons utiliser uniquement l'option « userAdmin ».
L'exemple suivant montre comment cela peut être réalisé ;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Explication du code :
- La première étape consiste à spécifier le « nom d'utilisateur » et le « mot de passe » qui doivent être créés.
- La deuxième étape consiste à attribuer un rôle à l'utilisateur qui, dans ce cas, puisqu'il doit être un administrateur de base de données, est attribué au rôle « userAdmin ». Ce rôle permet à l'utilisateur de disposer de privilèges administratifs uniquement sur la base de données spécifiée dans l'option db.
- Le paramètre db spécifie la base de données sur laquelle l'utilisateur doit disposer de privilèges administratifs.
Si la commande est exécutée avec succès, la sortie suivante s'affichera :
Sortie :
Le résultat montre qu'un utilisateur appelé « Employeeadmin » a été créé et que cet utilisateur dispose de privilèges uniquement sur la base de données « Employee ».
Gérer les utilisateurs
Comprenez d’abord les rôles que vous devez définir. Il existe toute une liste de rôles disponibles dans MongoDB. Par exemple, il existe un « rôle de lecture » qui autorise uniquement l'accès en lecture seule aux bases de données, puis il existe le rôle « readwrite » qui fournit un accès en lecture et en écriture à la base de données, ce qui signifie que l'utilisateur peut émettre les autorisations d'insertion, de suppression et d'écriture. mettre à jour les commandes sur les collections de cette base de données.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
L'extrait de code ci-dessus montre qu'un utilisateur appelé Mohan est créé et qu'il se voit attribuer plusieurs rôles dans plusieurs bases de données. Dans l'exemple ci-dessus, il dispose d'une autorisation en lecture seule sur la base de données « Marketing » et d'une autorisation en lecture et écriture sur la base de données « Ventes ».