Mens autorisasjon ser på å sikre klienttilgang til systemet, sjekker godkjenningen hvilken type tilgang klienten har i MongoDB, når de først er autorisert til systemet.
Det er forskjellige autentiseringsmekanismer, nedenfor er bare noen få av dem.
MongoDB-autentisering ved bruk av x.509-sertifikater
Bruk x.509 sertifikater for å autentisere klienten - Et sertifikat er i utgangspunktet en klarert signatur mellom klienten og MongoDB Server.
Så i stedet for å angi et brukernavn og passord for å koble til serveren, sendes et sertifikat mellom klienten og MongoDB Server. Klienten vil i utgangspunktet ha et klientsertifikat som vil bli sendt til serveren for å autentisere seg på serveren. Hvert klientsertifikat tilsvarer en enkelt MongoDB-bruker. Så hver bruker fra MongoDB må ha sitt eget sertifikat for å kunne autentiseres til MongoDB-serveren.
For å sikre at dette fungerer, må følgende trinn følges;
- Et gyldig sertifikat må kjøpes fra en gyldig tredjepartsmyndighet og installere det på MongoDB Server.
- Klientsertifikatet må ha følgende egenskaper (En enkelt sertifiseringsmyndighet (CA) må utstede sertifikatene for både klienten og serveren. Klientsertifikatene må inneholde følgende felt - keyUsage og extendedKeyUsage.
- Hver bruker som kobler til MongDB Server, må ha et eget sertifikat.
Mongodb-autentisering med Kerberos
Trinn 1) Konfigurer MongoDB med Kerberos Authentication på Windows - Kerberos er en autentiseringsmekanisme som brukes i store klient-servermiljøer.
Det er en veldig sikker mekanisme der passordet bare er tillatt hvis det er kryptert. MongoDB har muligheten til å autentisere mot et eksisterende Kerberos-basert system.
Trinn 2) Start serverprosessen mongod.exe.
Trinn 3) Start klientprosessen mongo.exe og koble til MongoDB-serveren.
Trinn 4) Legg til en bruker i MongoDB, som i utgangspunktet er et Kerberos-hovednavn i $ den eksterne databasen. $ Den eksterne databasen er en spesiell database som forteller MongoDB å autentisere denne brukeren mot et Kerberos-system i stedet for sitt eget interne system.
use $externaldb.createUser({user: "This email address is being protected from spambots. You need JavaScript enabled to view it.",roles:[{role: "read" , db:"Marketing"}}]}
Trinn 5) Start mongod.exe med Kerberos-støtte ved å bruke følgende kommando
mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI
Og så kan du nå koble deg til Kerberos-brukeren og Kerberos-autentisering til databasen.
Sammendrag:
- Det er forskjellige autentiseringsmekanismer for å gi bedre sikkerhet i databaser. Et eksempel er bruk av sertifikater for å autentisere brukere i stedet for å bruke brukernavn og passord.