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

Trzy A bezpieczeństwa MongoDB — uwierzytelnianie, autoryzacja i audyt

MongoDB poczyniła imponujące postępy w ciągu ostatnich 18 miesięcy. Jednym z obszarów MongoDB, który odnotował największą poprawę, jest bezpieczeństwo. Bezpieczeństwo ma ogromne znaczenie dla produkcyjnej bazy danych. Istniejące relacyjne bazy danych zapewniają szereg pokręteł i kontrolek, które pomagają administratorowi bazy danych (DBA) zarządzać bezpieczeństwem ich bazy danych, a MongoDB również trafia do podobnego miejsca. W tym poście zagłębimy się w funkcje bezpieczeństwa w obszarach uwierzytelniania, autoryzacji i audytu.

  1. Uwierzytelnianie

    MongoDB oferuje różne mechanizmy uwierzytelniania połączenia użytkowników z bazą danych. Wybierz mechanizm, który zapewnia najlepszą równowagę między bezpieczeństwem a zarządzaniem. Chociaż opcjonalne, zaleca się, aby wszystkie systemy produkcyjne miały włączone uwierzytelnianie.

    • Uwierzytelnianie odpowiedzi na wyzwanie (MongoDB-CR)

      Jest to tradycyjne uwierzytelnianie na podstawie nazwy użytkownika/hasła. Użytkowników można tworzyć w zakresie bazy danych lub całego klastra. Jeśli użytkownik potrzebuje tylko dostępu do danych w określonej bazie danych, zaleca się utworzenie tylko użytkownika specyficznego dla tej bazy danych. Dostęp na poziomie klastra powinien być ograniczony dla administratorów.

    • Uwierzytelnianie certyfikatem X.509

      Użytkownicy mogą uwierzytelniać się w swojej bazie danych MongoDB przy użyciu certyfikatu X.509. Aby to zrobić, serwer MongoDB musi mieć włączony SSL. Domyślnie kompilacje społeczności MongoDB nie mają włączonej obsługi SSL. Aby korzystać z wersji Enterprise, musisz wdrożyć własną kompilację lub zarejestrować się. Możesz utworzyć użytkownika w MongoDB dla każdego certyfikatu X.509 z unikalnym tematem. Aby uzyskać więcej szczegółowych instrukcji, zapoznaj się z konfiguracją certyfikatu MongoDB X.509.

    • Uwierzytelnianie Kerberos

      Wersje MongoDB dla przedsiębiorstw obsługują uwierzytelnianie przy użyciu protokołu Kerberos, który jest standardem branżowym w zakresie uwierzytelniania serwera klienckiego. Na przykład, jeśli jesteś przedsiębiorstwem z instalacją Active Directory, możesz użyć mechanizmu uwierzytelniania Kerberos do uwierzytelniania użytkowników. Pozwala to uniknąć kłopotów z zarządzaniem nazwami użytkowników, hasłami lub certyfikatami. Kliknij tutaj, aby uzyskać instrukcje dotyczące integracji MongoDB z Active Directory.

  2. Autoryzacja

    System autoryzacji określa, jakie operacje mogą wykonać użytkownicy po zakończeniu uwierzytelniania. MongoDB obsługuje model kontroli dostępu opartej na rolach (RBAC). Każdemu użytkownikowi przypisuje się określone role, które określają operacje, które może wykonywać. MongoDB ma zestaw wbudowanych ról, możesz także tworzyć własne role niestandardowe. Każdej roli przypisywany jest zestaw uprawnień, które łączą zasoby z dozwolonymi operacjami na tym zasobie. MongoDB zapewnia wbudowane role w następujących zakresach:

    • Role użytkownika bazy danych

      odczyt, odczyt, zapis

    • Role administratora bazy danych (DBA)

      dbAdmin, dbWłaściciel, userAdmin

    • Role administratora klastrów

      clusterAdmin, clusterManager, clusterMonitor, hostManager

    • Role kopii zapasowych i przywracania

      kopia zapasowa, przywracanie

    • Wszystkie role bazy danych

      readAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase

    • Role superużytkownika

      root

    Więcej informacji na temat ról, które należy przypisać użytkownikom, można znaleźć w dokumentacji ról wbudowanych.

  3. Audyt

    W wersji MongoDB Enterprise 2.6 dodano obsługę audytu. Serwer MongoDB można skonfigurować tak, aby generował zdarzenia audytu dla interesujących operacji MongoDB, takich jak logowanie użytkownika, zmiany DDL, zmiany konfiguracji zestawu replik itp. Umożliwia to korzystanie z istniejącego narzędzia audytu przedsiębiorstwa do pobierania i przetwarzania niezbędnych zdarzeń. Aby uzyskać więcej informacji, zapoznaj się z listą zdarzeń MongoDB, które można kontrolować.

Więcej wskazówek na temat poprawy bezpieczeństwa baz danych MongoDB można znaleźć w naszym innym poście na blogu – 10 wskazówek, jak poprawić bezpieczeństwo MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jaka jest różnica między metodami insert(), insertOne() i insertMany()?

  2. Operatory MongoDB $gt/$lt z cenami przechowywanymi w postaci ciągów

  3. Jak zwrócić dane JSON z php MongoCursor

  4. mapowanie w tworzeniu indeksu w elasticsearch przez rzekę mongodb nie działa

  5. Potok zbiorczy MongoDB powoli po pierwszym kroku dopasowania