Хоча авторизація спрямована на забезпечення доступу клієнта до системи, аутентифікація перевіряє, який тип доступу має клієнт у 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 до бази даних.
Короткий зміст:
- Існують різні механізми автентифікації для забезпечення кращого захисту баз даних. Одним із прикладів є використання сертифікатів для автентифікації користувачів замість використання імен користувачів та паролів.