MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

utwórz bezpieczną bazę danych w mongodb

Z samouczka Mongo Java

MongoDB można uruchomić w trybie bezpiecznym, w którym dostęp do baz danych jest kontrolowany przez uwierzytelnianie za pomocą nazwy i hasła. Po uruchomieniu w tym trybie każda aplikacja kliencka musi podać nazwę i hasło przed wykonaniem jakichkolwiek operacji. W sterowniku Java po prostu wykonaj następujące czynności z podłączonym obiektem mongo :

boolean auth = db.authenticate(myUserName, myPassword);

Jeśli nazwa i hasło są poprawne dla bazy danych, auth będzie prawdziwe. W przeciwnym razie będzie fałszywy. Powinieneś zajrzeć do dziennika MongoDB, aby uzyskać dalsze informacje, jeśli są dostępne.

Większość użytkowników uruchamia MongoDB bez uwierzytelniania w zaufanym środowisku.

Konfigurowanie uwierzytelniania i zabezpieczeń

Uwierzytelnianie jest przechowywane w kolekcji system.users każdej bazy danych. Na przykład, w projekcie bazy danych x, projectx.system.users będzie zawierał informacje o użytkowniku.

Powinniśmy najpierw skonfigurować użytkownika administratora dla całego procesu serwera db. Ten użytkownik jest przechowywany w specjalnej bazie danych administratora.

Jeśli żaden użytkownik nie jest skonfigurowany w admin.system.users, można uzyskać dostęp do bazy danych z interfejsu localhost bez uwierzytelniania. W ten sposób z serwera, na którym działa baza danych (a więc na hoście lokalnym), uruchom powłokę bazy danych i skonfiguruj użytkownika administracyjnego:

$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")

Mamy teraz użytkownika utworzonego dla administratora bazy danych. Zwróć uwagę, że jeśli wcześniej nie dokonaliśmy uwierzytelnienia, musimy teraz, jeśli chcemy wykonać dalsze operacje, ponieważ w admin.system.users znajduje się użytkownik.

> db.auth("theadmin", "anadminpassword")

Możemy wyświetlić istniejących użytkowników bazy danych za pomocą polecenia:

> db.system.users.find()

Teraz skonfigurujmy „zwykłego” użytkownika dla innej bazy danych.

> use projectx
> db.addUser("joe", "passwordForJoe")

Na koniec dodajmy użytkownika tylko do odczytu. (obsługiwane tylko w wersji 1.3.2+)

> use projectx
> db.addUser("guest", "passwordForGuest", true)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo _id dla tablicy poddokumentów

  2. Drzewo wyrażeń nie jest obsługiwane w UpdateOneAsync

  3. Implementacja mongodb differ() w Meteorze na serwerze?

  4. Wiele $ regex przy użyciu $i w MongoDB

  5. Znaleźć obiekt na podstawie elementu tablicy, zwrócić tylko pasujący element tablicy?