Usługi katalogowe - zasada działania

Coraz więcej przedsiębiorstw buduje globalne, zdecentralizowane sieci firmowe. Często korzysta się przy tym z aplikacji rozproszonych. Mogą one pracować na komputerach w lokalnej sieci, w intranecie lub w Internecie.

Coraz więcej przedsiębiorstw buduje globalne, zdecentralizowane sieci firmowe. Często korzysta się przy tym z aplikacji rozproszonych. Mogą one pracować na komputerach w lokalnej sieci, w intranecie lub w Internecie.

Wiele informacji dostępnych w sieci można wymieniać między poszczególnymi aplikacjami i użytkownikami. Są też jednak dane, które powinny być chronione przed nieautoryzowanym dostępem i modyfikacjami. Dlatego właśnie tak ważne jest ekonomiczne, nieskomplikowane, a zarazem skuteczne administrowanie informacjami o użytkownikach i innych zasobach sieci. Warunkiem funkcjonowania tak zarządzanej sieci jest integracja usług katalogowych. Dzięki niej informacje zorganizowane są w ujednolicony sposób. Dodatkowo użytkownicy uzyskują dostęp do wszystkich zasobów sieci za pomocą jednego loginu. Ta procedura nosi nazwę pojedynczego logowania (single sign-on).

W dalszym ciągu wyjaśnimy, czym są usługi katalogowe oraz przedstawimy zarysy koncepcji i architektury usług katalogowych X.500, LDAP, Novell eDirectory oraz Microsoft Active Directory.

Katalogi i usługi katalogowe

Katalog to lista informacji o obiektach, zapisana w uporządkowanej formie. Najlepszy przykład to książka telefoniczna - nazwiska są uporządkowane alfabetycznie, adres i numer telefonu to szczegółowe informacje o obiektach.

W sferze komputerów katalog to specjalny rodzaj bazy danych, która zawiera informacje o obiektach posortowane według typów. Na przykład zapisane są dane o drukarce wraz z dodatkowymi informacjami, np. jej lokalizacja i wydajność w stronach na minutę.

Katalogi umożliwiają użytkownikom i aplikacjom wyszukanie zasobów o określonych właściwościach. Można na przykład przeszukiwać spis użytkowników według adresów poczty elektronicznej lub numerów faksu. W innym katalogu można wyszukiwać informacje o najbliższej dostępnej drukarce.

Jeżeli nazwa obiektu jest znana, na przykład nazwisko osoby lub nazwa drukarki, można łatwo znaleźć przynależne do obiektu właściwości, jak numer telefonu czy wydajność druku. Jeżeli natomiast nazwa jest nieznana, poszukujemy w katalogu obiektu, który spełnia określone warunki. Można to porównać do poszukiwania określonego rzemieślnika w branżowej książce telefonicznej.

Katalog sam w sobie jest jedynie zbiorem informacji, które muszą być dostępne. Dostęp może polegać na wyszukiwaniu, modyfikacji lub dodawaniu informacji. Interfejs programistyczny (Application Programming Interface - API), który umożliwia ten dostęp, to właśnie usługa katalogowa.

Przykładowy katalog

Przykładowy katalog utworzony na podstawie firmy - możliwa jest dowolna liczba wpisów o dowolnej liczbie atrybutów.

Przykładowy katalog utworzony na podstawie firmy - możliwa jest dowolna liczba wpisów o dowolnej liczbie atrybutów.

Katalog to w rozumieniu normy ISO 9594-1 zbiór danych o strukturze drzewa. Ma cechę szczególną: zawartość jest w dużej mierze statyczna, a na każdym poziomie może być dowolnie wiele wpisów. Każdemu wpisowi można z kolei przyporządkować dowolnie wiele atrybutów.

W tym przykładzie mamy siedem wpisów do katalogu na trzech poziomach wraz z ich atrybutami.

Liśćmi drzewa są pracownicy, ponad nimi są odpowiednie działy firmy, w których pracują. Korzeniem drzewa jest sama firma.

