MongoDB Administrator-gebruiker maken
Het aanmaken van een gebruikersbeheerder in MongoDB wordt gedaan met behulp van de createUser-methode. Het volgende voorbeeld laat zien hoe u dit kunt doen.
db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Code Verklaring:
- De eerste stap is het specificeren van de "gebruikersnaam" en het "wachtwoord" die moeten worden aangemaakt.
- De tweede stap is het toekennen van een rol aan de gebruiker. Omdat het een databasebeheerder moet zijn, hebben we in dat geval de rol "userAdminAnyDatabase" toegewezen. Met deze rol kan de gebruiker beheerdersrechten hebben voor alle databases in MongoDB.
- De parameter db specificeert de admin-database, een speciale Meta-database binnen MongoDB die de informatie voor deze gebruiker bevat.
Als de opdracht met succes is uitgevoerd, wordt de volgende uitvoer weergegeven:
Uitgang:
De uitvoer laat zien dat een gebruiker met de naam "Guru99" is gemaakt en dat die gebruiker privileges heeft over alle databases in MongoDB.
MongoDB Gebruiker aanmaken voor één database
Om een gebruiker aan te maken die een enkele database zal beheren, kunnen we hetzelfde commando gebruiken als hierboven vermeld, maar we hebben alleen de "userAdmin" optie nodig.
Het volgende voorbeeld laat zien hoe dit kan worden gedaan;
db.createUser({user: "Employeeadmin",pwd: "password",roles:[{role: "userAdmin" , db:"Employee"}]})
Code Verklaring:
- De eerste stap is het specificeren van de "gebruikersnaam" en het "wachtwoord" die moeten worden aangemaakt.
- De tweede stap is het toewijzen van een rol aan de gebruiker die in dit geval, aangezien het een databasebeheerder moet zijn, wordt toegewezen aan de rol "userAdmin". Met deze rol heeft de gebruiker alleen beheerdersrechten voor de database die is opgegeven in de db-optie.
- De parameter db specificeert de database waarvoor de gebruiker beheerdersrechten moet hebben.
Als de opdracht met succes is uitgevoerd, wordt de volgende uitvoer weergegeven:
Uitgang:
De output laat zien dat een gebruiker met de naam "Employeeadmin" is aangemaakt en dat die gebruiker alleen privileges heeft op de "Employee" -database.
Gebruikers beheren
Begrijp eerst de rollen die u moet definiëren. Er is een hele lijst met rollen beschikbaar in MongoDB. Er is bijvoorbeeld een 'leesrol' die alleen alleen-lezen toegang tot databases toestaat en dan is er de 'lees-schrijf'-rol die lees- en schrijftoegang biedt tot de database, wat betekent dat de gebruiker de invoeging kan uitgeven, verwijderen en update-opdrachten voor verzamelingen in die database.
db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})
Het bovenstaande codefragment laat zien dat een gebruiker genaamd Mohan is gemaakt en dat hij meerdere rollen in meerdere databases krijgt toegewezen. In het bovenstaande voorbeeld krijgt hij alleen-lezen toestemming voor de "Marketing" -database en readWrite-toestemming voor de "Verkoop" -database.