LAB AND USERS MANAGEMENT







STRUKTURA INTERFEJSU PORTALU Z PUNKTU WIDZENIA UŻYTKOWNIKA

Struktura logiczna z punktu widzenia użytkowników systemu LW została oparta o podział na grupy robocze - nazywane w ramach systemu laboratoriami. Przyjęto, że każda grupa robocza (laboratorium) ma swojego jednego administratora laboratorium. Podobnie każde urządzenie udostępniane w ramach LW ma swojego operatora urządzenia / zasobu. Dodatkowo użytkownikiem nadrzędnym dla całego systemu jest administrator LW.

Końcowy użytkownik jest więc zawsze przypisany do konkretnego laboratorium i podporządkowany jego administratorowi. Może pracować na urządzeniach czy zlecać zadania obliczeniowe w ramach puli zasobów przydzielonej do jego laboratorium. Parametry pracy urządzeń, ich dostępność, limity itp. określa kolejny administrator - użytkownik logujący się jako operator urządzenia / zasobu.

Zarządca nadrzędny systemu LW decyduje o zakładaniu nowych grup roboczych - laboratoriów, zarządza ich administratorami oraz operatorami zasobów laboratoryjnych (urządzeń i maszyn obliczeniowych). Ponadto definiuje przynależność organizacyjną użytkowników (zarządza danymi o instytucjach korzystających z LW).


Użytkownik laboratorium

Po logowaniu do systemu użytkownik końcowy systemu LW (podobnie jak administratorzy i operatorzy) uzyskuje dostęp do funkcjonalności pod postacią nowego, personalizowanego paska menu generowanego u góry strony portalu. Opcje dostępne w tym pasku narzędziowym są zależne od tego do jakiego laboratorium należy dany użytkownik. Przykładowe funkcje dostępne po zalogowaniu to:

1. Zlecanie scenariusza zadań. Uruchomienie aplikacji SSA służącej do definiowania scenariusza zadań przekazywanego następnie do wykonania.

