| Termin | Definicja |
|---|---|
| Integracja z usługami katalogowymi | Integracja z usługami katalogowymi umożliwia uwierzytelnianie użytkowników bazy danych za pomocą centralnego repozytorium tożsamości. Integracja z usługami katalogowymi – czym jest i do czego służyIntegracja z usługami katalogowymi to sposób połączenia aplikacji, bazy danych albo systemu obsługi użytkowników z centralnym źródłem informacji o kontach, grupach i uprawnieniach. Zamiast tworzyć oddzielne dane logowania w każdym programie, można korzystać z jednej uporządkowanej struktury tożsamości. Użytkownik jest rozpoznawany na podstawie konta znajdującego się w katalogu, a aplikacja otrzymuje informację, czy dana osoba może się zalogować oraz jakie działania są dla niej dostępne. W praktyce katalog przechowuje między innymi identyfikatory użytkowników, nazwy grup, adresy poczty elektronicznej, stanowiska, przynależność organizacyjną oraz status konta. Program korzystający z integracji nie musi samodzielnie utrzymywać pełnego zestawu tych danych. W chwili logowania przekazuje zapytanie do właściwego źródła tożsamości, a następnie interpretuje otrzymaną odpowiedź. Dzięki temu łatwiej zachować spójność danych, ograniczyć liczbę miejsc wymagających aktualizacji i uporządkować dostęp do wielu narzędzi. Takie rozwiązanie nie oznacza wyłącznie przekazania nazwy użytkownika i hasła. Należy również określić sposób wyszukiwania kont, reguły przypisywania grup, zakres odczytywanych informacji, reakcję na zablokowane konto oraz procedurę postępowania w przypadku niedostępności katalogu. Istotne jest także rozróżnienie pomiędzy samym uwierzytelnianiem a autoryzacją. Pierwszy proces odpowiada na pytanie, czy osoba jest tym, za kogo się podaje. Drugi określa, co może zrobić po pomyślnym zalogowaniu. Integracja z usługami katalogowymi w kontekście technicznym i porównaniaPodczas projektowania integracji trzeba ustalić, jaki protokół i jaki model danych są obsługiwane przez oba rozwiązania. Często wykorzystywane są mechanizmy oparte na zapytaniach do katalogu, federacji tożsamości albo przekazywaniu tokenów potwierdzających zalogowanie. Każdy z tych wariantów działa nieco inaczej. Zapytanie do katalogu może być proste do wdrożenia w aplikacji wewnętrznej, natomiast federacja lepiej odpowiada sytuacji, w której wiele niezależnych systemów ma korzystać z jednego procesu logowania. Ważna jest struktura identyfikatorów. Jeżeli jedna aplikacja rozpoznaje osobę po adresie poczty, a inna po krótkiej nazwie konta, może dojść do utworzenia kilku pozornie różnych profili tej samej osoby. Bezpieczniej ustalić jeden stabilny identyfikator oraz jasno opisać sposób mapowania atrybutów. Należy też określić, które dane są wymagane, które opcjonalne, a których aplikacja nie powinna pobierać w ogóle. Ograniczenie zakresu informacji zmniejsza ryzyko niepotrzebnego ujawniania danych osobowych. W porównaniu z lokalną bazą kont integracja katalogowa upraszcza wycofanie dostępu po zmianie stanowiska albo zakończeniu współpracy, ponieważ status konta może być kontrolowany w jednym miejscu. Z drugiej strony pojawia się zależność od poprawnej komunikacji z katalogiem i od jego aktualności. Lokalna baza bywa łatwiejsza do uruchomienia w małym, odizolowanym programie, lecz z czasem może prowadzić do powielania kont, haseł i uprawnień. Wybór rozwiązania powinien wynikać z liczby użytkowników, rodzaju aplikacji, wymagań dotyczących bezpieczeństwa oraz sposobu zarządzania tożsamością. Nie należy utożsamiać integracji z automatycznym nadaniem wszystkich praw osobie znajdującej się w określonej grupie. Grupa może być jedynie sygnałem do dalszej oceny, a reguły aplikacji powinny dodatkowo sprawdzać zakres funkcji, jednostkę organizacyjną, aktywność konta i inne warunki. W systemach przetwarzających istotne dane przydatne bywa rozdzielenie ról, ograniczenie dostępu do wybranych modułów oraz rejestrowanie zmian w uprawnieniach. Integracja z usługami katalogowymi a typowe problemy wdrożenioweJednym z częstych problemów jest błędna konfiguracja ścieżki wyszukiwania kont. Katalog może zawierać wiele jednostek organizacyjnych, grup o podobnych nazwach albo kont technicznych. Jeżeli aplikacja przeszukuje niewłaściwą gałąź struktury, użytkownicy nie zostaną odnalezieni mimo poprawnych danych logowania. Pomocne jest przygotowanie precyzyjnego opisu miejsca, w którym znajdują się konta, oraz sprawdzenie odpowiedzi dla kilku reprezentatywnych profili. Trudności może powodować także niejednoznaczne mapowanie grup. W jednej aplikacji grupa może oznaczać dostęp do raportów, a w innej pełne uprawnienia administracyjne. Dlatego nazwy grup i ich znaczenie powinny być opisane w dokumentacji, a przypisania testowane na kontach o różnym poziomie dostępu. Nie zaleca się opierania całej kontroli na jednym ogólnym członkostwie, jeśli aplikacja zawiera funkcje o odmiennym poziomie ryzyka. Do błędów prowadzi również różnica w zapisie znaków, wielkości liter, formacie identyfikatora lub kodowaniu znaków diakrytycznych. Ten sam użytkownik może być zapisany w kilku systemach z inną pisownią imienia, nazwiska albo nazwy konta. Warto ustalić regułę normalizacji oraz sprawdzić przypadki graniczne przed uruchomieniem rozwiązania dla większej grupy osób. Problemy z logowaniem nie zawsze wynikają z hasła. Przyczyną może być wygasłe konto, blokada po zbyt wielu próbach, nieprawidłowa data i godzina, brak zaufania pomiędzy elementami środowiska, niedostępność punktu obsługi zapytań albo brak wymaganych uprawnień odczytu. Diagnostyka powinna obejmować komunikat aplikacji, dzienniki zdarzeń, wynik wyszukiwania konta oraz próbę wykonania tego samego zapytania przy użyciu kontrolowanego narzędzia testowego. Osobnej uwagi wymaga sytuacja, w której katalog jest chwilowo niedostępny. Należy z góry zdecydować, czy aplikacja ma odmówić logowania, czy może wykorzystać ograniczony mechanizm awaryjny dla wcześniej potwierdzonych sesji. Przechowywanie danych umożliwiających długotrwałe działanie bez sprawdzenia statusu konta zwiększa ryzyko utrzymania dostępu po jego odebraniu. Z tego powodu czas przechowywania takich informacji powinien być ograniczony i jasno opisany. Integracja z usługami katalogowymi – praktyczne wskazówki dla konfiguracjiPrace najlepiej rozpocząć od inwentaryzacji aplikacji, typów kont oraz oczekiwanych ról. Warto przygotować prostą tabelę określającą, które grupy odpowiadają za odczyt danych, edycję, zatwierdzanie zmian i zarządzanie ustawieniami. Pozwala to wykryć sprzeczności jeszcze przed rozpoczęciem konfiguracji. Dobrą praktyką jest również wyznaczenie osoby odpowiedzialnej za katalog oraz osoby odpowiedzialnej za samą aplikację, aby zmiany były uzgadniane i możliwe do odtworzenia. Hasła i dane uwierzytelniające powinny być przesyłane wyłącznie z wykorzystaniem właściwie zabezpieczonego połączenia. Należy zweryfikować certyfikat, nazwę odbiorcy, aktualność szyfrowania oraz sposób przechowywania poświadczeń używanych przez aplikację. Konto techniczne powinno mieć możliwie wąski zakres odczytu. Nie powinno posiadać uprawnień pozwalających na zmianę kont, haseł lub członkostwa w grupach, jeżeli nie jest to konieczne do działania konkretnej funkcji. Testy należy wykonywać na kilku profilach: zwykłego użytkownika, osoby należącej do jednej grupy, osoby należącej do wielu grup, konta zablokowanego oraz konta pozbawionego przypisanej roli. Poza pozytywnym logowaniem trzeba sprawdzić odrzucenie nieprawidłowych danych, odebranie dostępu po zmianie członkostwa, reakcję na niedostępność katalogu i zachowanie po wygaśnięciu sesji. Wyniki powinny być zapisane w taki sposób, aby można było porównać je po późniejszej zmianie konfiguracji. Warto ustalić procedurę zmian. Dodanie nowej grupy, zmiana nazwy atrybutu albo modyfikacja reguły mapowania może wpłynąć na wiele kont jednocześnie. Przed wprowadzeniem zmiany powinno się wykonać kopię konfiguracji, opisać spodziewany efekt i wskazać sposób powrotu do poprzednich ustawień. Przydatne są także okresowe przeglądy nieaktywnych kont, nadmiarowych grup i uprawnień, które nie mają już uzasadnienia. Dokumentacja powinna zawierać adres logiczny usługi, wymagane atrybuty, reguły wyszukiwania, mapowanie grup, sposób obsługi błędów oraz dane osoby odpowiedzialnej za utrzymanie. Nie powinny się w niej znajdować hasła zapisane jawnym tekstem. Jeżeli potrzebne są informacje poufne, powinny być przechowywane w kontrolowanym miejscu, z ograniczeniem dostępu i rejestrowaniem pobrań. Kiedy zgłosić integrację z usługami katalogowymi do serwisuWsparcie techniczne może być potrzebne wtedy, gdy logowanie przestało działać po zmianie struktury kont, aplikacja widzi tylko część użytkowników, grupy nie przekładają się na role albo użytkownik zachowuje dostęp mimo odebrania członkostwa. Zgłoszenie powinno zawierać nazwę aplikacji, opis objawu, przybliżony moment pojawienia się problemu oraz informację, czy błąd dotyczy jednej osoby, wybranej grupy czy wszystkich kont. Nie należy przesyłać haseł ani pełnych danych osobowych w treści zgłoszenia. W przypadku urządzenia, na którym działa aplikacja korzystająca z katalogu, warto sprawdzić podstawowe elementy: stabilność połączenia, poprawność daty i godziny, aktualność systemu, komunikaty zabezpieczeń oraz ostatnie zmiany konfiguracji. Jeżeli problem pojawia się tylko na jednym komputerze, przyczyną może być lokalna konfiguracja, uszkodzony profil użytkownika albo nieprawidłowe ustawienia aplikacji. Jeżeli występuje na wielu urządzeniach jednocześnie, bardziej prawdopodobna jest zmiana po stronie wspólnego źródła tożsamości lub reguł dostępu. W Warszawskim Pogotowiu Komputerowym 24/7 można zlecić sprawdzenie komputera pod kątem problemów z logowaniem, konfiguracją aplikacji i komunikacją z usługą tożsamości. Naprawy z reguły realizowane są do 3 dni roboczych, zależnie od zakresu czynności i dostępności informacji potrzebnych do odtworzenia usterki. Przed przekazaniem sprzętu warto przygotować opis oczekiwanego działania, przykładowe konto testowe oraz informację o ostatniej poprawnej próbie logowania. Takie materiały ułatwiają rozdzielenie problemu sprzętowego od błędu konfiguracji i pozwalają ograniczyć zakres ingerencji w dane użytkowników. Po zakończeniu prac powinno się ponownie sprawdzić logowanie, przypisanie ról, zachowanie konta z odebranym dostępem oraz zapis zdarzeń związanych z uwierzytelnianiem. |