Zatiaľ čo sa autorizácia zameriava na zabezpečenie prístupu klienta do systému, autentifikácia kontroluje, aký typ prístupu má klient v MongoDB, keď už bol autorizovaný do systému.
Existujú rôzne mechanizmy autentifikácie, nižšie je iba niekoľko z nich.
Autentifikácia MongoDB pomocou certifikátov x.509
Na autentifikáciu klienta použite certifikáty x.509 - Certifikát je v podstate dôveryhodný podpis medzi klientom a serverom MongoDB.
Namiesto zadania používateľského mena a hesla na pripojenie k serveru sa teda medzi klientom a serverom MongoDB odovzdá certifikát. Klient bude mať v podstate certifikát klienta, ktorý sa odošle serveru na autentifikáciu na serveri. Každý certifikát klienta zodpovedá jednému používateľovi MongoDB. Každý užívateľ z MongoDB musí mať svoj vlastný certifikát, aby sa mohol autentifikovať na server MongoDB.
Aby to fungovalo, musia byť dodržané nasledujúce kroky;
- Platný certifikát je potrebné zakúpiť od platného orgánu tretej strany a nainštalovať ho na serveri MongoDB.
- Certifikát klienta musí mať nasledujúce vlastnosti (Jedna certifikačná autorita (CA) musí vydávať certifikáty pre klienta aj server. Certifikáty klienta musia obsahovať nasledujúce polia - keyUsage a extendedKeyUsage.
- Každý používateľ, ktorý sa pripája k serveru MongDB, musí mať samostatný certifikát.
Autentifikácia Mongodb pomocou protokolu Kerberos
Krok 1) Konfigurácia MongoDB s autentifikáciou Kerberos v systéme Windows - Kerberos je autentifikačný mechanizmus používaný v prostrediach veľkých klientov a serverov.
Je to veľmi bezpečný mechanizmus, pri ktorom je heslo povolené iba v prípade, že je šifrované. MongoDB má zariadenie na autentifikáciu proti existujúcemu systému založenému na protokole Kerberos.
Krok 2) Spustite proces servera mongod.exe.
Krok 3) Spustite proces klienta mongo.exe a pripojte sa k serveru MongoDB.
Krok 4) Pridajte používateľa do MongoDB, čo je v podstate hlavné meno protokolu Kerberos, do externej databázy $. Externá databáza $ je špeciálna databáza, ktorá informuje MongoDB o autentifikácii tohto používateľa proti systému Kerberos namiesto jeho vlastného interného systému.
use $externaldb.createUser({user: "This email address is being protected from spambots. You need JavaScript enabled to view it.",roles:[{role: "read" , db:"Marketing"}}]}
Krok 5) Spustite program mongod.exe s podporou protokolu Kerberos pomocou nasledujúceho príkazu
mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI
Potom sa teraz môžete spojiť s používateľom Kerberos a autentifikáciou Kerberos do databázy.
Zhrnutie:
- Na zabezpečenie lepšej bezpečnosti v databázach existujú rôzne mechanizmy autentifikácie. Jedným z príkladov je použitie certifikátov na autentifikáciu používateľov namiesto používania používateľských mien a hesiel.