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ówConfigure
– pozwala na modyfikację konfiguracji danego zasobu
Tak się prezentuje rola super użytkownika:
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ącegoWszystkie 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:
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
:
Po wybranie tej pozycji z menu zostanie wyświetlona lista wszystkich dostępnych ról w systemie:
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
.
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:
Analogicznie należy utworzyć drugą rolę, o nazwie Monitorowanie serwerów
. Jej definicja powinna wyglądać następująco:
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
:
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żytkownikaEmail
– mailPassword
– hasło dostępu użytkownikaUsername
– login użytkownikaPhone
– nr telefonyDepartment
– działEnable Login
– wyłącznie konta (wyłączenie uniemożliwi logowanie na to konto)
Przykładowa definicja 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:
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.
#1 by Kamil Masłowski on 2010/06/09 - 19:30
Bawiłeś się już może w aktualizację JBoss’ów przy jego pomocy? Jeżeli tak, to chętnie zobaczył bym opis jak się to konfiguruje…
Łukasz Stelmach Reply:
Czerwiec 9th, 2010 at 21:07
Nie, jeszcze nie miałem na to czasu, ale chcę sprawdzić jak to wygląda w najbliższym czasie.
Kamil Masłowski Reply:
Czerwiec 21st, 2010 at 18:52
Mi się w końcu udało. Wykorzystałem do tego RSS’y z komercyjnymi aktualizacjami Red Hat’a. Nie wiem jak to wygląda w przypadku jboss.org . Więcej informacji można znaleźć na stronie:
http://www.redhat.com/docs/en-US/JBoss_ON/2.3/html/Feature_Guide/sect-Feature_Guide-Content_Packages-Applying_JBoss_Patches.html
Łukasz Stelmach Reply:
Czerwiec 22nd, 2010 at 11:05
Super.
Myślę że z wersją community może być trudniej. Nie ma tam przygotowanych odpowiednich paczek z aktualizacjami (przynajmniej tak jak widziałem na RHN w przypadku JBoss AS – no ale właśnie za to się płaci :D).