MongoDB Créer un utilisateur administrateur
La création d'un administrateur d'utilisateur dans MongoDB se fait à l'aide de la méthode createUser. L'exemple suivant montre comment cela peut être fait.
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 être un administrateur de base de données, auquel cas nous avons attribué le rôle "userAdminAnyDatabase". Ce rôle permet à l'utilisateur d'avoir des 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 base de données Meta spéciale dans MongoDB qui contient les informations pour cet utilisateur.
Si la commande est exécutée avec succès, la sortie suivante sera affichée:
Production:
La sortie montre qu'un utilisateur appelé "Guru99" a été créé et que cet utilisateur a des privilèges sur toutes les bases de données de MongoDB.
MongoDB Créer un utilisateur pour une seule base de données
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 fait;
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, étant donné qu'il doit être un administrateur de base de données, est affecté 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 sera affichée:
Production:
La sortie montre qu'un utilisateur appelé «Employeeadmin» a été créé et que cet utilisateur ne dispose de privilèges que sur la base de données «Employé».
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 y a le "rôle de lecture" qui autorise uniquement l'accès en lecture seule aux bases de données, puis il y a 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 l'insertion, la suppression et commandes de mise à jour 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 est autorisé en lecture seule sur la base de données "Marketing" et en lecture-écriture sur la base de données "Ventes".