GraphWorX64: Integracja polityki bezpieczeństwa z wizualizacją

Bartłomiej Pień How to

GraphWorX64 umożliwia stworzenie wizualizacji zawierającej kontekstowe informacje. Informacje dostarczane dla użytkownika, zależnie od potrzeb. 

Stworzenie wizualizacji zawierającej kontekstowe informacje pozwala skrócić czas tworzenia wizualizacji dzięki wyeliminowaniu konieczności tworzenia wielu wersji tego samego ekranu wizualizacji przeznaczonych dla różnych grup użytkowników. Jedna wersja wizualizacji to także wygoda i łatwość konfiguracji, co również wiąże się ze zmniejszeniem kosztów projektowania, tworzenia i wdrażania systemu wizualizacji.

Ten wpis przedstawi konfigurację Secure Service oraz GraphWorX64, aby uzyskać ekran wizualizacji z danymi kontekstowymi.

Konfiguracja GraphWorX64

W dowolnym miejscu hierarchii elementów wizualizacji GraphWorX64 należy dodać warstwy, a następnie nadać im unikalne nazwy oraz upewnić się że właściwość HideWhenSecruityDenided ma wartość True. Na warstwach dodajemy elementy zawierające kontekstowe informacje. Poza warstwami powinny się znaleźć wszystkie elementy wizualizacji, które zobaczy każdy użytkownik.

 

Konfiguracja Secruity Server

Moduł Security Server został opisany w poprzednim wpisie na temat realizacji polityki bezpieczeństwa opartej na rolach. Po włączeniu Worbench przechodzimy do modułu Security. Stwórzmy dwóch użytkowników operator i menager. Operatorowi należy odebrać uprawnienia dostępu do warstwy menagera, a menagerowi do warstwy operatora. W tym celu należy uruchomić ustawienia użytkownika (lub grupy jeżeli chcemy zdefiniować ustawienia grupy) i przejść do zakładki Files. Przykładowa składnia odebrania/nadania uprwanień dostępu do wizualizacji wygląda następująco: X:\kontekstowydisplay.gdfx|Menager. Jak widać składnia zawiera ścieżkę dostępu, symbol oddzielający, nazwa warstwyDowolny ciąg znaków można zastąpić znakiem *. Jeżeli w składni występuje sama * oznacza to że użytkownik posiada lub nie posiada uprawnienia dostępu do wszystkich elementów należących do danej sekcji (np. wszystkich plików). Zatem w ustawieniach operatora, w zakładce files, sekcji deny these operations wpisujemy *(nazwa pliku).gdfx|(nazwa warstwy, której operator ma nie widzieć). Analogicznie postępujemy z menagerem. Dodatkowo możemy wkleić naszą składnię do okienka testowego znajdującego się na dole sekcji. 

Po zaakceptowaniu zmian możemy cieszyć się rezultatami.

 

Ukrywanie pojedynczego elementu wizualizacji

Jednak zarządzanie zawartością wizualizacji za pomocą warstw często jest niewystarczające. Co jeżeli chcemy chować pojedyncze elementy wizualizacji, bądź dynamicznie wpływać na wygląd wizualizacji na podstawie posiadanych praw dostępu przez użytkownika? Do sprawdzania uprawnień dostępowych użytkownika służy przedrostek  ?DataPoint. Przykładowo aby uzyskać informacje o uprawnieniach dostępu do zmiennej  @sim64:Float.Sine(10,0,100,0).Value  należy użyć składni:  ?DataPoint@sim64:Float.Sine(10,0,100,0).Value. W ten sposób zmienna może przyjmować jedną z czterech wartości: 

  • 3 (b#11) – użytkownik posiada uprawnienia zapisu i odczytu zmiennej,
  • 2 (b#10) – użytkownik może tylko zapisywać wartości do zmiennej, bez możliwości jej odczytu,
  • 1 (b#01) – użytkownik może odcztywać, jednak nie może zapisywać zmiennej lub punktu,
  • 0 (b#00) – użytkownik jest pozbawiony wszelkich praw dostępu do zmiennej lub punktu.

Od takiej zmiennej można uzależnić właściwości dynamiczne obiektów wizualizacji, na przykład kolor tła lub widoczność obiektu.

 

Konfiguracja

W przedstawionym przykładzie  uzależnimy kolor wypełnienia prostokąta od uprawnień dostępu użytkownika do danej zmiennej. Konfigurację należy rozpocząć od skonfigurowania dostępu do poszczególnych zmiennych przez użytkowników, to zostało opisane już powyżej. Następnie przechodzimy do ekranu wizualizacji i konfigurujemy właściwości dynamiczne obiekty wizualizacji.

 

Końcowy efekt konfiguracji:

 

 

Elmark Automatyka udostępnia wersję demo oprogramowania GENESIS64 w celu osobistego przetestowania funkcjonalności pakietu. Skontaktuj się z nami na ICONICS@elmark.com.pl w celu otrzymania wersji testowej lub oferty handlowej.