Kibana object permission

W ElasticSearch użytkownik posługuje się obiektami takimi jak:

  • Saved search
  • Visualizations
  • Dashboards
  • Patterns

Energy Logserver pozwala na zarządzanie uprawnieniami do utworzonych obiektów. W aplikacji już funkcjonują grupy uprawnień związane z uprawnieniami do danych. Każdy użytkownik pracuje w ramach Roli, która pozwala mu na widoczność danego zbioru danych. Poszliśmy dalej z tą funkcjonalnością, przyporządkowując Roli odpowiedni zestaw zapisanych wyszukiwań, wizualizacji, dashboardów oraz patternów.

Aplikacja Energy Logserver jest wyposażona w moduł zarządzania obiektami, dostępny dla roli administracyjnej:

Wybierając odpowiednią Rolę, przydzielamy uprawnienia do wcześniej utworzonych obiektów.

Wybierając odpowiednie obiekty przyporządkowujemy je do Roli, jak widać poniżej:

Co ważne, obiekty dodatkowo podzielone są uprawnieniem READ/UPDATE. W naszym przykładzie, użytkownik w Roli web będzie mógł posługiwać się wymienionymi obiektami, jednak nie będzie ich mógł zmodyfikować. Sprawdźmy jak to działa:

Użytkownik widzi tylko jeden dashboard, którego nie będzie mógł zmodyfikować. W celu zapisania zmian w obiekcie musimy mieć prawy UPDATE na obiekcie.

Ważnym obiektem, na którym pracuje każdy użytkownik jest „pattern” do wyszukiwania danych. To wyjątkowo niewygodny obiekt, ponieważ posiada on ustawienie „default pattern”, który w Kibanie każdy użytkownik przestawia drugiemu. Standardowo „default pattern” jest globany i użytkownicy przestawiają sobie nawzajem to ustawienie.

Rozwiązaliśmy ten problem.

Obiekty typu „pattern” są przydzielane do Roli, a każdy użytkownik sam wybiera „default pattern”, który nie wpływa na to ustawienie u innego użytkownika.

Nasz użytkownik w roli web widzi tylko wcześniej wybrane „patterny” i dowolnie zaznacza dla siebie wygodny „default pattern”:

Co daje zarządzanie uprawnieniem do patternów:

  • Użytkownik nie musi więcej tworzyć własnych wzorców wyszukiwani, co jest szczególnie trudne dla nowych osób w zespole,
  • Administrator przygotuje patterny według jednolitych zasad i przydzieli je użytkownikowi poprzez jego rolę,
  • Użytkownik widzi tylko własne patterny, co znacznie poprawia nawigowanie w aplikacji
  • Ustawienie „default pattern” jest przypisane dla każdego użytkownika, to ustawienie nie wypływa na innych użytkowników w aplikacji,
  • Użytkownik cały czas posiada możliwość konfiguracji własnego patternu, jeżeli otrzyma uprawnienie UPDATE do obiektu