2. Monitorowanie scenariuszy zadań. Użytkownik dysponuje wglądem w status scenariuszy zadań (zleconych do systemu przy pomocy aplikacji SSA. Tutaj następuje również uruchomienie sesji interaktywnej z urządzeniem laboratoryjnym w momencie gdy zadanie użytkownika jest gotowe do realizacji.

3. Moduł rozliczeniowy - przedstawia w portalu wyniki pracy modułu zarządzającego informacjami o czasie i kosztach pracy w LW.

4. Zarządzanie próbkami - funkcja specyficzna w przypadku urządzeń laboratoryjnych pracujących nad konkretną próbką substancji badanej. Pozwala na dodawanie definicji nowej próbki do systemu LW oraz na podgląd statusu próbek zdefiniowanych przez użytkownika wcześniej.

5. Podgląd aktualnych ustawień dotyczących zalogowanego użytkownika.

6. Edycja części ustawień użytkownika (do pełnego zestawu modyfikacji ma dostęp administrator laboratorium, do którego należy dany użytkownik).

7. Podgląd aktualnych ustawień laboratorium, do którego należy zalogowanegy użytkownik.



Administrator laboratorium

Administrator laboratorium jest użytkownikiem zarządzającym grupą roboczą pracującą w ramach systemu LW na określonym zestawie urządzeń laboratoryjnych bądź obliczeniowych. Grupę taką nazywamy skrótowo laboratorium. Użytkownik ten nie ma możliwości zlecania zadań, jego konto w systemie ma funkcje czysto administracyjne. W celach badawczych musi posiadać osobne konto o profilu użytkownika końcowego.
Tak jak w wypadku poprzedniego typu użytkownika podstawowa funkcjonalność specyficzna dla tego typu użytkownika jest zgrupowana w pasku menu widocznym po zalogowaniu do systemu LW. Administrator laboratorium jest zarządcą danej grupy roboczej, w jej ramach ma możliwość ingerencji w ustawienia podlegających mu użytkowników. Może monitorować zlecane przez nich zadania, sprawdzać dane z systemu rozliczeniowego, w ograniczonym zakresie edytować parametry swojego profilu użytkownika, na parametru laboratorium nie ma wpływu (aczkolwiek ma do nich wgląd).


Administrator systemu LW

Na konto tego administratora loguje się najbardziej uprzywilejowana osoba, mająca wpływ na parametry całej instalacji oraz pracę wszystkich laboratoriów (grup roboczych) działających w ramach danego systemu LW.
Administrator systemu LW ma możliwość dodawania nowych laboratoriów, edytowania parametrów istniejących, blokowania działania takich grup (co pociąga za sobą automatyczną blokada kont wszystkich użytkowników danego laboratorium). Administrator systemu zarządza również kontami i profilami administratorów laboratoriów i urządzeń. Ma wgląd w dane rozliczeniowe dotyczące poszczególnych grup roboczych. Może przeglądać plik logu portalu. I wreszcie użytkownik ten zarządza również danymi rzeczywistych instytucji (dodawanie, usuwanie i edycja danych), z którymi związani są poszczególni użytkownicy systemu LW.

Identycznie jak w przypadku pozostałych użytkowników funkcjonalność specyficzna dla administratora systemu VL jest zgrupowana w postaci przycisków dostępnych w personalizowanym pasku menu.



OKREŚLANIE UPRAWNIEŃ (AUTORYZACJA)

W systemie Laboratorium Wirtualnego bardzo ważnym aspektem było opracowanie systemu kontroli uprawnień użytkowników do zasobów systemu. Miało to zapewnić ochronę drogich i unikalnych przyrządów laboratoryjnych przed nieograniczonym dostępem użytkowników, oraz dostarczyć mechanizmów niezbędnych do zarządzania wykorzystaniem przyrządów.
W przyjętym rozwiązaniu zdecydowano się skorzystać z systemu Resource Access Decision (RAD). RAD jest usługą pozwalającą na kontrolę i zarządzanie dostępem do zasobów. Powstał on w ramach prac Healthcare Domain Task Force (HDTF) grupy Object Management Group (OMG) z nastawieniem na kontrolę dostępu do informacji medycznych. Usługa ta przeznaczona jest dla aplikacji świadomych bezpieczeństwa.
Głównymi założeniami modelu RAD są: rozdzielenie logiki autoryzacyjnej (logiki kontroli dostępu) od aplikacji, umożliwienie stosowania różnorodnych polityk kontroli dostępu, maksymalne uproszczenie korzystania z RAD przez aplikacje oraz możliwość zastosowania usługi w systemach informatycznych o dowolnej dziedzinie.
RAD ukrywa logikę autoryzacyjną w module zewnętrznym do aplikacji oraz dostarcza standardowego interfejsu umożliwiającego kontrolę dostępu. W celu dokonania autoryzacji, aplikacja żąda decyzji autoryzacyjnej od modułu autoryzacyjnego, a następnie na jej podstawie pozwala lub zabrania dostępu do zasobu.



Ogólny schemat koncepcji systemu RAD
Ogólny schemat koncepcji systemu RAD.



Dla potrzeb systemu Laboratorium Wirtualnego wykorzystano implementację RAD opracowaną przez ACK Cyfronet. Dodatkowo została ona wzbogacona o dodatkowe mechanizmy niezbędne z punktu widzenia specyfiki systemu LW.


Architektura systemu RAD specyficzna dla systemu Laboratorium Wirtualnego
Architektura systemu RAD specyficzna dla systemu Laboratorium Wirtualnego.



Opis architektury:

Przeglądarka WWW służy do przeprowadzania operacji z użyciem interfejsu administracyjnego (zarządzanie użytkownikami, dodawanie zasobów, określanie uprawnień). Interfejs jak i całe zarządzanie realizowane jest poprzez wyodrębniony Moduł Administracyjny.
Interfejsy RMI oraz Web Services [W3C04] służą do komunikacji z głównym modułem RAD – odpowiedzialnym za zarządzanie bazą kontroli dostępu. Za pomocą tych interfejsów realizowane są zapytania autoryzacyjne od aplikacji klienckich.
W module RAD zaimplementowane są obiekty funkcji kontroli dostępu (podejmowania decyzji o dostępie do zasobu) nazwane Obiektami Decyzji Dostępu (Access Decision Objects).

Obiekty biorące udział podczas kontroli dostępu to:
  • Klient ADO: obiekt żądający dostępu do zasobu (wykonania operacji na zasobie).
  • Obiekt AccessDecision (Obiekt Decyzji Dostępu): obiekt stanowiący dla klienta ADO interfejs do RAD.
  • Usługa dynamicznych atrybutów: usługa udostępniająca dynamiczne atrybuty bezpieczeństwa (dostępne w czasie kontroli dostępu) dla żądanego dostępu.
  • Ewaluator polityki: obiekt oceniający czy reprezentowana przez niego polityka zezwala na żądany dostęp.
  • Kombinator decyzji: obiekt odpowiedzialny za określenie czy dostęp do zasobu może być przyznany zgodnie z podanymi politykami.
  • Lokalizator ewaluatorów polityk: obiekt pozwalający zlokalizować ewaluatory polityki i kombinatora decyzji dla żądanego zasobu.


Zasób chroniony reprezentowany jest w RAD jako struktura ResourceName zawierająca identyfikator przestrzeni nazw zasobów (ResourceNamingAuthority) oraz listę komponentów wchodzących w skład zasobu (ResourceNameComponentList). Komponent reprezentowany jest poprzez parę napisów: nazwa/wartość.
Na zasobach chronionych można wykonywać dozwolone dla tych zasobów operacje (np. odczyt, zmiana itp.).

Dla potrzeb systemu Laboratorium Wirtualnego ogólną funkcjonalność RAD należy rozszerzyć o następujące elementy:
  • Obsługę protokołu SSL w celu podniesienia poziomu bezpieczeństwa systemu.
  • Dodatkowe interfejsy Web Services w celu zapewnienia zgodności z modułami LW.
  • Modyfikacje bazy danych oraz implementacja wykorzystującego ją ewaluatora.
  • Identyfikację użytkownika na podstawie jego certyfikatu.
  • Rozszerzenie Bazy kontroli dostępu o czas w którym obowiązuje dane uprawnienie.
  • Możliwość pobierania listy użytkowników z prawami dostępu dla danego zasobu.


Dodatkowo dla potrzeb Laboratorium Wirtualnego konieczne było zaprojektowanie dodatkowego Modułu harmonogramowania, który pozwalałby na pobieranie czasów dostępności danego zasobu LW (np. urządzenia laboratoryjnego) w przyszłości.

Schemat autoryzacji w systemie LW:


1. W portalu, przy uruchamianiu aplikacji SSA sprawdzane jest czy dany użytkownik ma prawo tworzenia oraz zlecania nowych scenariuszy pomiarowych (lub modyfikacji istniejących). W przypadku odpowiedzi pozytywnej wyświetlany jest interfejs SSA i użytkownik może rozpocząć edycję (zakończoną zleceniem scenariusza), natomiast w przeciwnym razie generowany jest odpowiedni komunikat błędu, z informacją jak takie prawo można uzyskać (kontakt do administratora LW).

2. Podczas operacji na danych przechowywanych w systemie SZD, RAD odpowiada za określanie praw do ich dostępu. Operacje takie mogą być wykonywane przez wiele modułów. W przypadku każdorazowej próby dostępu (odczyt, zapis, modyfikacja) system autoryzacji określa czy dany użytkownik posiada wystarczające uprawnienia do jej wykonania. Weryfikowane są również prawa dostępu do żądanego pliku danych. Również zewnętrzne systemy, (takie jak GRMS) odwołując się do SZD korzystają z autoryzacji RAD.

3. Moduł Szeregowania Globalnego ma za zadanie określić gdzie poszczególne zadania scenariusza pomiarowego trafiają do bezpośredniego wykonania. Dlatego też przed rozpoczęciem przetwarzania, na podstawie informacji z systemu RAD buduje listę urządzeń laboratoryjnych oraz zasobów obliczeniowych, do których użytkownik zlecający zadanie posiada uprawnienia, będących potencjalnymi odbiorcami zadania.

4. Do modułu Szeregowania Lokalnego trafiają zadania przeznaczone do uruchomienia na konkretnym urządzeniu. Jego zadaniem jest odpowiednie ich szeregowanie i kierowanie do uruchomienia w określonych momentach. Przy szeregowaniu wykorzystywany jest moduł harmonogramowania RAD, który pozwala określić czy dane urządzenie bądź inny zasób będzie w wybranym momencie dostępne i czy użytkownik będzie miał do tego zasobu prawo dostępu.