Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00392 008791 10443480 na godz. na dobę w sumie
Oracle8i w sieci - książka
Oracle8i w sieci - książka
Autor: Liczba stron: 488
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-647-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> oracle - programowanie
Porównaj ceny (książka, ebook, audiobook).
Książka 'Oracle 8i w sieci' omawia wzajemne oddziaływanie poszczególnych elementów sieci komputerowej, wymagane oprogramowanie i sprzęt oraz sposób, w jaki poszczególne składniki interfejsu sieciowego komunikują się ze sobą umożliwiając łączność pomiędzy bazami danych a komputerami. Prezentowane procedury konfiguracyjne ilustrowane zrzutami ekranowymi stanowią szczegółową demonstrację sposobu konfiguracji sieci Oracle8i. Omówienie obejmuje również kwestie związane z protokołami stosowanymi w sieci Internet oraz z metodami szyfrowania transmisji.

Ta napisana przez administratora bazy danych Oracle i autoryzowana przez Korporację Oracle książka jest wyśmienitym podręcznikiem, zawierającym wszystkie informacje niezbędne do zaprojektowania i wdrożenia bazy danych Oracle8i w środowisku sieciowym.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI Oracle8i w sieci KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG Autor: Marlene L. Theriault T³umaczenie: Przemys³aw Szeremiota ISBN: 83-7197-647-X Tytu³ orygina³u: Oracle8i Networking 101 Format: B5, stron: 488 TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Ksi¹¿ka „Oracle 8i w sieci” omawia wzajemne oddzia³ywanie poszczególnych elementów sieci komputerowej, wymagane oprogramowanie i sprzêt oraz sposób, w jaki poszczególne sk³adniki interfejsu sieciowego komunikuj¹ siê ze sob¹ umo¿liwiaj¹c ³¹cznoġæ pomiêdzy bazami danych a komputerami. Prezentowane procedury konfiguracyjne ilustrowane zrzutami ekranowymi stanowi¹ szczegó³ow¹ demonstracjê sposobu konfiguracji sieci Oracle8i. Omówienie obejmuje równie¿ kwestie zwi¹zane z protoko³ami stosowanymi w sieci Internet oraz z metodami szyfrowania transmisji. problemy. Ta napisana przez administratora bazy danych Oracle i autoryzowana przez Korporacjê Oracle ksi¹¿ka jest wyġmienitym podrêcznikiem, zawieraj¹cym wszystkie informacje niezbêdne do zaprojektowania i wdro¿enia bazy danych Oracle8i w ġrodowisku sieciowym. a aplikacjami klientów. • Poznaj sprzêtowo-programowe wymagania sieci Oracle8i. • Skonfiguruj sieæ Net8 jako ġrodek komunikacji pomiêdzy serwerami • Skonfiguruj serwery Oracle Names. • Wykorzystaj narzêdzia konfiguracyjne, takie jak Net8 Assistant, Net8 • Zwiêksz wydajnoġæ sieci rozleg³ej za pomoc¹ serwerów wielow¹tkowych • Korzystaj z serwerów Oracle WebDB, internet Application Server (iAS) • Zapewnij bezpieczeñstwo korzystania z sieci i rozwi¹zuj pojawiaj¹ce siê i serwera katalogowego Internet Directory Server. Configuration Assistant i Connection Manager. i technik równowa¿enia obci¹¿enia. Spis treści Podziękowania ...................................................n...................................................n.............9 O Autorze...................................................n...................................................n...................11 Zaczynamy ...................................................n...................................................n.................13 Część I Podstawy ...................................................d...................15 Rozdział 1. Sieci — omówienie ogólne ............................................................... 17 Krótka historia komunikacji sieciowej ...................................................n.........................17 Sieć telefoniczna...................................................n...................................................n..19 Sieci komputerowe ...................................................n.................................................21 Podstawowe konfiguracje sieci i ich cechy..................................................n....................29 Różne typy sieci...................................................n...................................................n...29 Topologia sieci...................................................n...................................................n.....34 Podział danych na pakiety ...................................................n......................................37 Model systemu otwartego ...................................................n.............................................40 Standardy ...................................................n...................................................n.............41 Modele wzorcowe SNA i TCP/IP..................................................n............................47 Rozdział 2. Komponenty sieciowe Oracle............................................................ 51 Oracle — trochę historii...................................................n................................................51 Na scenę wkracza SQL*Net ...................................................n...................................53 Architektura ogólna ...................................................n...................................................n...54 Wymagania sprzętowe...................................................n............................................55 Warstwy składowe ...................................................n...................................................n.....56 Protokoły Oracle...................................................n...................................................n..56 Stosy komunikacyjne stosowane przez Oracle...................................................n.......60 Dedykowane procesy serwera ...................................................n................................64 Wielowątkowe procesy serwera ...................................................n.............................66 Połączenia za pośrednictwem protokołu Bequeath ...................................................n69 Łącza bazy danych ...................................................n...................................................n.....70 Podstawowa architektura łącza bazy danych...................................................n..........70 Tworzenie łącza bazy danych ...................................................n.................................72 Współdzielone łącza bazy danych ...................................................n..........................78 Rozdział 3. Komponenty platformy Net8 ............................................................. 81 Net8 — komponenty i parametry ...................................................n.................................82 Nawiązanie połączenia ...................................................n...........................................82 Plik listener.ora ...................................................n...................................................n....83 Narzędzie Listener Control (lsnrctl) ...................................................n.......................93 Plik tnsnames.ora...................................................n...................................................n.98 Plik sqlnet.ora ...................................................n...................................................n....103 2 Oracle8i w sieci Podstawy SNMP ...................................................n...................................................n......104 Zaglądając pod maskę...................................................n...........................................105 Oracle Enterprise Manager i Intelligent Agent ...................................................n...........106 OEM ...................................................n...................................................n..................106 Rozdział 4. Serwer Oracle Names Server .......................................................... 109 Praca w sieci ...................................................n...................................................n............110 Różne architektury...................................................n................................................110 Zastosowania pracy w sieci ...................................................n..................................111 Serwer Oracle Names ...................................................n.................................................114 Pobieranie informacji koniecznych do nawiązania połączenia ...............................114 Wiele serwerów Oracle Names ...................................................n............................116 Przechowywanie danych serwerów Oracle Names .................................................118 Globalne łącza bazy danych ...................................................n.................................119 Modele Nazw Oracle ...................................................n............................................124 Konfiguracja serwera Oracle Names ...................................................n....................129 Uruchamianie serwera Oracle Names ...................................................n..................135 Odkrycia ...................................................n...................................................n............136 Nowe funkcje serwera Net8 Oracle Names...................................................n..........137 Narzędzie Oracle Names Control (namesctl)...................................................n..............138 Polecenia programu namesctl ...................................................n...............................139 Rozdział 5. Oracle Internet Directory................................................................ 145 Różne oblicza katalogów ...................................................n............................................146 Katalogowa baza danych ...................................................n......................................146 Serwery usług katalogowych LDAP ...................................................n....................148 Modele LDAP...................................................n...................................................n....150 Oracle Internet Directory — przegląd ...................................................n........................156 Wpisy, atrybuty i klasy ...................................................n.........................................157 Oracle Internet Directory i Net8 ...................................................n.................................163 Komponenty ...................................................n...................................................n......163 Instalacja katalogu Oracle Internet Directory...................................................n.......166 Narzędzia Oracle Internet Directory ...................................................n...........................168 Narzędzia obsługiwane z wiersza poleceń ...................................................n...........168 Narzędzie OID Manager...................................................n.......................................172 Rozdział 6. Projektowanie sieci ....................................................................... 175 Tworzenie planu sieci ...................................................n.................................................176 Kwestie do rozważenia ...................................................n.........................................176 Kwestie związane z zarządzaniem...................................................n........................176 Kwestie związane ze strukturą sieci ...................................................n.....................183 Kwestie związane z serwerami ...................................................n.............................187 Kwestie związane z połączeniami ...................................................n........................190 Kwestie związane z archiwizacją i odtwarzaniem danych ......................................192 Część II Narzędzia konfiguracyjne .............................................195 Rozdział 7. Net8 Assistant — opcje lokalne ..................................................... 197 Net8 Assistant — podstawy...................................................n........................................198 Korzystanie z Net8 Assistant...................................................n................................199 Funkcje dostępne w oknie powitalnym ...................................................n................200 Pozycje menu rozwijanego ...................................................n...................................201 Obszar nawigacyjny okna Net8 Assistant ...................................................n............206 Spis treści 3 Opcje konfiguracyjne gałęzi Local ...................................................n.............................208 Konfiguracja profilu — gałąź Profile ...................................................n...................208 Konfiguracja lokalnego odwzorowania nazw — gałąź Service Naming ................225 Konfiguracja procesów nasłuchujących — gałąź Listeners ....................................229 Rozdział 8. Net8 Assistant — konfiguracja serwerów Oracle Names Server...... 237 Tworzenie i konfiguracja serwerów Oracle Names...................................................n....237 Nowy serwer Oracle Names ...................................................n.................................238 Opcje kategorii Manage Server ...................................................n............................240 Opcje kategorii Manage Data ...................................................n...............................245 Opcje kategorii Configure Server...................................................n.........................251 Rozdział 9. Net8 Configuration Assistant ......................................................... 257 Net8 Configuration Assistant — przegląd ...................................................n..................258 Konfiguracja procesu nasłuchującego ...................................................n..................259 Konfiguracja metod przekształcania nazw ...................................................n...........266 Konfiguracja nazw usług sieciowych ...................................................n...................266 Konfiguracja dostępu do usług katalogowych...................................................n......274 Rozdział 10. Menedżer połączeń — Oracle Connection Manager ........................ 279 Oracle Connection Manager — przegląd.................................................n......................280 Procesy serwera Oracle Connection Manager ...................................................n......280 Oracle Connection Manager — koncentracja połączeń ..........................................281 Kontrola dostępu do sieci Net8...................................................n.............................282 Obsługa wieloprotokołowości ...................................................n..............................283 Oracle Connection Manager — konfiguracja ...................................................n.............284 Plik cman.ora ...................................................n...................................................n.....284 Konfiguracja funkcji koncentracji połączeń serwera Oracle Connection Manager ...................................................n................288 Konfiguracja obsługi wieloprotokołowości serwera Oracle Connection Manager ...................................................n................290 Konfiguracja kontroli dostępu serwera Oracle Connection Manager .....................291 Narzędzie Oracle Connection Manager Control...................................................n.........292 Rozdział 11. Obsługa dużych sieci...................................................................... 297 Serwer wielowątkowy...................................................n.................................................298 Zastosowanie serwerów wielowątkowych?...................................................n..........299 Uaktywnianie procesów serwera wielowątkowego.................................................302 Określanie właściwej liczby procesów dyspozytora ...............................................305 Rywalizacja w dostępie do serwera współdzielonego.............................................307 Pula połączeń, koncentracja połączeń i równoważenie obciążenia.........................319 Wstępnie tworzone procesy serwera...................................................n...........................320 Wstępnie tworzone dedykowane procesy serwera ..................................................320 Konfiguracja wstępnie tworzonych dedykowanych procesów serwera ..................321 Część III Sieci Oracle a Internet.................................................323 Rozdział 12. Proces nasłuchujący serwera WebDB ............................................ 325 WebDB ...................................................n...................................................n....................326 Proces nasłuchujący i funkcje serwera WebDB ...................................................n...326 Instalacja procesu nasłuchującego WebDB ...................................................n................327 Przed rozpoczęciem instalacji...................................................n...............................328 Czynności instalacyjne procesu nasłuchującego WebDB .......................................329 Czynności konfiguracyjne ...................................................n....................................335 4 Oracle8i w sieci Instalacja procesu nasłuchującego WebDB Uruchamianie i zatrzymywanie procesu nasłuchującego WebDB ..........................338 Uruchamianie węzłów wirtualnych ...................................................n......................339 Dostęp do plików statycznych ...................................................n..............................340 Analiza parametrów konfiguracyjnych...................................................n.................341 Proces nasłuchujący WebDB — wykrywanie i rozwiązywanie problemów.................345 Rozdział 13. Oracle Advanced Security .............................................................. 347 Oracle Advanced Security — przegląd...................................................n.......................348 Och, to okropne słownictwo ...................................................n.................................349 Funkcje Oracle Advanced Security ...................................................n......................352 Oracle Advanced Security — analiza architektury .................................................357 Część IV Wykrywanie i rozwiązywanie problemów .......................363 Rozdział 14. Diagnostyka problemów w sieci Net8 ............................................ 365 Wykrywanie i rozwiązywanie problemów — wskazówki ogólne.................................365 Podstawowe zasady postępowania ...................................................n.......................367 Znaczenie komunikatów o błędach, wpisów w plikach dziennika i w plikach śladu ....375 Reperowanie procesu nasłuchującego ...................................................n..................375 Diagnostyka problemów — krok po kroku ...................................................n..........376 Wskazówki dotyczące diagnostyki najczęściej spotykanych błędów .....................383 Interpretacja zawartości plików dziennika i plików śladu aplikacji Net8 .....................400 Analiza zawartości plików dziennika ...................................................n...................401 Analiza zawartości plików śladu ...................................................n..........................405 Dodatki ...................................................d....................................411 Dodatek A Parametry pliku sqlnet.ora ............................................................. 413 Profil klienta Oracle Names...................................................n........................................413 Profil programu Names Control...................................................n..................................415 Profil adapterów własnych metod odwzorowania nazw................................................417 Profil systemu uwierzytelniania Kerberos ...................................................n..................418 Profile adapterów Advanced Networking Option Authentication.................................419 Profil adaptera Radius...................................................n.................................................420 Zabezpieczenie sieci — Advanced Networking Option for Network Security .............421 Profil serwera Oracle Security Server...................................................n.........................422 Parametry definiujące działanie klienta SQLNet (wersje 2.x) i Net3.0.........................423 Dodatek B Parametry pliku names.ora............................................................. 427 Słownik podstawowych pojęć............................................................................. 435 Skorowidz........................................................................................................... 467 Rozdział 5. Oracle Internet Directory Często jestem zmuszana do kontaktowania się z lokalnym biurem SSA (Social Security Administration). Sięgam wtedy po książkę telefoniczną i sprawdzam strony urzędów (oznaczone kolorem niebieskim). Wpisy w książce telefonicznej są ułożone są w ko- lejności alfabetycznej, co pozwala na szybkie odnalezienie numeru biura SSA oraz adresu informacyjnej strony internetowej. Na podstawie tego przykładu można przypuszczać, że katalog (podobnie jak książka telefoniczna) jest mechanizmem lub obiektem przechowującym informacje, które dotyczą jednego lub więcej tematów. Katalogi są tworzone z określoną logiką, prze- chowując na przykład wpisy w kolejności alfabetycznej i umożliwiają efektywne wy- szukiwanie informacji. Pamiętając o definicji określającej katalog jako mechanizm lub obiekt przechowujący informacje o jednym lub kilku obiektach, można się rozejrzeć i zlokalizować w swoim otoczeniu jakieś katalogi. Jeżeli Czytelnik znalazł słownik, dysponuje katalogiem słów. Książka kucharska jest katalogiem przepisów. Przysłana pocztą oferta pobliskiego sklepu komputerowego może być potraktowana jako katalog rzeczy, które można kupić w tym sklepie. Podobnie jest w przypadku programu telewizyjnego. Kolejnym przy- kładem katalogu, przechowującego olbrzymią ilość informacji i znajdującego się w nie- mal każdym domu, jest encyklopedia. Czytelnik zapewne zastanawia się, co katalogi mają wspólnego z pracą w sieci, poza wykorzystywaniem ich do przechowywania plików konfiguracyjnych Net8. Otóż w ni- niejszym rozdziale omówię nowy składnik Oracle8i o nazwie Oracle Internet Directory (OID). Technologia ta została zaprojektowana do współpracy z katalogiem Lightwe- ight Directory Access Protocol (LDAP). Brzmi to nieco onmieśmielająco, ale nie należy się tym przejmować. Za chwilę opowiem wszystko o działaniu LDAP i o Oracle In- ternet Directory, o ich zastosowaniach i konfiguracji. Oracle Internet Directory jest bardzo złożonym narzędziem, a więc napisanie wszystkiego o nim w jednym, krótkim rozdziale jest niemożliwe. Dlatego też ograniczę się do informacji pomocnych pod- czas rozpoczynania pracy i umożliwiających lepsze zrozumienie zastosowanej w nim technologii. W razie konieczności skorzystania z bardziej szczegółowych informacji 146 Część I ♦ Podstawy polecam lekturę opracowanego przez Oracle podręcznika „Oracle Internet Directory Administration Guide, Release 2.0.6”, pozycja numer A77230-01. Zapraszam zatem na wędrówkę po katalogach elektroniczmnych. Różne oblicza katalogów Przed rozpoczęciem szczegółowego omawiania tematu chciałabym wyjaśnić jedną kwestię. Stosując w tym rozdziale słowo „katalog” mam na myśli wyspecjalizowaną, elektroniczną bazę danych, w której informacje szczególnego rodzaju są przechowy- wane w ściśle określony sposób. Nie chodzi mi o ten rodzaj katalogu, w którym są prze- chowywane pliki. Pamiętanie o tym może stanowić nie lada trudność. Człowiek, który dłużej pracuje przy komputerze, przyzwyczaja się, że organizacja i rozmieszczenie plików powinno ułatwiać uzyskanie dostępu do nich. Pliki mogą być przechowywane w wielu różnych zbiorach nazywanych katalogami. Każdy katalog systemu plików posiada nazwę, która wprost mówi o jego zawartości (lub przynajmniej daje wska- zówkę dotyczącą rodzaju tej zawartości). Czytelnik zapewne już wie, czym jest katalog systemu plików. Jednak tematem tego rozdziału jest inny rodzaj katalogu. Jest to rodzaj wyspecjalizowanej bazy danych, w któ- rej są przechowywane niewielkie porcje informacji. Przykładowo, w przypadku apli- kacji obsługującej pocztę jest to lista znajomych i ich adresów e-mail. W niektórych aplikacjach tego rodzaju istnieje dostęp do książki adresowej, w której wpisuje się kilka pierwszych liter imienia czy nazwiska, a mechanizm wyszukujący lokalizuje wszystkie pasujące pozycje. Książka ta jest jednak dostępna tylko za pośrednictwem obsługującej je aplikacji. Taki rodzaj katalogu znakomicie spełnia rolę źródła informacji wymagających zarzą- dzania. Jednym z najpopularniejszych zastosowań takich katalogów jest przechowy- wanie nazw komputerów, ich adresów IP oraz innych informacji istotnych w procesie odwzorowywania nazw usług sieciowych. Innym zastosowaniem jest przechowywa- nie list kontroli dostępu uprawniających poszczególnych użytkowników do dostępu do danego komputera czy usługi. Katalogowa baza danych Po przeanalizowaniu powyższych informacji warto je odnieść do relacyjnej bazy danych. Jest to przecież mechanizm umożliwiający przechowywanie i organizację informacji. Jest to także zestaw katalogów i rozmieszczonych w nich plików, które przechowują dane i metadane, do których odwołuje się mechanizm bazy danych podczas manipu- lacji tymi danymi. Wszystkie elektroniczne bazy danych, jakie miałam okazję poznać, składają się z plików rozmieszczonych w katalogach. Trzeba jednak cały czas pamiętać, że nie mówię tu o katalogach w sensie struktury systemu plików. Mówię o relacyj- nych bazach danych i katalogowych bazach danych. Należy wobec tego określić róż- nice pomiędzy tymi dwoma rodzajami baz danych. Rozdział 5. ♦ Oracle Internet Directory 147 Katalogowe i relacyjne bazy danych Podstawowa różnica między omawianymi strukturami wynika ze sposobu korzystania z relacyjnej i katalogowej bazy danych. Najpierw przypomnę sposób korzystania z relacyjnej bazy danych. Przykładem niech będzie aplikacja bazy danych w miejscowej uczelni. mTaka baza danych składa się z tabel zawierających informacje o wykładach, dane personalne studentów, informacje o przed- miotach, na jakie uczęszczają poszczególni studenci, oceny z egzaminów. W skład ta- kiej bazy danych wchodzą również formularze rejestracyjne. Student może przeglądać formularz rejestracyjny i zapisać się za jego pomocą na jeden lub kilka przedmiotów lub zmodyfikować swoje dane personalne. Może również sprawdzić rozkład zajęć — być może posiada nawet uprawnienia do przeglądania swoich ocen. Wykładowca może wprowadzać oceny poszczególnych studentów. Dzięki możliwościom relacyjnej bazy danych może odszukać oceny studenta na podstawie jego danych personalnych. Pra- cownik administracyjny może zaś przetwarzać formularze rejestracyjne studentów oraz wprowadzać, usuwać czy aktualizować informacje o mprzedmiotach. Przeprowadzane operacje polegają zatem na wstawianiu, aktualizacji i — rzadziej — usuwaniu danych za pomocą kilku zapytań. Wprawdzie wyszukiwanie informacji w hurtowni danych nie polega na takich manipulacjach danymi, ale zdecydowana większość operacji realizowanych przez bazę danych polega na przechowywaniu, po- bieraniu, wstawianiu, aktualizacji i usuwaniu dużych ilości informacji. Tak więc można śmiało stwierdzić, że relacyjna baza danych jest bardzo obciążona obsługą zapisu rozmaitych rodzajów informacji. Poza tym mechanizm relacyjnej bazy danych poszu- kuje potrzebne informacje w konkretnym miejscu, w określonym pliku przechowy- wanym w zdefiniowanym komputerze. Położenie danych relacyjnej bazy danych jest zapisane w słowniku bazy danych. Warto przeanalizować strukturę katalogowej bazy danych. Zazwyczaj praca z katalo- gową bazą danych wymaga jej początkowego wypełnienia danymi, ale po załadowaniu danych do bazy większość operacji polega na wykonywaniu zapytań i wyszukiwaniu drobnych porcji informacji. Informacje te są przechowywane w parach klucz-wartość, przykład takiej pary stanowią nazwisko znajomego i adres jego poczty elektronicznej. Katalogowa baza danych raczej służy do odczytywania danych i nadaje się do obsługi sto- sunkowo prostych transakcji. W katalogowej bazie danych nie przechowuje się (lub prze- chowuje się niewielkie ilości) informacji o związkach pomiędzy danymi. W celu pobiera- nia informacji z katalogowej bazy danych zazwyczaj wykorzystuje się aplikację serwera usług katalogowych. Udostępnia on przechowywane w katalogu informacje wszystkim aplikacjom klientów, które wykonują zapytania do serwmera usług katalogowych. Serwery usług katalogowych Nareszcie dotarłam do sedna tego rozdziału. Jestem pewna, że dość już czasu poświę- ciłam na wstęp. Dokonam teraz ogólnego przeglądu serwerów usług katalogowych, po czym omówię implementację Oracle serwera usług katalogowych LDAP. Nawia- sem mówiąc, gdy pisałam ten rozdział, korporacja Oracle określiła tę nowo powstającą technologię mianem Oracle Internet Directory. Mówiąc ogólnie o serwerach usług 148 Część I ♦ Podstawy katalogowych będę więc stosowała termin „serwer usług katalogowych LDAP”, a termin „Oracle Internet Directory” zarezerwuję dla wspomnianej implementacji serwera usług katalogowych, opracowanej przez korporację Oracle. Omawiając cechy relacyjnych baz danych wspomniałam, że mechanizm bazy danych może określić położenie wyszukiwanych danych. Natomiast informacje serwera katalo- gowego są niezależne od komputera. Cóż to oznacza dla użytkownika? Czytelnik zapewne pamięta serwer Oracle Names, który omawiałam w rozdziale 4. Pod- czas konfigurowania serwera Oracle Names istnieje możliwość określenia, że serwer będzie przechowywał informacje dotyczące odwzorowania nazw i adresów w pamięci podręcznej. Przy takim sposobie przechowywania danych wszelkie nowo zarejestro- wane nazwy są przekazywane do wszystkich pozostałych serwerów Oracle Names, uruchomionych w danym w regionie. Struktura aplikacji serwera usług katalogowych powoduje, że w całym środowisku są dostępne te same informacje, niezależnie od tego, z którego serwera usług katalogowych są pobierane informacje. W przypadku gdy żą- danie klienta nie może zostać obsłużone lokalnie, serwer wyszukuje żądane informacje lub wskazuje klientowi miejsce, w którym one się znajdują. Oczywiście, z punktu wi- dzenia klienta jest to proces przeźroczysty. Podobnie jak serwer Oracle Names, tak i serwer usług katalogowych LDAP umożli- wia translację żądań lokalizacji informacji. Jednak w przeciwieństwie do serwera Oracle Names, serwer usług katalogowych LDAP umożliwia translację obiektów spoza rodziny Oracle. Serwer usług katalogowych LDAP umożliwia komunikowanie się użytkowników, wspólne wykorzystywanie aplikacji i zasobów przez komputery, sieci, a nawet państwa. Czytelnik zapewne potrafi wyobrazić sobie, że spędza w pracy mnóstwo czasu dosto- sowując środowisko do osobistych preferencji. Pulpit został już dokładnie dostoso- wany do osobistych upodobań, a kolory okien odpowiadają jego temperamentowi. Profil użytkownika jest przechowywany lokalnie w komputerze PC. Jednak w razie łączenia się z siecią firmową z domu ten dostosowany profil jest niedostępny. Aby w ten sam sposób skonfigurować środowisko pracy na komputerze domowym, trzeba by ustawiać wszystko od nowa. Czy nie byłoby wspaniale posiadać profil użytkownika, który byłby dostępny z dowolnego miejsca na świecie? Katalog udostępnia środki, za pomocą których użytkownicy mogą zawsze mieć dostęp do swoich prywatnych usta- wień środowiskowych. Serwery usług katalogowych LDAP Każdy kierowca wie, że podczas jazdy musi dostosować się do wielu przepisów i zasad ruchu. Przepisy te wyznaczają czynności, jakie w danych okolicznościach należy pod- jąć, aby nie popełnić wykroczenia. Przepisy określają, przykładowo, maksymalną pręd- kość jazdy w pobliżu szkół lub wymuszają zatrzymanie pojazdu przed znakiem stop. Przepisy mogą zobowiązywać kierowcę do zatrzymania pojazdu na czerwonym świetle na skrzyżowaniu, nawet jeżeli ma on zamiar skręcić w prawo. Wszystkie te zasady i re- gulacje zostały określone w celu zapewnienia bezpiecmzeństwa użytkownikom dróg. Rozdział 5. ♦ Oracle Internet Directory 149 W rozdziale 1. i 2. pisałam o rozmaitych protokołach, na podstawie których korpora- cja Oracle opracowuje swoje technologie sieciowe. Protokoły te stanowią zbiór reguł definiujących sposób przesyłania danych w sieci komputerowej. Podobnie jak przepisy ruchu drogowego, protokoły są uzgodnionymi zasadami transmisji, chroniącymi ruch sieciowy przed kolizjami i zatorami. Jedną z zalet stosowania serwera usług katalogowych LDAP jest to, że dysponuje się dzięki niemu scentralizowaną lokalizacją, w której można przechowywać informacje róż- nego typu. Serwer usług katalogowych może służyć jako centralne repozytorium wszyst- kich informacji o komponentach sieciowych, stosowanych politykach bezpieczeństwa użytkowników i działów, a nawet danych uwierzytelniających użytkowników, łącznie z ich hasłami. Dzięki takiemu pojedynczemu repozytorium ewentualne zmiany są doko- nywane w jednym miejscu, a nie w potencjalnie wielkiej liczbie plików. Znika też ko- nieczność utrzymywania pliku tnsnames.ora na komputerach klientów i serwerów. Kata- log przechowuje nazwy pozostałych usług, a więc jedna konfiguracja może umożliwiać nawiązywanie połączenia z serwisami działającymi na mpodstawie różnych protokołów. Korzystanie z serwera usług katalogowych LDAP ma też swoje wady. Jeżeli jedyny działający w sieci serwer LDAP ulegnie awarii, żądania klientów przestaną być obsłu- giwane. Trudno też przewidzieć konsekwencje sytuacji, w której uruchamiana aplika- cja nie może nawiązać połączenia lub jej składniki są rozproszone w taki sposób, że bez pomocy serwera usług katalogowych nie są dostępnme. Inną niedogodnością jest fakt, że wszystkie klienty muszą mieć dostęp do katalogu. Może to stanowić potencjalną lukę w systemie zabezpieczeń systemu. Udostępnienie użytkownikom serwera katalogu LDAP jest pewnego rodzaju otwarciem furtki dla hakerów, którzy dzięki niemu mogą potencjalnie uzyskać informacje o wszystkich komponentach sieciowych, a być może i dostęp do danych o strategicznym znaczeniu dla przedsiębiorstwa. Ostrzeżenia te mają uświadomić Czytelnikowi, że zaprojekto- wanie i konfiguracja serwera usług katalogowych może powodować pewne problemy. Wielu z tych problemów można uniknąć dzięki starannemu zaplanowaniu struktury katalogu i uwzględnieniu na tym etapie ewentualnychm trudności. Przykładowo, aby zabezpieczyć się na wypadek awarii serwera katalogu, można wyko- rzystać lokalne bufory przechowujące dane, które pobrano ostatnio z serwera usług ka- talogowych. Możliwe, że zawartość pamięci podręcznej nie uwzględnia najnowszych danych zaktualizowanych w katalogu, ale rozwiązanie to zapewnia przynajmniej dostęp do potrzebnych informacji nawet w przypadku niedostęmpności serwera katalogu. Czytelnik otrzymał już sporą dawkę ogólnych informacji o serwerach usług katalo- gowych LDAP. Należy jeszcze omówić ich budowę. Zachęcam także do zapoznania się z odrobiną historii LADP i ze swojego rodzaju „przepisami ruchu”, będącymi pod- stawą specyfikacji tego protokołu. Usługi katalogowe LDAP — trochę historii Protokół uproszczonego dostępu do katalogu (Lightweight Directory Access Protocol, LDAP) został opracowany przez grupę Internet Engineering Task Force (IETF) i jest otwartym standardem internetowym. Innymi osiągnięciem zespołu IETF jest opraco- wanie protokołów TCP/IP, DNS, SMTP, NNTP, SNMP i HTTP. 150 Część I ♦ Podstawy Protokół X.500, definiujący usługi katalogowe modelu OSI, uwzględnia wiele świet- nych koncepcji, ale okazuje się trudny w implementacji i wdrażaniu w sieci Internet. Protokół X.500 jest po prostu zbyt skomplikowany i rozbudowany. Implementacje tego protokołu są trudne w stosowaniu i wymagają niemałych zasobów, którymi przeciętny użytkownik nie dysponuje. Protokół LDAP został opracowany jako uproszczony inter- fejs protokołu X.500 Directory Access Protocol. Zakładano, że LDAP miał udostępniać 90 funkcji X.500 i zmniejszać zapotrzebowanie na zasoby do 10 . Protokół LDAP umożliwia uproszczony dostęp do katalogu i posiada mnastępujące właściwości:  działa na podstawie protokołu TCP/IP i eliminuje wyższe mwarstwy wielowarstwowego stosu komunikacyjnego OSI, uwzględnimane w protokole X.500;  eliminuje niewykorzystywane funkcje i nadmiarowe opmeracje protokołu X.500, przez co znacznie go upraszcza;  korzysta z prostych formatów ciągów połączeniowych dla mposzczególnych elementów danych — ciągi połączeniowe X.500 są bardziej mskomplikowane i posiadają ściśle strukturalną reprezentację;  w porównaniu do wymagań protokołu X.500 protokół LDAP upraszmcza reguły szyfrowania transmisji danych. Pierwotnie LDAP służył jako interfejs dla protokołu X.500. Klient LDAP mógł nawią- zać połączenie z serwerem LDAP, który z kolei mógł przekazać żądanie klienta do serwera X.500. Połączenia takie były obarczone narzutami czasowymi związanymi z obsługą skomplikowanego i niewygodnego serwera X.500, obsługującego w tle żą- danie klienta. Z biegiem czasu model LDAP został oddzielony od protokołu X.500 i opracowano pierwsze samodzielne serwery LDAP. W modelu LDAP klient zgłasza żądanie bezpośrednio do serwera LDAP i z tego samego serwera otrzymuje natych- miastową odpowiedź. Zastosowanie modelu LDAP i wyeliminowanie czynności wy- maganych w protokole X.500 powoduje, że serwery LDAP działają równie wydajnie, jak inne proste serwery internetowe, które cechują się dużym stopniem integracji ze środowiskiem Internetu. Modele LDAP Wyróżnia się cztery modele opisujące operacje, przechowywanie danych i sposób użycia LDAP. Modele te obejmują:  model informacyjny, definiujący rodzaj przechowywanycmh informacji;  model nazw, definiujący organizację i sposób odwoływanmia się do informacji katalogu LDAP;  model funkcjonalny, opisujący możliwości przetwarzanima i aktualizacji informacji oraz sposoby dostępu do nich;  model bezpieczeństwa, definiujący sposób zabezpieczanima katalogu LDAP przed nieuprawnionym dostępem. Rozdział 5. ♦ Oracle Internet Directory 151 Model informacyjny Zastanawiam się, w jaki sposób Czytelnik opisałby samego siebie. Czy jest wysoki, a może niski, czy jest tęgi, średniej budowy, czy może szczupły? Jakiego koloru są jego oczy i włosy? Czy jest mężczyzną, czy kobietą? Gdybym zechciała wykorzystać katalog do przechowywania opisów prezencji swojej i swoich znajomych, opis każdej z osób mógłby zajmować jeden wiersz, czyli wpis. Każdy wpis składałby się z atrybutów takich jak wzrost, waga, kolor włosów, oczu, płeć. Każdemu z atrybutów przypisano by pewne reguły (ograniczenia). Reguły te są nazywane typami. Przykładowo, atrybut definiujący kolor oczu może być ciągiem znakowym o nazwie G[G QNQT. Z każdym typem są związane wartości dopuszczalne dla danego atrybutu. Typem atrybutu G[G QNQT jest ciąg znakowy, a jego wartościami dopuszczalnymi są $.7 , $4190, *# ., 8+1. 6 itd. W ten sposób określa się model in- formacyjny, definiujący strukturę wpisu w katalogu LDAP. Opiszę ten model w bar- dziej formalny sposób. Model informacyjny LDAP definiuje rodzaje przechowywanych informacji, kładąc nacisk na poszczególnych wpisach. Zasadniczo, wpisy dotyczą pojęć lub obiektów świata rzeczywistego, takich jak osoby, organizacje, drukarki itd. Nie jest to jednak konieczne — wpisy mogą też dotyczyć pojęć abstrakcyjnych. Powiedziałam już, że wpisy skła- dają się z atrybutów zawierających informacje dotyczące obiektu oraz że każdy atry- but posiada typ dopuszczający jedną lub więcej wartości. Rysunek 5.1 przedstawia ogólną strukturę wpisu, z jednym atrybutem pewnego typu i jego wartościami. Obok ogólnego modelu wpisu znajduje się przykład wpisu z atrybutem G[G QNQT typu ciąg znaków i jego wartości. Wpis LDAP Rysunek 5.1. Model ogólny i przykład wpisu w katalogu LDAP Atrybut = eyeColor Typ Wartość Wartość ... Character String BLUE VIOLET ... Warto dokładniej omówić kwestię typu atrybutu. Aby określić rodzaj informacji, która może być przechowywana jako wartość atrybutu, należy sprawdzić składnię typu atrybutu. Typ określa również sposób zachowywania się danej wartości w czasie wy- szukiwania, porównywania lub innych operacji katalogu. Przykładowy atrybut QOOQP 0COG (nazwa), który w nomenklaturze LDAP jest określany skrótem EP, posiada składnię ECUG+IPQTG5VTKPI. Składnia ta wskazuje, że podczas porównywania wartości atrybutu będzie ignorowana wielkość liter, składających się na tę wartość, oraz że wartość ta musi być ciągiem znakowym. Z tego względu wpisy 019#-, 0QYCM oraz PQYCM mają, zgod- nie ze składnią, identyczne wartości. Atrybut VQFC[ CVG posiada identyczną składnię ECUG+IPQTG5VTKPI, która tym razem oznacza ignorowanie wszelkich kresek i spacji w porównywanych datach. Dzięki temu data  i  podczas porów- nywania są traktowane jako identyczne. 152 Część I ♦ Podstawy Na atrybuty można również nakładać pewne ograniczenia, takie jak limit długości, układ, liczbę argumentów i tym podobne. Atrybut przeznaczony do przechowywania numeru karty kredytowej może na przykład być ograniczony do przyjmowania tylko jednej wartości wejściowej, a atrybut służący do przechowywania tekstu dokumentu może być ograniczony maksymalną liczbą słów. Reguły dotyczące zawartości służą z kolei do określania wymaganych lub dozwolonych wartości atrybutów. W miejsce reguł zawartości można w każdym wpisie zastosować specjalny atrybut o nazwie QD LGEV NCUU. Atrybut QDLGEV NCUU definiuje typ wpisu, a także określa wymagane i opcjo- nalne atrybuty. Atrybut QDLGEV NCUU dla wpisu 151$# może, przykładowo, wymagać określenia atrybutu UP (surname, nazwisko), EP (nazwa) i innych. Równoważnikiem ta- kiej struktury w bazie danych jest schemat. Aby zmienić bieżący schemat bazy danych LDAP, należy dodać do wpisu nowe klasy. Każdy z wpisów posiada specjalną klasę, nazywaną klasą obiektu strukturalnego, defi- niującą rodzaj wpisu. Klasa obiektu strukturalnego nie może być modyfikowana. Reszta klas to klasy pomocnicze. Klasy pomocnicze mogą być dodawane do wpisu lub usu- wane z niego na podstawie obowiązujących reguł dostępu. Wersja 3. standardu LDAP uwzględnia specjalną klasę o nazwie GZVGPUKDNG1DLGEV, służącą do nadpisywania ak- tualnie obowiązujących reguł schematu. Czasami przykrycie obowiązujących reguł schematu nowymi regułami jest pożądane, na przykład jeśli zdefiniowanie nowej re- guły schematu i uwzględnienie tej zmiany po stronie serwera i po stronie klientów mogłoby wymagać dużego nakładu pracy. W takim przypadku proste przykrycie reguły jej nową wersją oraz swobodne dodawanie i usuwanie atrybutów może być dużo wy- godniejszą metodą. Rozszerzenia LDAP 3 Ponieważ wspominałam o wersji 3. protokołu LDAP, chciałabym zaznaczyć, że trzecia wersja standardu LDAP została przyjęta w grudniu 1997 roku przez IETF, jako stan- dard obowiązujący w Internecie. Nowe standardy określają szereg rozszerzeń, z których korzysta Oracle. Standardy te umożliwiły korporacji Oracle implementację w serwerze Oracle Internet Directory następujących funkcji:  obsługa znaków diakrytycznych wszystkich języków światam;  globalne rozmieszczenie drzewa Directory Information Tree pomiędzy wieloma serwerami LDAP za pomocą mechanizmu referałów (mmechanizm ten skrótowo objaśniono w podrozdziale „Referały LDAP”);  implementacja i obsługa standardowych protokołów Simple Authentication and Security Layer (SASL) oraz Transport Layer Security (TLS), umożliwiających zastosowanie wszechstronnej platformmy zabezpieczania danych LDAP;  umożliwienie producentom oprogramowania rozszerzanima operacji LDAP za pomocą mechanizmu o nazwie controls;  publikacje informacji przydatnych innym serwerom LDAP mi klientom. Rozdział 5. ♦ Oracle Internet Directory 153 Model nazw W rozdziale 2. omawiałam struktury hierarchiczne. Czytelnik zapewne pamięta wy- kres hierarchii kierownictwa przedsiębiorstwa XYZ (rysunek 5.2). Rysunek 5.2 wy- gląda podobnie do rysunku 2.5 prezentowanego w rozdziale 2., ale różni się od niego kilkoma szczegółami. Dodano bowiem tu element oznaczomny etykietą „XYZ”. Rysunek 5.2. Wykres hierarchii kierownictwa polskiego oddziału przedsiębiorstwa XYZ PL XYZ WP MZ Warszawa Poznań DS Wrocław Zlecenia Produkcja Spedycja Zlecenia Mimo że nie jest to wymagane przez protokół, wpisy modelu nazw LDAP są zazwy- czaj wyświetlane w postaci drzewa, odzwierciedlającego strukturę geograficzną lub orga- nizacyjną. Poszczególne wpisy są oznaczone nazwami, zgodnie z ich pozycją w hierarchii, a każdy wpis posiada nazwę wyróżniającą (Distinguished Name, DN). Każdy kompo- nent nazwy jest określany jako względna nazwa wyróżniająca (Relative Distinguished Name, RDN). Nazwy RDN mogą składać się z jednego lub z kilku amtrybutów wpisu. Aby ułatwić sobie zrozumienie modelu nazw, można przeanalizować strukturę syste- mu plików Windows NT lub UNIX. RDN może być traktowany jak nazwa pliku sys- temu plików. Nazwa DN jest zaś w tej analogii w pełni kwalifikowaną ścieżką dostę- pu do tego pliku. Zaproponuję teraz, aby Czytelnik przeanalizował następującą nazwę pliku: D:/Ora816/Oracle/Network/Admin/trace_010500.trc i odpowiedział na pyta- nie, która część tej nazwy jest nazwą DN, a która RDN? Warto przemyśleć swoją od- powiedź, gdy będę w dalszym ciągu omawiała model nazwm LDAP. Dwa pliki we wspólnym katalogu nie mogą posiadać takich samych nazw — dwa wpisy o tym samym wpisie nadrzędnym w katalogu LDAP też muszą posiadać różne nazwy EP. Węzły końcowe i węzły wewnętrzne struktury LDAP mogą przechowywać informacje. Termin przestrzeń nazw dotyczy kombinacji lokacji tworzących kwalifi- kowana ścieżkę dostępu do szukanej informacji. W strukturze systemu plików systemu operacyjnego przestrzeń nazw jest zakorzeniona w najobszerniejszym elemencie i schodzi w dół, aż do nazwy pliku. Zgodnie z powyższym, ścieżka D:/Ora81/network/admin jest przestrzenią nazw, zakorzenioną w elemencie symbolizującym dysk D: i zagłębiającą się aż do plików umieszczonych w katalogu admin. W strukturze LDAP przestrzeń 154 Część I ♦ Podstawy nazw jest zakorzeniona w elemencie najmniej obszernym i zawiera nazwy elementów nadrzędnych, aż do korzenia katalogu. Z tego względu wyszukiwanie wpisu rozpo- czyna się zawsze od elementu EP i przechodzi do korzenia przestrzeni nazw LDAP. Zanim zaprezentuję przykład modelu nazw, muszę wspomnieć o wykorzystywanych w nim separatorach. W przytoczonej powyżej ścieżce dostępu do pliku separatorami były znaki ukośnika (/) lub lewego ukośnika (), w zależności od systemu operacyjnego. W przypadku LDAP składniki nazw są oddzielane za pomocą przecinka (,). Wpis LDAP mógłby więc mieć nazwę EP NGEGPKCW9CTUCYCUV/ Q:; E2., w której nazwą elementu jest NGEGPKC, jednostką (u — unit, z ang. jednostka) jest Warszawa, województwem (st — state) jest woj. mazowieckie, organizacją jest przedsiębiorstwo XYZ, a krajem (c — country) jest Polska. W przykładzie tym można wyróżnić nazwy względne (RDN): EP NGEGPKC, W9CTUCYC, UV/2, Q:; oraz nazwę DN Q:; ,E2.. Przy okazji, w pre- zentowanej powyżej nazwie pliku nazwą RDN byłby ciąg trace_010500.trc, zaś nazwą DN ciąg D:Ora816NetworkAdmin. Właśnie zdałam sobie sprawę z tego, że odpowiedź ta może być nieco myląca — na- leży przeanalizować ją dokładniej. W przypadku nazwy pliku cała ścieżka dostępu mogłaby być traktowana jak nazwa DN wpisu LDAP. Przy założeniu, że istnieje w LDAP jednostka o nazwie RCVJPCOG (ścieżka dostępu do pliku) określana skrótem RP, zgod- nie z modelem nazw LDAP cała ścieżka dostępu byłaby pojedynczym składnikiem nazwy wpisu: RP  1TC 0GVYQTM #FOKP. Właściwą nazwą pliku byłby element EP: EPVTCEGAVTE. W razie podzielenia składowej RP na mniejsze elementy, każdy z elementów poniżej korzenia byłby nazwą względną wpisu (RDN), a ciąg wszyst- kich elementów nazwą byłby nazwą wyróżniającą wpisu (DN). Istotą modelu nazw jest zapewnienie niepowtarzalności nazw poszczególnych elementów, co ma umożli- wiać szybkie i dokładne wyszukiwanie informacji przezm serwer LDAP. Nazwa wyróżniająca DN jest w istocie sekwencją nazw względnych (RDN), rozdzie- lonych przecinkami () lub średnikami (). Każda składowa RDN jest zbiorem par atry- but-wartość, oddzielonych znakiem plus ( ). Jeśli wartość atrybutu zawiera w sobie znak separujący, wartość ta musi zostać ujęta w znaki cudzysłowu (), ewentualnie znak separatora należy poprzedzić znakiem sterującym. Znakiem sterującym jest lewy ukośnik ( ). Czasem zdarza się, że wartość atrybutu zawiera znak cudzysłowu lub lewego ukośnika. W takich przypadkach znaki te muszą być poprzedzane znakiem sterującym. Przykładowo, aby do atrybutu EP przypisać wartość JVVR OQLCUVTQPCYYYEQORN, należy napisać: EPJVVR OQLCUVTQPCYYYEQORN. Każdy znak lewego ukośnika w wartości atrybutu musi zostać poprzedzony jednym znakiem sterującym — znakiem lewego ukośnika. Takie konwencje nazewnicze mogą okazać się dość skomplikowane podczas zastosowania, dlatego też warto przyjąć regułę unikania wielowartościowych składo- wych RDN i stosowanie przecinka jako separatora. Oczywiście, poza zaprezentowanym formatem nazwy DN istnieją jeszcze inne formaty. Tym niemniej niniejsza prezentacja powinna dostarczyć informacji wystarczających do zapoznania się z implementacją serwera katalogowego LDAP. Dalsze szczegóły implementacji serwera katalogowego LDAP zostaną przedstawione w dalszej części niniejszego rozdziału. Rozdział 5. ♦ Oracle Internet Directory 155 Model funkcjonalny Po zapoznaniu się z rodzajami informacji, jakie mogą być przechowywane w katalogu i po zaznajomieniu się ze stosowaną w nim konwencją nazewnictwa, należy poznać operacje umożliwiające dostęp do danych zgromadzonych w katalogu LDAP. Opera- cji tych jest 9 i można je podzielić na trzy kategormie:  zapytania: wyszukiwanie, porównywanie;  aktualizacje: dodawanie, usuwanie, modyfikacje, modyfikmacje nazw RDN;  uwierzytelnianie: wiązanie, uwalnianie i rezygnacja.m Operacje zapytania służą do przeszukiwania struktury katalogu LDAP i wyszukiwa- nia informacji. Dzięki zastosowaniu kryteriów selekcji (filtru wyszukiwania) operacja wyszukiwania umożliwia wybieranie informacji z określonych obszarów drzewa ka- talogu. Wynikiem wyszukiwania może być zwrócenie zbioru atrybutów (z ich warto- ściami lub bez nich) każdego wpisu, pasującego do zbioru kryteriów (filtru). Klient może określić dopuszczalny czas oczekiwania na rezultat wyszukiwania, akceptowalny rozmiar lub liczbę wpisów. Jak wskazuje nazwa, operacje aktualizacji umożliwiają dodawanie, modyfikacje i usu- wanie informacji ze struktury katalogu. Operacja modyfikacji (ang. Modify) służy do zmieniania wartości atrybutów istniejącego wpisu. Można też dodawać i usuwać atry- buty oraz ich wartości. Operacja usuwania pozwala na usunięcie istniejącego wpisu. Aby zmienić nazwę wpisu, należy skorzystać z operacji modyfikacji nazwy RDN (ang. Modify RDN). Operacje wiązania i uwalniania mają fundamentalne znaczenie dla zapewnienia bez- pieczeństwa informacji przechowywanych w katalogu. Operacja wiązania umożliwia uwierzytelnienie klienta, czyli udowodnienie jego tożsamości. Aby dokonać uwie- rzytelnienia, klient przedstawia nazwę DN i hasło w postaci jawnej. Ciekawe jest, że serwer nie musi uwierzytelniać się w stosunku do klienta. Jeżeli uwierzytelnianie klientów nie jest konieczne, klient może przedstawić pustą (07..) nazwę DN i puste hasło. Operacja uwalniania kończy sesję katalogu. Operacja rezygnacji umożliwia anulowa- nie danej operacji w trakcie jej wykonywania. Jest to bardzo przydatna możliwość w sytuacji, kiedy operacja wyszukiwania zajmuje zbyt wiele czasu. Wersja 3. proto- kołu LDAP zapewnia szczelniejszą implementację zabezpieczeń, uwzględniając uwie- rzytelnianie obydwóch stron transakcji — serwer również musi udowodnić klientowi swoją tożsamość. Model bezpieczeństwa Z opisu operacji wiązania i uwalniania, definiowanych przez model funkcjonalny, wynika, że bezpieczeństwo transakcji opiera się na uwierzytelnianiu klientów zgła- szających żądanie dostępu do katalogu LDAP. Samo uwierzytelnianie zachodzi wła- śnie za pomocą operacji wiązania. Po pomyślnej identyfikacji klienta są wykorzysty- wane informacje list kontroli dostępu, które określają uprawnienia danego klienta do wykonywania żądanych operacji. Model LDAP nie określa formatu czy właściwości list kontroli dostępu, a więc programiści mają wolną rękę w implementacji własnych 156 Część I ♦ Podstawy mechanizmów kontroli, odpowiednich dla danego systemu. Jeżeli dwie różne implemen- tacje wymagają replikacji informacji, może pojawić się problem, wynikający z nie- zgodności mechanizmów kontroli dostępu. Referały LDAP W czasach, gdy serwer LDAP stanowił interfejs do usług katalogu X.500, wewnętrzny serwer usług katalogowych miał za zadanie rozstrzyganie wszystkich zapytań i zwra- canie ostatecznych wyników lub komunikatów o błędzie. Jeżeli wewnętrzny serwer usług katalogowych nie mógł obsłużyć zapytania, miał nawiązywać kontakt z innymi serwerami i wykonać zapytanie w imieniu klienta — proces ten zwany jest łączeniem łańcuchowym. Klient nie był informowany o fakcie nawiązywania połączeń w tym celu i o angażowaniu innego serwera do wykonania zampytania. Okazało się, że model łańcuchowy jest mało elastyczny i przez to nieefektywny w rozpro- szonym środowisku Internetu. Opracowano więc nowy model, zwany modelem referen- cjalnym. W mocno rozproszonym i zróżnicowanym środowisku, takim jak Internet, refe- rały ułatwiały wdrożenie serwerów usług katalogowych LDAP. Zasadą modelu referencjalnego jest, że jeżeli serwer usług katalogowych LDAP nie dysponuje żądanymi informacjami, może odesłać klienta do innego serwera musług katalogowych. Teraz już Czytelnik posiada pewne ogólne informacje o historii standardu LDAP i de- finiowanych w nim modelach, a więc może zapoznać się ze sposobem, w jaki korpo- racja Oracle zaimplementowała i rozszerzyła tę technologię i wykorzystała do obsługi baz danych Oracle. Oracle Internet Directory — przegląd Katalog Oracle Internet Directory, zaimplementowany jako aplikacja wydania 2. Oracle8i, łączy cechy wersji 3. protokołu LDAP i możliwości serwera Oracle8i. Implementacja ta obejmuje cztery komponenty:  serwer Oracle Directory;  serwer replikacji danych Oracle Directory Replicationm;  program Oracle Directory Manager;  tekstowe narzędzia administracyjne i narzędzia zarzmądzania danymi. Serwer Oracle Directory udziela odpowiedzi i obsługuje aktualizacje żądań klientów dotyczących osób lub zasobów. Serwer replikacji Oracle Directory Replication — jak wskazuje jego nazwa — obsługuje mechanizm replikacji danych pomiędzy serwerami usług katalogowych LDAP. Jeżeli jeden z serwerów biorących udział w replikacji jest niedostępny, użytkownik może uzyskać dostęp do danych katalogu za pośrednictwem innego serwera. Oracle Directory Manager jest narzędziem administracyjnym, wypo- sażonym w graficzny interfejs użytkownika. Manipulacja dużymi zbiorami danych przechowywanych w katalogu i administracja serwerem Oracle Directory jest uła- twiana przez zestaw narzędzi, obsługiwanych z wierszam poleceń. Rozdział 5. ♦ Oracle Internet Directory 157 Wpisy, atrybuty i klasy W rozdziale 1. omawiałam standardy modelu ISO-OSI i zwracałam szczególną uwagę na fakt, że w modelu tym każda z warstw protokołów jest dokładnie zdefiniowana, ale spo- sób jej implementacji pozostawiono w gestii producentów. Standardy serwerów usług ka- talogowych LDAP są podobne pod tym względem. Producenci oprogramowania mogą w swobodny sposób opracowywać aplikacje i interpretomwać obowiązujące standardy. Wcześniej omawiałam rozmaite modele serwerów usług katalogowych, wspomniałam też o kompozycji serwera usług katalogowych, przyjętej przez IETF. Warto przeana- lizować implementację i interpretację LDAP, wykonaną pmrzez korporację Oracle. Wpisy Czytelnik zapewne zna grę w klasy. Kiedyś grałam w nią prawie codziennie. Mogę przy- pomnieć, jak przygotować pole do tej gry — potrzebny będzie spory kawałek kredy. Najpierw trzeba narysować na chodniku 10 prostokątów (można je przerysować z ry- sunku 5.3). Prostokąty te powinny być na tyle duże, aby można było stanąć w nich na jednej nodze bez deptania krawędzi. Byłabym zapomniała — ich wielkość powinna umożliwiać wykonanie obrotu na jednej nodze. Rysunek 5.3. Pole do gry w klasy 10 9 7 8 6 4 5 3 2 1 Aby zacząć grę, należy jeszcze znaleźć kamyk — najlepiej gładki i niezbyt mały. Kamyk powinien być na tyle duży, żeby można było łatwo podnieść go z chodnika i lekki, ale jego masa musi ułatwiać celne rzucanie. Wrzuca się kamyk do pola numer 1 i wska- kuje do tego pola, zawraca, podnosi się kamień i wskakuje z powrotem na start — na wprost pierwszego prostokąta. Podczas skakania (koniecznie na jednej nodze!) nie można nadepnąć na żadną linię. Jeżeli udało się wykonać pierwszą kolejkę, wrzuca się kamyk do prostokąta numer 2. Znowu skacze się od pola do pola, aż do prostokąta, w którym leży kamyk. Należy go podnieść, obrócić się i skacze się (wciąż na jednej nodze) z powrotem. Po przekroczeniu pola numer 5 można skakać na dwóch nogach (jedną nogą w polu czwartym, drugą w piątym). To chwimla odpoczynku dla nóg. Warto przeanalizować drogę, wzdłuż której się skacze podczas gry w klasy. Wykonuje się wtedy uporządkowany zestaw ruchów, zależny od reguł gry. Wkracza się w pola 158 Część I ♦ Podstawy i opuszcza się je w ustalonej z góry kolejności, podnosi się kamyk (informację) i po- wraca do punktu wyjścia. Powyższy przykład ma pomóc w zrozumieniu sposobu, w jaki zorganizowano katalog Oracle Internet Directory i jak rozmieszczone są w nim informacje. Każdy zbiór informacji wewnątrz katalogu jest nazywany wpisem, a każdy z wpisów jest identyfikowany nazwą wyróżniającą (ang. Distinguished Name). Podobnie jak numer identyfikował i określał położenie pola w grze w klasy, tak nazwa wyróżniająca identyfikuje wpis i definiuje lokalizację informacji reprezentowanych przez ten wpis. Zbiór wpisów i ich nazw wyróżniających jest przechowywany w strukturze hierar- chicznej katalogu, którą nazywa się drzewem informacyjnym katalogu (Directory Information Tree, DIT). Powrócę jeszcze na moment do struktury wcześniej opisywanego przedsiębiorstwa XYZ. Warto sprawdzić, jak wyglądałoby drzewo DIT dla dwóch różnych pracowni- ków o tym samym imieniu i nazwisku — Zenobi Nowak — zatrudnionych w dwóch różnych wydziałach. Na rysunku 5.4 przedstawiono drzewo DIT z lokalizacją oby- dwóch pracowników. Rysunek 5.4. Hierarchia Directory Information Tree (obejmująca dwóch pracowników) o=XYZ (korzeń) 4 3 c=US c=PL 3 2 ou=Spedycja ou=Zaopatrzenie 2 1 cn=Zenobi Nowak cn=Zenobi Nowak 1 Gdzie: o – organizacja, c – kraj, ou – jednostka organizacyjna, cn – nazwa Ciekawa jestem, czy na podstawie poniższych informacji i rysunku 5.4 Czytelnik po- trafi ustalić poprawne nazwy DN dla tych dwóch pracowników. Przypomnę jeszcze, że Q oznacza organizację, E oznacza kraj, QW jest jednostką organizacyjna, a EP to na- zwa ogólna. Poniżej poziomu EP umieszczono wartości atrybutów, takich jak adres poczty elektro- nicznej, adres biura itd. Warto jednak zapamiętać, że każdy z poziomów może prze- chowywać atrybuty. Podczas składania nazwy DN zaczyna się od najniższego poziomu i przechodzi się przez kolejne węzły drzewa, aż do korzenia katalogu. Na rysunku poszczególne po- ziomy oznaczono numerami, wskazującymi kolejność składania nazwy wyróżniającej pracowników. Poczekam, aż Czytelnik zapisze swoje nazmwy na kartce. Oto moja odpowiedźEP GPQDK0QYCM, QWURGF[ELC, E2., Q:; orazEP GPQDK0QYCM, QWCQRCVTGPKG, E(TCPELC, Q:; . Najniższa gałąź drzewa DIT, znana jako względna nazwa wyróżniająca (RDN), jest pierwszą częścią nazwy i znajduje się na skrajnie lewej pozycji ciągu. Dalej przechodzi się w górę drzewa (podobnie jak w grze w klasy). Ele- ment każdego kolejnego poziomu jest nazwą RDN. Tak więc następną po GPQDK0QYCM Rozdział 5. ♦ Oracle Internet Directory 159 nazwą RDN jest wartość atrybutu QW. Można więc powiedzieć, że nazwa wyróżniająca jest sekwencją względnych nazw wyróżniających, rozdzielonych przecinkami. Aby zlo- kalizować właściwy wpis katalogu Oracle Internet Directory, należy podać kompletną nazwę DN — pojedyncza nazwa RDN nie wystarczy. Na rysunku 5.4 przedstawiono przykład dwóch pracowników z tym samym nazwi- skiem, identyfikowanych jednoznacznie dzięki temu, że są zatrudnieni w dwóch róż- nych wydziałach i różnych krajach. Jednak może się zdarzyć, że dwóch takich pra- cowników pracuje w tej samej jednostce organizacyjnej. W takim przypadku należy znaleźć inny sposób rozróżnienia pracowników. Można każdemu pracownikowi przy- pisać jednoznaczny numer identyfikacyjny lub uwzględniać w nazwie ogólnej wpis ini- cjału drugiego imienia lub też całe drugie imię. Atrybuty Omawiając ogólne modele katalogów LDAP wspomniałam, że każdy wpis składa się z atrybutów, a każdy atrybut zawiera typ atrybutu i jedną lub kilka wartości atrybutu. Typ atrybutu mówi o rodzaju przechowywanej informacjim. Przykładowymi atrybutami wpisu pracownika są LQD6KVNG (etat), UCNCT[#OQWPV (płaca), FGRCTVOGPV0WODGT (numer działu), VGNGRJQPG0WODGT (numer telefonu) i tak dalej. Wartościami atrybutu LQD6KVNG mogą być ciągi /CPCIGT (kierownik), NGTM (urzędnik) czy CVCDCUG #FOKPKUVTCVQT (administrator bazy danych). W katalogu Oracle Internet Directory można przechowywać dwa rodzaje informacji: dane aplikacji i dane operacyjne. Wartości wymienione dla atrybutu LQD6KVNG można porównać do danych aplikacji. Są to informacje, które klient pobiera ze struktury kata- logu. Dane operacyjne dotyczą
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Oracle8i w sieci
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: