Докато упълномощаването разглежда осигуряването на достъп на клиента до системата, удостоверяването проверява какъв тип достъп има клиентът в MongoDB, след като бъде упълномощен в системата.
Има различни механизми за удостоверяване, по-долу са само няколко от тях.
MongoDB удостоверяване с помощта на x.509 сертификати
Използвайте x.509 сертификати за удостоверяване на клиента - Сертификатът е основно доверен подпис между клиента и MongoDB сървъра.
Така че вместо да въвеждате потребителско име и парола за свързване със сървъра, се предава сертификат между клиента и MongoDB сървъра. Клиентът основно ще има клиентски сертификат, който ще бъде предаден на сървъра за удостоверяване в сървъра. Всеки клиентски сертификат съответства на един потребител на MongoDB. Така че всеки потребител от MongoDB трябва да има свой собствен сертификат, за да се удостовери на сървъра на MongoDB.
За да се гарантира това работи, трябва да се следват следните стъпки;
- Валиден сертификат трябва да бъде закупен от валиден орган на трета страна и да го инсталирате на сървъра MongoDB.
- Клиентският сертификат трябва да има следните свойства (Един сертифициращ орган (CA) трябва да издава сертификатите както за клиента, така и за сървъра. Клиентските сертификати трябва да съдържат следните полета - keyUsage и extensionKeyUsage.
- Всеки потребител, който се свързва със сървъра MongDB, трябва да има отделен сертификат.
Mongodb удостоверяване с Kerberos
Стъпка 1) Конфигуриране на MongoDB с удостоверяване на Kerberos на Windows - Kerberos е механизъм за удостоверяване, използван в големи клиент-сървърни среди.
Това е много сигурен механизъм, при който паролата е разрешена само ако е криптирана. Е, MongoDB има възможност за удостоверяване срещу съществуваща система, базирана на Kerberos.
Стъпка 2) Стартирайте процеса на сървър mongod.exe.
Стъпка 3) Стартирайте процеса на клиент mongo.exe и се свържете със сървъра MongoDB.
Стъпка 4) Добавете потребител в MongoDB, което е основно име на принципал на Kerberos към $ външната база данни. $ Външната база данни е специална база данни, която казва на MongoDB да удостоверява този потребител срещу система Kerberos вместо собствена вътрешна система.
use $externaldb.createUser({user: "This email address is being protected from spambots. You need JavaScript enabled to view it.",roles:[{role: "read" , db:"Marketing"}}]}
Стъпка 5) Стартирайте mongod.exe с поддръжка на Kerberos, като използвате следната команда
mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI
И тогава вече можете да се свържете с потребителя на Kerberos и удостоверяването на Kerberos към базата данни.
Резюме:
- Съществуват различни механизми за удостоверяване, за да се осигури по-добра сигурност в базите данни. Един пример е използването на сертификати за удостоверяване на потребителите, вместо да се използват потребителски имена и пароли.