Medan auktorisering ser på att säkerställa klientåtkomst till systemet kontrollerar autentiseringen vilken typ av åtkomst klienten har i MongoDB när de har godkänts till systemet.
Det finns olika autentiseringsmekanismer, nedan är bara några av dem.
MongoDB-autentisering med x.509-certifikat
Använd x.509-certifikat för att autentisera klienten - Ett certifikat är i grunden en pålitlig signatur mellan klienten och MongoDB-servern.
Så istället för att ange ett användarnamn och lösenord för att ansluta till servern skickas ett certifikat mellan klienten och MongoDB-servern. Klienten har i princip ett klientcertifikat som skickas till servern för att autentisera till servern. Varje klientcertifikat motsvarar en enda MongoDB-användare. Så varje användare från MongoDB måste ha sitt eget certifikat för att autentiseras till MongoDB-servern.
För att säkerställa att detta fungerar måste följande steg följas;
- Ett giltigt certifikat måste köpas från en giltig tredjepartsmyndighet och installera det på MongoDB-servern.
- Klientcertifikatet måste ha följande egenskaper (En enda certifikatutfärdare (CA) måste utfärda certifikaten för både klienten och servern. Klientcertifikaten måste innehålla följande fält - keyUsage och extendedKeyUsage).
- Varje användare som ansluter till MongDB-servern måste ha ett separat certifikat.
Mongodb-autentisering med Kerberos
Steg 1) Konfigurera MongoDB med Kerberos-autentisering på Windows - Kerberos är en autentiseringsmekanism som används i stora klientservermiljöer.
Det är en mycket säker mekanism där lösenordet endast är tillåtet om det är krypterat. MongoDB har möjlighet att autentisera mot ett befintligt Kerberos-baserat system.
Steg 2) Starta mongod.exe-serverprocessen.
Steg 3) Starta mongo.exe-klientprocessen och anslut till MongoDB-servern.
Steg 4) Lägg till en användare i MongoDB, som i grunden är ett Kerberos-huvudnamn till $ extern databas. Extern databas $ är en speciell databas som säger till MongoDB att autentisera den här användaren mot ett Kerberos-system istället för sitt eget interna 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"}}]}
Steg 5) Starta mongod.exe med Kerberos-stöd genom att använda följande kommando
mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI
Och sedan kan du nu ansluta till Kerberos-användaren och Kerberos-autentisering till databasen.
Sammanfattning:
- Det finns olika autentiseringsmekanismer för att ge bättre säkerhet i databaser. Ett exempel är användningen av certifikat för att autentisera användare istället för att använda användarnamn och lösenord.