sobota, 3 marca 2018

MongoDB - użytkownicy

Po zainstalowaniu serwera MongoDB warto zabezpieczyć instancję poprzez dodanie użytkowników administrujących serwerem i włączyć uwierzytelnianie.

Poniższa procedura dodaje użytkownika, który może administrować innymi użytkownikami w bazie (upewnij się wcześniej czy już takowy nie istnieje):
use admin;
db.createUser( { user: "siteUserAdmin", pwd: "haslo", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } );
Kolejny użytkownik może np. włączać serwer i tworzyć inne bazy:
use admin;db.createUser( { user: "siteRootAdmin", pwd: "haslo", roles: [ { role:  "root", db: "admin" } ] } );
Następnie do pliku konfiguracyjnego serwera dodajemy:
 security:
authorization: enabled
Aby uwierzytelnianie zadziałało musimy zrestartować serwer.

Teraz możemy zalogować się na dwa sposoby:
- "mongo --username uzytkownik --password haslo --authenticationDatabase nazwa_bazy",
- wywolujemy w powloce komende "mongo", a następnie:
 use nazwa_bazy;
db.auth("uzytkownik", "haslo");
Przystępując do procesu tworzenia nowych użytkowników należy najpierw stworzyć użytkownika administrującego systemem, a potem z jego poziomu tworzyć innych użytkowników.

Rola stworzona w bazie danych "admin" może zawierać przywileje, które mają zastosowanie do bazy danych "admin", innych baz lub zasobów klastra.