Hvordan opprette bruker og legge til rolle i MongoDB
MongoDB Opprett administratorbruker
Opprette en brukeradministrator i MongoDB gjøres ved å bruke createUser-metoden. Følgende eksempel viser hvordan dette kan gjøres.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Kodeforklaring:
- Det første trinnet er å spesifisere "brukernavnet" og "passordet" som må opprettes.
- Det andre trinnet er å tildele en rolle for brukeren. Siden det må være en databaseadministrator, i så fall har vi tildelt rollen "userAdminAnyDatabase". Denne rollen lar brukeren ha administrative rettigheter til alle databaser i MongoDB.
- Parameteren db spesifiserer admindatabasen som er en spesiell metadatabase innenfor MongoDB som holder informasjonen for denne brukeren.
Hvis kommandoen utføres vellykket, vil følgende utgang vises:
Utgang:
Utdataene viser at en bruker kalt "Guru99" ble opprettet og at brukeren har privilegier over alle databasene i MongoDB.
MongoDB Opprett bruker for enkeltdatabase
For å opprette en bruker som skal administrere en enkelt database, kan vi bruke samme kommando som nevnt ovenfor, men vi trenger bare å bruke "userAdmin" -alternativet.
Følgende eksempel viser hvordan dette kan gjøres;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Kodeforklaring:
- Det første trinnet er å spesifisere "brukernavnet" og "passordet" som må opprettes.
- Det andre trinnet er å tildele en rolle for brukeren som i dette tilfellet siden den må være en databaseadministrator er tildelt rollen "userAdmin". Denne rollen lar brukeren bare ha administrative rettigheter til databasen spesifisert i db-alternativet.
- Parameteren db spesifiserer databasen som brukeren skal ha administrative rettigheter til.
Hvis kommandoen utføres vellykket, vil følgende utgang vises:
Utgang:
Utdataene viser at en bruker kalt "Employeeadmin" ble opprettet og at brukeren har rettigheter kun på "Employee"-databasen.
Administrere brukere
Forstå først rollene du må definere. Det er en hel liste over roller tilgjengelig i MongoDB. For eksempel er det en "lese-rolle" som bare tillater skrivebeskyttet tilgang til databaser, og så er det "readwrite"-rollen som gir lese- og skrivetilgang til databasen, noe som betyr at brukeren kan utstede innsettingen, slette og oppdater kommandoer på samlinger i den databasen.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
Kodebiten ovenfor viser at en bruker kalt Mohan er opprettet, og han er tildelt flere roller i flere databaser. I eksemplet ovenfor får han skrivebeskyttet tillatelse til "Markedsføring"-databasen og lese-skrive-tillatelse til "Salg"-databasen.