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

Wymuszanie kontroli dostępu opartej na rolach za pomocą ClusterControl

W niedawnym wydaniu programu Manynines w wersji 1.8.2 ClusterControl wprowadziliśmy wiele zaawansowanych funkcji i zmian. Jedną z ważnych funkcji jest nowo ulepszony system zarządzania użytkownikami, który obejmuje zarządzanie nowymi użytkownikami i LDAP. Uzupełniającą istniejącą funkcją ClusterControl jest kontrola dostępu oparta na rolach (RBAC) do zarządzania użytkownikami, na której koncentruje się ten blog.

Kontrola dostępu oparta na rolach w ClusterControl

Dla tych, którzy nie znają kontroli dostępu opartej na rolach (RBAC) ClusterControl, jest to funkcja, która umożliwia ograniczenie dostępu niektórych użytkowników do określonych funkcji klastra bazy danych oraz czynności lub zadań administracyjnych. Na przykład dostęp do wdrażania (dodawanie systemów równoważenia obciążenia, dodawanie istniejącego klastra), funkcji zarządzania i monitorowania. Gwarantuje to, że tylko autoryzowani użytkownicy mogą pracować i wyświetlać w oparciu o ich odpowiednie role i pozwala uniknąć niepożądanych włamań lub błędów ludzkich poprzez ograniczenie dostępu roli do zadań administracyjnych. Dostęp do funkcjonalności jest szczegółowy, co umożliwia zdefiniowanie dostępu przez organizację lub użytkownika. ClusterControl używa struktury uprawnień, aby zdefiniować, w jaki sposób użytkownik może komunikować się z funkcjami zarządzania i monitorowania w oparciu o ich poziom autoryzacji.

Kontrola dostępu oparta na rolach w ClusterControl odgrywa ważną rolę, szczególnie dla administratorów, którzy stale wykorzystują ją w ramach swoich zadań DBA. Administrator ClusterControl powinien znać tę funkcję, ponieważ umożliwia ona delegowanie zadań członkom zespołu, kontrolowanie dostępu do funkcji ClusterControl i nie udostępnianie wszystkich funkcji wszystkim użytkownikom. Można to osiągnąć, korzystając z funkcji zarządzania użytkownikami, która pozwala kontrolować, kto może co robić. Na przykład możesz skonfigurować zespół, taki jak analityk, programiści lub administratorzy baz danych, i dodać ograniczenia zgodnie z ich zakresem odpowiedzialności za dany klaster baz danych.

Kontrola dostępu ClusterControl jest przedstawiona na poniższym schemacie,

Szczegóły terminów użytych powyżej znajdują się poniżej. Zespół można przypisać do jednego lub więcej klastrów baz danych zarządzanych przez ClusterControl. Zespół składa się z pustych lub wielu użytkowników w zespole. Domyślnie podczas tworzenia nowego zespołu konto superadministratora będzie zawsze z nim powiązane. Usunięcie superadministratora nie odbiera mu połączenia z nowym zespołem.

Użytkownik i Klaster muszą być przypisane do Zespołu; jest to obowiązkowa implementacja w ClusterControl. Domyślnie konto superadministratora jest przypisane do zespołu administracyjnego, który został już domyślnie utworzony. Klastry baz danych są również domyślnie przypisane do zespołu administratorów.

Rola nie może mieć przypisanego użytkownika lub może być przypisana wielu użytkownikom zgodnie z ich rolą ClusterControl.

Role w ClusterControl

Role w ClusterControl są w rzeczywistości ustawione domyślnie. Następujące domyślne role są następujące:

  • Superadministrator - Jest to rola ukryta, ale jest to rola superadministratora (superadministratora), co oznacza wszystkie funkcje są dostępne dla tej roli. Domyślnie użytkownik utworzony po pomyślnej instalacji reprezentuje Twoją rolę superadministratora. Dodatkowo podczas tworzenia nowego zespołu superadministrator jest zawsze domyślnie przypisany do nowego zespołu.

  • Administrator — domyślnie prawie wszystkie funkcje są widoczne. Widoczność oznacza, że ​​użytkownicy z rolą administratora mogą wykonywać zadania związane z zarządzaniem. Funkcje niedostępne dla tej roli to Doradca klienta i Zarządzanie kluczami SSL.

  • Użytkownik — Integracje, dostęp do wszystkich klastrów i niektóre funkcje nie są dostępne dla tej roli i są odrzucane przez domyślna. Jest to przydatne, jeśli chcesz przypisać zwykłych użytkowników, którzy nie mają wykonywać zadań związanych z bazą danych ani administracją. Istnieje kilka ręcznych czynności, które należy wykonać, aby osoby pełniące rolę użytkownika mogły zobaczyć inne klastry.

Role w ClusterControl są arbitralne, więc administratorzy mogą tworzyć dowolne role i przypisywać je użytkownikowi w aplikacji Teams.

Jak uzyskać dostęp do ról ClusterControl

Możesz utworzyć niestandardową rolę z własnym zestawem poziomów dostępu. Przypisz rolę do konkretnego użytkownika na karcie Zespoły. Można to osiągnąć, znajdując Zarządzanie użytkownikami na pasku bocznym w prawym rogu. Zobacz zrzut ekranu poniżej:

Egzekwowanie kontroli dostępu opartej na rolach za pomocą ClusterControl

