Małe rozwinięcie tematów poruszonych w poprzednim wpisie i komentarzach do niego.
Bo zwalniać (...) - rozwinięcie
Do działania firmy potrzebne jest często wiele systemów informatycznych do realizacji określonych zadań. Mogą to być systemy "z półki", mogą to być systemy tworzone (lub przynajmniej dostosowywane) na zamówienie firmy, konkretnie pod jej wymagania. Zwykle w takim systemie konieczna jest identyfikacja użytkowników (a nawet uwierzytelnienie) oraz kontrola dostępu do danych/funkcji (autoryzacja). W związku z tym praktycznie dla każdego z takich systemów dostawca tworzy własną, dedykowaną bazę użytkowników i ich uprawnień. Czasami, jeśli dostawca dostarcza więcej niż jeden system, baza ta może być wspólna dla kilku aplikacji, choć jest to raczej wyjątek, niż reguła.
W rezultacie powyższej sytuacji ilość kont, którą posiada użytkownik jest dużo większa od 1. Do każdego z tych kont musi pamiętać login (chyba, że do wszystkich kont jest taki sam) i hasło (które może sobie ustawić takie same na wszystkich systemach, chyba, że polityki haseł są różne i hasło pasujące do systemu A nie pasuje do systemu B). Co więcej - hasło musi regularnie zmieniać (co wynika z rozporządzeń do ustawy o ochronie danych osobowych, oczywiście zakładając, że system taki dane osobowe przetwarza). Wygoda dla użytkownika umiarkowana...
Z drugiej strony pojawia się problem z zarządzaniem taką ilością kont, blokowaniem, odblokowywaniem, synchronizacją danych. Pomijam tu (świadomie) kwestie zarządzania uprawnieniami. Jeśli na przykład pracownik zmienia nazwisko, to nowe nazwisko musi być propagowane na wszystkie konta. Podobnie z danymi opisowymi typu nazwa stanowiska, jednostka, w której pracuje. Po co? Bo nagle się może okazać, że nikt nie wie, do kogo należy konto w jakimś systemie, bo pracownika o takich danych nie ma, a ewidentnie widać, że ktoś z konta korzysta. Oczywiście pod warunkiem, że ktoś (poza audytem) zada sobie trud sprawdzenia aktywności na kontach, bo prawdopodobnie administratorzy będą tak zajęci innymi sprawami, że na to by zrobili to z własnej, nieprzymuszonej woli nie ma szans - nie będą mieli na to po prostu czasu.
Centralna baza użytkownikówMnożenie "repozytoriów informacji" o użytkownikach jest ZŁE! Zamiast tego można skorzystać z jednej centralnej bazy, z której korzystać będą wszystkie nowo tworzone systemy. W przypadku systemów "starych" można w kolejnych wersjach wprowadzić stosowne modyfikacje. Co może być taką centralną bazą? Na przykład Active Directory, LDAP, Kerberos... Mogą być to projekty typu OpenID. Wiele na ten temat ma do powiedzenia Tomek. Często dobrym wyborem jest oparcie się o Active Directory, dlatego, że ten katalog po prostu już jest (jeśli w firmie wykorzystywany jest Windows i jest domena). Poza tym AD to tak naprawdę serwer LDAP, który można rozszerzać by spełnić "wymagania" nowych aplikacji.
Trzeba jednak zdać sobie sprawę, że nie zawsze uda się ograniczyć tylko do jednej bazy użytkowników, ale zredukowanie ich z kilkudziesięciu do dwóch, trzech, to spory sukces. Nawet, jeśli wszystko będzie oparte o Active Directory to i tak tak naprawdę będą dwa repozytoria informacji o użytkownikach. Co jest tym drugim? System kadrowy oczywiście.
Co ma najbardziej aktualną informację o użytkownikachWarto się zastanowić, gdzie są dostępne najbardziej aktualne informacje o pracownikach. Bardzo często takie informacje zawiera system kadrowy, tylko uwaga - może nie obejmować on wszystkich pracowników, nie koniecznie pojawią się w nim informacje o stażystach, praktykantach, itp. Stworzenie mechanizmu synchronizacji między systemem kadrowym i głównym repozytorium danych o użytkownikach (dla uproszczenia - AD) pozwoli na:
- automatyczne tworzenie nowych kont użytkowników,
- aktualizację danych opisowych użytkowników,
- automatyczne blokowanie konto na czas urlopu, zwolnień lekarskich, itp,
- automatyczne blokowanie i usuwanie (co nie musi być jednoznaczne z fizycznym usunięciem konta) kont pracowników zwalnianych/odchodzących,
Jeśli aplikacje zintegrowane są z AD i z systemu kadrowego przyjdzie informacja, że pracownik X już nie pracuje, konto w AD zostanie automatycznie zablokowane, co automatycznie odetnie użytkownikowi dostęp do aplikacji. Proste? Tak, pod warunkiem, że system kadrowy rzeczywiście jest aktualizowany na bieżąco, ale to już zupełnie inna kwestia.
Metody uwierzytelnianiaChyba wciąż najbardziej rozpowszechnioną metodą uwierzytelniania jest hasło. Stworzenie centralnej bazy użytkowników i wykorzystanie jej dla wielu systemów powoduje siłą rzeczy to, że odgadnięcie tego hasła daje intruzowi dostęp do wszystkich systemów, do których dostęp ma użytkownik. Jeśli takiej integracji nie ma, dostęp, który uzyska intruz może być ograniczony (chyba, że użytkownik sam sobie zadbał o to, by wszędzie mieć takie samo, lub podobne hasło). W tym wypadku uważam, że hasło powinno zostać zastąpione inną metodą uwierzytelniania. Sam mam dość negatywny stosunek do biometrii, więc nie żadne czytniki palców czy rozpoznawanie siatkówki... Moim zdaniem lepszym rozwiązaniem byłaby karta kryptograficzna lub token USB (co w praktyce można porównać do karty kryptograficznej razem z czytnikiem pod postacią pena USB). Użytkownik do uwierzytelnienia potrzebuje zarówno tej karty/tokenu jak i znajomości kodu PIN.
Aby uniknąć "ułatwiania sobie życia" przez zostawianie karty/tokenu przy komputerze, najlepiej zintegrować to z kontrolą dostępu (otwieranie drzwi). Pracownik odchodzący od komputera musi zabrać ze sobą kartę/token bo inaczej nie wróci (nie otworzy sobie drzwi). Można wyobrazić sobie również taką sytuację, że użytkownik nie zaloguje się na komputer, który nie znajduje się w strefie, w której, według informacji z systemu kontroli dostępu, znajduje się obecnie użytkownik.
Problemem może być pożyczanie sobie karty. Tutaj przyznaję - biometria może mieć jakieś zastosowanie (upewnienie się, że korzysta z niej ten użytkownik, któremu została wydana). Stosowane są również kontrole "na wejściu", czyli po prostu pan z ochrony przy bramkach na monitorze widzi zdjęcie osoby, która aktualnie wchodzi (wyświetlane na podstawie danych z karty) i porównuje je z tym, co faktycznie widzi.
Materialne, niematerialnePracownik w trakcie pracy może otrzymać od pracodawcy (na czas pracy) różne rzeczy "materialne", laptop, komórkę, kartę dostępu, klucze do biura (swoją drogą - w niektórych sytuacjach odejście pracownika, który miał klucze równa się wymianie zamków, bo przecież klucze mógł dorobić), samochód firmowy itp. Przy odchodzeniu z pracy tego typu materialne, namacalne rzeczy są zwracane i sytuacja, w której pracownik nie zostanie poproszony o ich zwrot, jest dość nietypowa. Inaczej w przypadku "wartości niematerialnych", czyli na przykład kont i haseł. Trudno, by użytkownik je zwrócił, ale jeśli nie zostanie podjęta operacja blokowania kont, nadal będzie je "miał". Jeśli przy okazji posiadał zdalny dostęp, to może się okazać, że będzie on w stanie działać w systemie informatycznym byłego już pracodawcy, mimo tego, że do budynku czy swojego komputera już nie podejdzie. Integracja danych uwierzytelniających z kontrolą dostępu spowoduje, że odbieranie tak "namacalnej" rzeczy jak karta do otwierania drzwi spowoduje jednoczesne odebranie danych uwierzytelniających pozwalających logować się do systemów informatycznych.
Czy to występuje w naturze?Integracja aplikacji z Active Directory - tak, występuje. Powiem nawet, że mimo początkowego "oporu materii" rozwiązanie to jest później doceniane. Wiele aplikacji tworzonych jest jako aplikacje internetowe, w przypadku integracji z AD użytkownik loguje się do systemu otwiera stronę i ... nie musi się ponownie logować, nie musi pamiętać loginu, hasła. Jeśli użytkownik korzysta jednocześnie z dwóch systemów, jednego zintegrowanego i drugiego z oddzielnym kontem, widzi wyraźnie, że ten pierwszy jest "lepszy" (bo wygodniejszy).
Synchronizacja danych z systemem kadrowym - tak, występuje, przecież do tego (między innymi) służą systemy zarządzania tożsamością. Znam przypadki, w których taka synchronizacja miała miejsce na długo przed tym, jak systemy IdM stały się "modne".
Karty/tokeny obsługują też kontrolę dostępu - tak, występuje i nie jest to specjalnie trudne do zrealizowania. Umieszczenie w jednej karcie antenki do zbliżeniowej kontroli dostępu oraz procesora kryptograficznego jest trywialne, a cena takiej karty powinna być niższa niż cena oddzielnej karty kontroli dostępu i karty zbliżeniowej. Podobnie w przypadku tokenów (tu jeszcze raz zwracam uwagę, że pisząc "token" nie myślę o urządzeniach pokazujących kolejne numerki!). Problemem może być jednak obsługa sytuacji "zapomniałem karty". Teoretycznie brak karty oznacza "nie wejdziesz, nie zalogujesz się, nie pracujesz - wróć z kartą, albo zgłoś zagubienie" (karta jest blokowana i wydawana nowa). W praktyce zastosowanie tego podejścia wobec "kadry zarządzającej" lub pracowników generujących spore zyski, może być nieco ryzykowne.
Strefowanie (nie zalogujesz się, jeśli cię tu nie ma) - prawdopodobnie tak, choć tutaj nie mam pewności (nikt mi oficjalnie nie powiedział, że ma taki system), aczkolwiek z cząstkowymi rozwiązaniami "świadomymi" tego, gdzie jest pracownik, spotykałem (nie wyjdziesz, jeśli nie wszedłeś, nie wejdziesz, jeśli nie wyszedłeś).
Wczoraj kupiłem sobie książkę Jedyna szansa. Oczywiście już ją skończyłem ("psuję" książki na potęgę), muszę przyznać, że odpowiada mi tego typu literatura. Ostatnio, gdy czytałem Zamieć (choć to akurat Ken Follet), napisałem kilka słów o zwalnianiu ludzi
Przesłany: Jun 06, 20:01