Serwer RHQ umożliwia definiowanie uprawnień dostępu do poszczególnych zasobów, które są monitorowane. Możliwa jest także odpowiednia granulacja tych uprawnień, zarówno ze względu na dostępu do poszczególnych usług jak i operacji jakie można na nich wykonywać.

Model uwierzytelniania w RHQ opiera się o role, które są miejscem łączącym operacje jakie można wykonać wraz z odpowiednimi użytkownikami oraz grupami.

Celem będzie uzyskanie następującej sytuacji: utworzenie nowego użytkownika, który będzie miał możliwość monitorowania wszystkich zasobów oraz możliwość pełnej kontroli nad skryptami startowymi agentów monitorujących.

Rodzaje uprawnień w RHQ

Poszczególne uprawnienia dzielą sią na dwie grupy: globalne i dotyczące zasobów.

W przypadku uprawnień globalnych, są dostępne następujące zezwolenia:

  • Manage security (users/roles) – pozwala na modyfikowanie ustawień związanych z zarządzaniem rolami oraz użytkownikami. W praktyce użytkownik z tą rolą ma kontrolę nad całym systemem (zawsze może sobie odpowiednią rolę samodzielnie).
  • Manage inventory (resources/groups) – pozwala na wykonywania dowolnych akcji na każdym zasobie, niezależnie od innych uprawnień jakie mogą być skonfigurowane.
  • Administer RHQ Server settings – pozwala na modyfikowanie konfiguracji serwera RHQ

Uprawnienia do zasobów odnoszą się tylko do zasobów, które są dodanie do danej roli. Są dostępne następujące zezwolenia:

  • Modify – pozwala na modyfikacje opis zasobów w serwerze RHQ (czyli np. jego nazwy), nie umożliwia konfiguracji zasobu;
  • Delete – pozwala na usunięcie danego zasobu z serwera;
  • Create Child – pozwala na dodanie nowego zasobu potomnego;
  • Alerts – pozwala na zarządzanie alarmami;
  • Measurements – pozwala na niemodyfikowanie sposobów w jakie zbierane są informacje z monitoringu;
  • Content
  • Control – pozwala na wykonywanie akcji w ramach zasobów
  • Configure – pozwala na modyfikację konfiguracji danego zasobu

Tak się prezentuje rola super użytkownika:

RHQ Server - Super User Role

RHQ Server - Super User Role

Utworzenie grup zasobów

Ponieważ konkretne uprawnienia są przydzielane do grup, to najpierw należy zdefiniować dwie grupy, obie dynamiczne:

  • Agent Laucher Script – lista agentów działających w ramach systemu monitorującego
  • Wszystkie platformy – wszystkie platformy jakie są podłączone do serwera monitorującego

O sposobie definicji grupy dynamicznej oraz jak zdefiniować pierwszą grupę można przeczytać w tym wpisie: Definiowanie grupy usług w serwerze RHQ.

Definicja grupy obejmującej wszystkie zasoby powinna wyglądać następująco:

RHQ Server - definicja grupy "Wszystkie platformy"

Utworzenie ról dla grup

Po zdefiniowaniu odpowiednich grup zasobów przychodzi czas na zdefiniowanie odpowiednich uprawnień do nich. Robi się to poprzez utworzenie ról, w których będzie można powiązać zasoby i uprawnienia do nich przypisane.

Wyświetlenie listy dostępnych ról i ekranu pozwalającego na zarządzanie nimi jest możliwe po wybranie z menu pozycji Administration->Security->Roles:

RHQ Server - role

RHQ Server - role

Po wybranie tej pozycji z menu zostanie wyświetlona lista wszystkich dostępnych ról w systemie:

RHQ Server - lista dostępnych ról

RHQ Server - lista dostępnych ról

Domyślnie w RHQ są dostępne dwie specjalne role:

  • Super User Role – rola super użytkownika, osoba przypisana do tej roli ma dostęp do wszystkich elementów serwera monitorującego RHQ, roli tej nie można modyfikować
  • All Resources Role – rola ta daje dostęp do wszystkich zasobów serwera, ale nie umożliwia modyfikowania uprawnień użytkowników, ról czy też konfiguracji serwera

Definicja nowej roli jest możliwa po wybraniu przycisku NEW.

RHQ Server - definicja nowej roli

RHQ Server - definicja nowej roli

Podczas definiowania nowej roli należy przede wszystkim zdefiniować jej nazwę (unikalną w ramach serwera RHQ) oraz odpowiednie uprawnienia. Dostępne uprawnienia zostały już powyżej opisane.

W naszym przypadku definiujemy nazwę roli jako RHQ Agent i przypisujemy tej roli wszystkie uprawnienia z grupy Resource Permissions a następnie zatwierdzamy nową rolę.

W tym momencie dysponujemy już zdefiniowaną rolę, ale jeszcze nie wskazaliśmy jakich zasobów ma ona dotyczyć. W związku z tym czas teraz na wybór w grupie Assigned Groups przycisku ADD TO LIST. Zostanie wyświetlona strona, która pozwoli na przypisanie grup zasobów do danej roli.

Należy wybrać z listy rolę DynaGroup - Agent Laucher Script i zatwierdzić wybór. Po zatwierdzeniu, grupa ta powinna wyglądać następująco:

RHQ Server - dodanie grup zasobów do roli

RHQ Server - dodanie grup zasobów do roli

Analogicznie należy utworzyć drugą rolę, o nazwie Monitorowanie serwerów. Jej definicja powinna wyglądać następująco:

RHQ Server - definicja roli Monitorowanie serwerów

RHQ Server - definicja roli Monitorowanie serwerów

Tym sposobem dysponujemy dwoma rolami, które definiują dostęp do agentów monitorujących oraz wszystkich innych zasobów. Teraz pozostaje utworzyć odpowiedniego użytkownika, który będzie z nich korzystał.

Utworzenie nowego użytkownika

Ostatnim elementem będzie utworzenie nowego użytkownika, który będzie należał do dwóch zdefiniowanych grup.

Wyświetlenie strony pozwalającej na zarządzanie użytkownikami jest możliwe poprzez wybranie następującej pozycji z menu: Administration->Security->Users:

RHQ Server - zarządzanie użytkownikami

RHQ Server - zarządzanie użytkownikami

Zostanie wyświetlona strona z listą zdefiniowanych użytkowników. Dodanie nowego użytkownika jest możliwe po wybraniu przycisku NEW. Pozwoli to na zdefiniowanie podstawowych informacji o nowym użytkowniku systemu:

  • Name – imię i nazwisko użytkownika
  • Email – mail
  • Password – hasło dostępu użytkownika
  • Username – login użytkownika
  • Phone – nr telefony
  • Department – dział
  • Enable Login – wyłącznie konta (wyłączenie uniemożliwi logowanie na to konto)

Przykładowa definicja użytkownika:

RHQ Server - definiowanie nowego użytkownika

RHQ Server - definiowanie nowego użytkownika

Po zatwierdzeniu danych użytkownika przechodzimy do strony pozwalającej na wybór ról, jakie mają z danym użytkownikiem zostać skojarzone. Należy wybrać role RHQ Agent oraz Monitorowanie serwerów. Po zatwierdzeniu definicja użytkownika powinna prezentować się następująco:

RHQ Server - zdefiniowany użytkownik

RHQ Server - zdefiniowany użytkownik

Od tej chwili Jan Kowalski może się zalogować do systemu, otrzyma dostęp do monitorowania wszystkich serwerów oraz usług, ale modyfikować będzie mógł tylko zachowanie agentów monitorujących.

Źródła