Wymuszanie RBAC jest specyficzne dla domeny użytkownika, co ogranicza dostęp użytkownika do funkcji ClusterControl zgodnie z jego rolami i uprawnieniami. Mając to na uwadze, powinniśmy zacząć tworzyć konkretnego użytkownika.

Tworzenie użytkownika w ClusterControl

Aby utworzyć użytkownika, rozpocznij od zakładki Zarządzanie użytkownikami ➝ Zespoły. Teraz stwórzmy najpierw Drużynę.

Po utworzeniu istnieje konto superadministratora, które jest domyślnie połączone po utworzeniu zespołu.

Teraz dodajmy nowego użytkownika. Dodawanie nowego użytkownika musi odbywać się w ramach zespołu, abyśmy mogli go utworzyć w ramach DevOps.

Jak mogłeś zauważyć, nowy użytkownik, którego utworzyliśmy, znajduje się teraz w roli Użytkownik, która jest domyślnie dodawana w ramach ClusterControl. Wtedy Zespół jest również objęty DevOps.

Zasadniczo jest teraz dwóch użytkowników w zespole DevOps, jak pokazano poniżej:

Pamiętaj, że role są zależne od domeny użytkownika, więc nakłada ograniczenia dostępu tylko na tego konkretnego użytkownika, a nie na zespół, do którego należy.

Role administratora a użytkownika (role domyślne w ClusterControl)

Ponieważ domyślnie dodaliśmy dwie role w ClusterControl, istnieją ograniczenia, które są ustawione domyślnie. Aby dowiedzieć się, co to jest, przejdź do Zarządzanie użytkownikami Kontrola dostępu. Poniżej znajduje się zrzut ekranu przedstawiający dostępne funkcje lub uprawnienia, które może wykonywać użytkownik należący do roli:

Rola administratora

Rola użytkownika

Rola administratora ma znacznie więcej uprawnień, podczas gdy rola użytkownika ma pewne uprawnienia, które są ograniczone. Te domyślne role można modyfikować zgodnie z pożądaną konfiguracją. Dodanie roli umożliwia również rozpoczęcie i określenie, które role są dozwolone, a które nie. Na przykład utworzymy nową rolę. Aby utworzyć rolę, po prostu naciśnij przycisk „+” plus obok ról. Możesz zobaczyć nową rolę, którą stworzyliśmy o nazwie Przeglądarka.

Wszystkie znaczniki są odznaczone. Po prostu zaznacz w kolumnie Zezwalaj, aby włączyć funkcję lub uprawnienie, lub zaznacz w kolumnie Odmów, jeśli chcesz odmówić dostępu. Kolumna Zarządzaj umożliwia użytkownikom w tej roli wykonywanie zadań zarządzania. Natomiast kolumna Modyfikuj umożliwia włączenie modyfikacji, które są dostępne tylko dla uprawnień lub funkcji w Alarmach, Zadaniach i Ustawieniach.

Testowanie RBAC

W tym przykładzie w moim kontrolerze znajdują się następujące klastry, jak pokazano poniżej:

To jest widoczne dla konta superadministratora w tym środowisku.

Teraz, gdy mamy ustawione RBAC dla właśnie utworzonego użytkownika, spróbujmy zalogować się przy użyciu adresu e-mail i hasła, które właśnie ustawiliśmy.

Oto, co jest tworzone,

Żadne klastry nie są dostępne i widoczne, a niektóre uprawnienia są odmawiane, jak pokazano poniżej, takie jak ustawienia zarządzania kluczami i powiadomienia e-mail:

Dostosowywanie RBAC

Ponieważ uprawnienia w rolach są zmienne, łatwo jest nimi zarządzać za pomocą opcji Zarządzanie użytkownikami ➝ Kontrola dostępu.

Teraz pozwólmy utworzonemu użytkownikowi przeglądać klaster. Ponieważ nasz użytkownik ma odmowę dostępu do wszystkich klastrów, musimy go włączyć. Zobacz poniżej,

Teraz, jak wspomnieliśmy wcześniej na podstawie diagramu, klastry są kontrolowane przez Zespół. Na przykład poniżej znajdują się następujące przypisania klastrów:

Ponieważ musimy przypisać klaster do odpowiedniego zespołu, wybranie konkretnego klastra i kliknięcie przycisku „Zmień zespół” spowoduje wyświetlenie monitu umożliwiającego ponowne przypisanie go do właściwego zespołu.

Teraz przypiszmy to do DevOps.

Teraz zaloguj się ponownie jako nowo utworzony użytkownik i będziemy mogli zobaczyć klaster.

Podsumowanie

Kontrola dostępu oparta na rolach (RBAC) w ClusterControl to funkcja, która zapewnia szczegółową restrykcyjną kontrolę dostępu dla każdego użytkownika utworzonego w ClusterControl, umożliwiając większe bezpieczeństwo i bardziej restrykcyjną kontrolę dostępu w oparciu o rola użytkownika.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Limit rozmiaru pojedynczego dokumentu MongoDB wynosi 16 MB

  2. Mongo przesuń do tablicy wewnątrz tablicy

  3. Silnik wykrywania i monitorowania serwerów jest przestarzały

  4. Kiedy do Redisa? Kiedy do MongoDB?

  5. Utwórz klaster baz danych w chmurze za pomocą MongoDB Atlas