Klasyk X.500

X.500 to usługa katalogowa zalecana przez międzynarodową unię telekomunikacyjną (International Telecommunication Union, ITU, http://www.itu.int ) w ramach serii X (Data Networks and Open System Communications).

Zalecenie ukazało się po raz pierwszy w roku 1988. Jednym z głównych zadań ITU jest proponowanie międzynarodowych standardów globalnej komunikacji.

Zalecenie w sprawie X.500 składa się z dziesięciu dokumentów. Wszystkie zostały też przyjęte jako standard ISO 9594-1...10 przez międzynarodową organizację standaryzacyjną (International Organization for Standardization, ISO, http://www.iso.org ).

Wielu użytkowników może znać zalecenia ITU dotyczące typoszeregu V (Data Communication over the Telephone Network). Dotyczą one kompatybilnych technicznie połączeń modemowych. Znane standardy tego typoszeregu to choćby V.90 czy V.32bs.

Budowa katalogu X.500

Ideą przewodnią X.500 jest globalny, rozproszony katalog, z dostępem z dowolnego miejsca. Ma on strukturę drzewa, u podstawy którego znajduje się niemający nazwy obiekt główny (root). Udostępniane przez katalog dane noszą nazwę Directory Information Base (DIB), zaś drzewo - Directory Information Tree (DIT).

Dla poszczególnych wpisów zdefiniowano klasy obiektów, przy czym każdy wpis musi należeć przynajmniej do jednej z klas. W każdej klasie obiektów musi być przynajmniej jeden atrybut. W ten sposób każdy wpis w katalogu X.500 należy do jednej lub wielu klas obiektów oraz zawiera jedną lub wiele wartości poszczególnych typów atrybutów. Szczególnym rodzajem wpisów są aliasy, umożliwiające umieszczenie takiego samego wpisu w różnych miejscach drzewa. Dzięki takiemu rozwiązaniu zmiana dokonana w jednym wpisie powoduje odpowiednie zmiany we wszystkich aliasach.

Przykładowe drzewo katalogu X.500

Przykład katalogu zgodnego z X.500 - każdy wpis ma jednoznaczną nazwę (distinguished name - DN).

Przykład katalogu zgodnego z X.500 - każdy wpis ma jednoznaczną nazwę (distinguished name - DN).

Nasz przykład przedstawia wycinek z katalogu X.500. Każdy wpis należy do jednej klasy obiektów. Klasa podaje wartość typu atrybutu głównego, primary distinguished value. Wpis "C=PL" należy więc do klasy obiektów "Country". Typem atrybutu głównego jest zatem "C" jak Country, zaś wartością jest "PL" jak Polska.

Wpis "CN=Stefan Malinowski" przynależy natomiast do klasy obiektów "Osoba", a "Stefan Malinowski" jest wartością typu atrybutu głównego "Common Name" (CN).

Wpisy w drzewie katalogu muszą być jednoznaczne, dlatego każdy wpis musi mieć nazwę (distinguished name - DN). Powstaje ona w wyniku odwzorowania wszystkich obiektów w drzewie katalogu, od danego wpisu aż do korzenia. W tym celu wykorzystuje się wartość primary distinguished value głównej klasy obiektów (distinguished value). W naszym przykładzie byłoby to dla pana Stefana Malinowskiego: CN=Stefan Malinowski, OU=Dyrektor ds. handlowych, O=Zarząd, C=PL.

Nie jest jednoznacznie określone, jaką postać ma mieć DN. W tym przypadku postać CN jest zgodna ze wzorem ustalonym w RFC 1779.

Obok DN jest jeszcze relative distinguished name (RDN). To część nazwy, która sama jest atrybutem obiektu. W poprzednim przykładzie RDN obiektu brzmi: CN=Stefan Malinowski. RDN obiektu nadrzędnego brzmi: OU=Dyrektor ds. handlowych.


Zobacz również