Jak włączyć uwierzytelnianie w MongoDB

Jak włączyć uwierzytelnianie w MongoDB

Ważną funkcją bezpieczeństwa jest możliwość uwierzytelniania użytkowników za pomocą bazy danych. Jest to szczególnie prawdziwe, gdy ta baza danych przechowuje poufne informacje, takie jak konta użytkowników dla danych witryny lub firmy.

Dzięki uwierzytelnianiu włączonym w instancji MongoDB możesz ustawić określone reguły dotyczące tego, co mogą zrobić konta użytkowników i jaki mają dostęp. Oznacza to również, że możesz również zablokować niektóre funkcje, aby tylko autoryzowani użytkownicy mieli do nich dostęp.

W tym artykule pokażemy, jak włączyć uwierzytelnianie w MongoDB, aby tylko autoryzowani użytkownicy mogli uzyskać dostęp do bazy danych i jej zawartości.

Utwórz użytkownika administratora

Najpierw utworzymy użytkownika do zarządzania wszystkimi użytkownikami i bazami danych, a następnie utworzymy właściciela bazy danych MongoDB z uprawnieniami do odczytu i zapisu w jednej instancji bazy danych.

Aby zarządzać wszystkimi użytkownikami i bazami danych, utwórz użytkownika administratora na serwerze MongoDB. Korzystając z Mongo Shell, przełącz do bazy danych administratora i utwórz użytkownika.

"> Użyj administratora  "> db.createuser („User”: „admin”, „Pwd”: „admin_password”, „role”: [„Rola”: „root”, „db”: „admin”)  

Sprawdź uwierzytelnianie, uruchom polecenie na Mongo Shell:

"> db.Auth („admin”, „admin_password”)  

Wynik „1” dotyczy udanego uwierzytelnienia.

Utwórz użytkownik specyficzny dla bazy danych

Teraz skonfiguruj użytkownika do bazy danych aplikacji. Użyj polecenia „Użyj”, aby wybrać bazę danych, a następnie utwórz użytkownika z następującymi poleceniami. Musisz zmienić nazwę bazy danych, nazwę użytkownika i hasło na te wymienione poniżej.

"> Użyj mydb  "> db.createuser („User”: „db_user”, „PWD”: „Your_Password”, „Role”: [„Rola”: „Dbowner”, „db”: „mydb”])  

Sprawdź uwierzytelnianie, uruchom polecenie na Mongo Shell:

"> db.Auth („db_user”, „your_password”)  

Wynik „1” dotyczy udanego uwierzytelnienia.

Włączanie uwierzytelniania na MongoDB

Właśnie utworzyłeś użytkownika dla swojej bazy danych. Teraz odwróć przełącznik uwierzytelnienia, aby wymusić logowanie. Aby egzekwować uwierzytelnianie na serwerze MongoDB, edytuj /itp./Mongood.conf W preferowanym edytorze tekstu.

sudo vim /itp. /Mongood.conf  

Dodaj/edytuj poniższe wiersze do pliku konfiguracyjnego

Bezpieczeństwo: autoryzacja: włączona 

Zapisz swój plik i zamknij.

Następnie uruchom ponownie instancję MongoDB, aby zastosować zmiany.

sudo systemctl restart mongood  

Wszystkie zrobione!

Wniosek

Zabezpieczyłeś swój serwer MongoDB, włączając odpowiednie uwierzytelnianie w bazach danych. MongoDB odrzuci wszystkie żądania bez uwierzytelnienia. Zaleca się również ograniczenie portu MongoDB 27017 za pośrednictwem zapory, niezależnie od tego, czy jest on dostarczany przez hosting chmurowy, czy zapora instalacji systemu.