Poznańskie Centrum Superkomputerowo - Sieciowe

 

 

PROJEKT LDAP

 

 

 

 

 

Projekt schematu bazy dla potrzeb ogólnopolskiej usługi LDAP:

przedstawienie dodatkowych klas obiektów i atrybutów związanych z systemami GRID, umiejscowienie obiektów związanych z aplikacjami typu portal w bazie
LDAP-owej

 

 

Jerzy Chochulski

Sebastian Szuber

 

 

 

Poznań  2002


 

Spis treści

1.       Wstęp. 3

2.       Klasy i atrybuty LDAP dla systemów typu GRID. 4

2.1.     System informacyjny MDS w oprogramowaniu GLOBUS. 4

2.2.     Definicja klas i atrybutów w systemie MDS. 7

3.       Portale i aplikacje WWW.. 15

4.       Podsumowanie. 19

Bibliografia. 20

 


1.   Wstęp

Najważniejszą zaletą usług katalogowych jest prosty sposób budowy centralnej bazy danych użytkowników i zasobów oraz bardzo łatwy dostęp do tej bazy danych przez różne aplikacje.

Aby jednak stworzyć taką bazę danych obejmującą obszary nie zdefiniowane w dotychczasowych standardach należy stworzyć schemat bazy obejmujący definicję nowych klas, atrybutów i sposobu ich wykorzystania.

Przedmiotem tej analizy jest przegląd istniejących propozycji oraz próba zdefiniowania nowych standardów w dwóch obszarach:

 

Systemy GRID przeżywają obecnie gwałtowny rozwój i tu szczególnie ze względu na ich specyfikę: duże rozproszenie i zróżnicowane typy zasobów szczególnie dobrze przydaje się protokół LDAP jako centralne miejsce zbierania informacji o działaniu takiego systemu. Zauważyli to również niektórzy autorzy oprogramowania dla systemów GRID i od pewnego czasu stosują LDAP jako ich system informacyjny.

 

Aplikacje WWW i ich rozwinięcie portale również potrzebują centralnego miejsca przechowywania informacji. Tu jednak informacja ta dotyczy głównie użytkowników tych aplikacji. Dane specyficzne dla aplikacji (produkty, usługi) są najczęściej przechowywane w relacyjnych bazach danych. Jednak informacja dotycząca użytkowników jest zazwyczaj dostępna przez LDAP ponieważ są tam przechowywane dane dotyczące ich autentykacji i autoryzacji.

 


2.   Klasy i atrybuty LDAP dla systemów typu GRID

Spośród wielu systemów GRID należy wyróżnić system GLOBUS [1]. GLOBUS to chyba obecnie najpopularniejszy i najszybciej się rozwijający zestaw narzędzi do budowy systemów GRID. Jego autorzy bardzo wcześnie dostrzegli potrzebę stworzenia centralnej bazy danych o zasobach i wykorzystali do tego celu LDAP. Dlatego zdecydowaliśmy się oprzeć dalsze rozważania na przykładzie tego systemu.

2.1.                   System informacyjny MDS w oprogramowaniu GLOBUS

W obecnie dostępnej wersji 2.0 oprogramowania GLOBUS znajduje się system MDS (ang. Monitoring and Discovery Service ) w wersji 2.1 [2]. System ten wykorzystuje serwer OpenLDAP [3], darmową implementacje serwera LDAP do zarządzania danymi dotyczącymi zasobów GRID.

 

Na potrzeby pozostałych elementów systemu zostały zdefiniowane klasy i atrybuty przechowujące informacje o zasobach systemu. Budowa drzewa informacji jest hierarchiczna. Wszystkie fizyczne i logiczne komponenty są ułożone według pewnej hierarchii. Przykład takiej hierarchii znajduje się na rysunku 1.

 

Rys. 1. Przykład hierarchii elementów w drzewie informacyjnym GLOBUS.

 

Na potrzeby budowy drzewa informacji dla systemu GLOBUS zostały stworzone definicje klas LDAP. Definicje klas zostały podzielone na dwie grupy:

 

Klasy strukturalne obejmują następujące klasy:

Mds                   - klasa bazowa dla wszystkich klas MDS,

MdsHost             - klasa reprezentująca system komputerowy,

MdsDevice          - klasa reprezentującą urządzenie fizyczne lub logiczne widoczne dla użytkowników,

MdsDeviceGroup - klasa reprezentująca grupę powiązanych z sobą urządzeń.

 

Klasy szczegółowe definiują poprzez swoje atrybuty różne szczegółowe aspekty urządzeń lub systemów komputerowych. Przykładem mogą być procesor, pamięć czy systemy plików.

 

Klasy szczegółowe mogą być dodawane do obiektów klas strukturalnych tworząc w ten sposób szczegółową informację o danym obiekcie. Mechanizm ten jest wykorzystywany również do łączenia informacji w obiektach nadrzędnych poprzez łączenie informacji zawartej w obiektach podrzędnych. Przykład przedstawiony na rysunku 2 pokazuje sposób połączenia w obiekcie nadrzędnym opisującym pamięć informacji z dwóch obiektów podrzędnych opisujących pamięć fizyczną i pamięć wirtualną.

 

dn: Mds-Device-Group-name=memory, ...
objectclass: MdsMemoryRamTotal
objectclass: MdsMemoryVmTotal
objectclass: MdsDeviceGroup
Mds-Device-Group-name: memory
Mds-Memory-Ram-Total-sizeMB: 751
Mds-Memory-Ram-Total-freeMB: 642
Mds-Memory-Vm-Total-sizeMB: 1600
Mds-Memory-Vm-Total-freeMB: 1592
Mds-Memory-Ram-sizeMB: 751
Mds-Memory-Ram-freeMB: 642
Mds-Memory-Vm-sizeMB: 1600
Mds-Memory-Vm-freeMB: 1592

dn: Mds-Device-name=physical memory, Mds-Device-Group-name=memory, ...
objectclass: Mds
objectclass: MdsDevice
objectclass: MdsMemoryRam
Mds-Device-name: physical memory
Mds-Memory-Ram-sizeMB: 751
Mds-Memory-Ram-freeMB: 642

dn: Mds-Device-name=virtual memory, Mds-Device-Group-name=memory, ...
objectclass: Mds
objectclass: MdsDevice
objectclass: MdsMemoryVm
Mds-Device-name: virtual memory
Mds-Memory-Vm-sizeMB: 1600
Mds-Memory-Vm-freeMB: 1592 

Rys. 2. Przykład łączenia informacji z obiektów podrzędnych.

 

Ta możliwość łączenia informacji z obiektów podrzędnych dotyczy również łączenia informacji z obiektów zupełnie różnych typów.

 

Mechanizm ten jest wykorzystywany w usłudze MDS do zbierania informacji w nadrzędnym obiekcie reprezentującym komputer obliczeniowy wszystkich informacji zawartych w jego elementach podrzędnych. Taki obiekt jest przydatny dla celów wyszukiwania ponieważ umożliwia proste zdefiniowanie i wykorzystanie typowego mechanizmu filtrów LDAP. Niestety jest to powiązane z utratą części informacji ponieważ w modelu danych LDAP nie jest możliwe rozróżnienie poszczególnych wartości danego atrybutu. W tym przypadku jeżeli komputer posiada na przykład jeden procesor z zegarem 500MHz i dwa procesory z zegarem 600MHz to nadrzędny obiekt będzie posiadał jedynie informację, że w komputerze jest zainstalowany co najmniej jeden procesor o każdym z tych dwóch zegarów. Aby dowiedzieć się ile dokładnie procesorów dysponuje danym zegarem konieczne jest przeszukanie obiektów podrzędnych dla wybranego obiektu reprezentującego komputer obliczeniowy.

 

Schemat danych MDS określa też pewne konwencje nadawania wartości niektórym atrybutom. Na przykład ustalono, że obiekty klasy MdsDeviceGroup o nazwach "processors", "memory", "filesystems" i  "networks" zawierają podrzędne obiekty opisujące odpowiednie kategorie urządzeń. Podobnie obiekt klasy MdsSoftwareDeployment o nazwie "operating system" zawiera informację o systemie operacyjnym komputera obliczeniowego.

 


2.2.                   Definicja klas i atrybutów w systemie MDS

 

 

Mds

Klasa reprezentuje abstrakcyjny korzeń dla wszystkich typów danych MDS wymagających dynamicznych metadanych

Mds-validfrom

Atrybut wymagany, jednowartościowy

reprezentuje czas, od którego obiekt i zawarta w nim informacja jest ważna

Mds-validto

Atrybut wymagany, jednowartościowy

reprezentuje czas, od którego obiekt i zawarta w nim informacja jest nieważna.

Mds-keepto

Atrybut opcjonalny, jednowartościowy

reprezentuje czas, kiedy obiekt powinien zostać usunięty; czas usunięcia powinien zawsze być późniejszy od upływu okresu ważności o ile ten istnieje (istnienie czasu usunięcia sugeruje, że mimo upłynięcia czasu ważności obiekt może zawierać pewne przydatne informacje, a to znaczy, że lepsze są informacje przeterminowane niż żadne)

 

 

MdsVo

Klasa dziedziczy z klasy Mds i reprezentuje wirtualną organizację (VO – virtual organization).

Mds-Vo-name

Atrybut wymagany, jednowartościowy

zawiera nazwę wirtualnej organizacji

 

 

MdsVoOp

Klasa dziedziczy z klasy Mds i reprezentuje operację wykonywaną na wirtualnej organizacji (np. rejestracja lokalnego serwisu GIIS w nadrzędnym serwisie GIIS)

Mds-Vo-Op-name

Atrybut wymagany, jednowartościowy

zawiera nazwę operacji

 

 

MdsHost

Klasa dziedziczy z klasy Mds i reprezentuje komputer przyłączony do sieci i jego różne usługi.

Mds-Host-hn

Atrybut wymagany, jednowartościowy

zawiera pełną nazwę komputera

 


 

MdsHostNetNode

Klasa dziedziczy z klasy Mds i reprezentuje element rozproszonej maszyny równoległej, która posiada publicznie dostępny interfejs sieciowy

Mds-Host-NetNode-hn

Atrybut wymagany, jednowartościowy

zawiera pełną nazwę komputera

 

 

MdsHostNode

Klasa dziedziczy z klasy Mds i reprezentuje a ukryty element rozproszonej maszyny równoległej, która nie posiada publicznie dostępnego interfejsu sieciowego

Mds-Host-Node-name

Atrybut wymagany, jednowartościowy

zawiera lokalnie unikalną nazwę komputera

 

 

MdsHostNodeGroup

Klasa dziedziczy z klasy Mds i reprezentuje a grupę komputerów obliczeniowych

Mds-Host-Node-Group-name

Atrybut wymagany, jednowartościowy

zawiera lokalnie unikalną nazwę grupy

 

 

MdsDevice

Klasa dziedziczy z klasy Mds i reprezentuje lokalne urządzenie fizyczne lub logiczne widoczne dla użytkownika

Mds-Device-name

Atrybut wymagany, jednowartościowy

zawiera lokalnie unikalną nazwę urządzenia

 

 

MdsDeviceGroup

Klasa dziedziczy z klasy Mds i reprezentuje grupę powiązanych urządzeń lokalnych

Mds-Device-Group-name

zawiera lokalnie unikalną nazwę grupy

 

 

MdsSoftware

Klasa dziedziczy z klasy Mds i reprezentuje instancję zainstalowanego oprogramowania.

Mds-Software-deployment

Atrybut wymagany, jednowartościowy

zawiera lokalnie unikalną nazwę oprogramowania

 


 

MdsComputer

Klasa dziedziczy z klasy Mds i reprezentuje komputer z pamięcią współdzieloną

Mds-Computer-isa

Atrybut wymagany, wielowartościowy

zawiera nieformalną nazwę architektury komputera (ISA – Instruction Set Architecture)

Mds-Computer-platform

Atrybut wymagany, wielowartościowy

zawiera nieformalną nazwę platformy

Mds-Computer-manufacturer

Atrybut wymagany, wielowartościowy

zawiera nazwę producenta

 

MdsComputerTotal

Klasa dziedziczy z klasy Mds i reprezentuje zbiorczą informację o jednym lub więcej komputerach z pamięcią współdzieloną

Mds-Computer-Total-nodeCount

Atrybut wymagany, jednowartościowy

zawiera liczbę reprezentowanych elementów komputerowych

 

MdsOs

Klasa dziedziczy z klasy Mds i reprezentuje informację o zainstalowanym systemie operacyjnym.

Mds-Os-name

Atrybut wymagany, wielowartościowy

zawiera nieformalna nazwę systemu operacyjnego

Mds-Os-release

Atrybut wymagany, wielowartościowy

zawiera nieformalną informację o wydaniu systemu operacyjnego

Mds-Os-version

Atrybut wymagany, wielowartościowy

zawiera nieformalny numer wersji systemu operacyjnego

 

MdsCpu

Klasa dziedziczy z klasy Mds i reprezentuje informacje o procesorze

Mds-Cpu-vendor

Atrybut wymagany, wielowartościowy

zawiera nieformalną nazwę producenta procesora

Mds-Cpu-model

Atrybut wymagany, wielowartościowy

zawiera nieformalną informację o modelu procesora

Mds-Cpu-version

Atrybut wymagany, wielowartościowy

zawiera nieformalną informację o wersji procesora

Mds-Cpu-features

Atrybut opcjonalny, wielowartościowy

zawiera nieformalną informację o opcjonalnych cechach procesora

Mds-Cpu-speedMHz

Atrybut opcjonalny, wielowartościowy

zawiera informację o zegarze procesora

 


 

MdsCpuSmp

Klasa dziedziczy z klasy Mds i opisuje procesor w komputerze z pamięcią współdzieloną

Mds-Cpu-Smp-size

Atrybut wymagany, wielowartościowy

zawiera liczbę procesorów w komputerze

 

 


MdsCpuCache

Klasa dziedziczy z klasy Mds i zawiera informacje o pamięci cache procesora

Mds-Cpu-Cache-l1kB

Atrybut opcjonalny, wielowartościowy

zawiera całkowitą wielkość pamięci cache pierwszego poziomu w kB

Mds-Cpu-Cache-l1ikB

Atrybut opcjonalny, wielowartościowy

zawiera wielkość pamięci cache instrukcji pierwszego poziomu w kB

Mds-Cpu-Cache-l1dkB

Atrybut opcjonalny, wielowartościowy

zawiera wielkość pamięci cache danych pierwszego poziomu w kB

Mds-Cpu-Cache-l2kB

Atrybut opcjonalny, wielowartościowy

zawiera całkowitą wielkość pamięci cache drugiego poziomu w kB

 

 

MdsCpuFree

Klasa dziedziczy z klasy Mds i zawiera informacje o dostępności procesora

Mds-Cpu-Free-1minX100

Atrybut wymagany, wielowartościowy

zawiera wartość określającą dostępność procesora w przeciągu 1 minuty.

Mds-Cpu-Free-5minX100

Atrybut wymagany, wielowartościowy

zawiera wartość określającą dostępność procesora w przeciągu 5 minut.

Mds-Cpu-Free-15minX100

Atrybut wymagany, wielowartościowy

zawiera wartość określającą dostępność procesora w przeciągu 15 minut.

 

 

MdsCpuTotal

Klasa dziedziczy z klasy Mds i reprezentuje informację o jednym lub więcej elementach obliczeniowych.

Mds-Cpu-Total-count

Atrybut wymagany, jednowartościowy

zawiera liczbę wszystkich procesorów we wszystkich elementach obliczeniowych reprezentowanych przez ten obiekt

 


 

MdsCpuTotalFree

Klasa dziedziczy z klasy Mds i zawiera informację o dostępności procesorów w jednym lub więcej elementach obliczeniowych

Mds-Cpu-Total-Free-1minX100

Atrybut wymagany, jednowartościowy

zawiera wartość określającą dostępność procesorów z wszystkich elementów obliczeniowych reprezentowanych przez ten obiekt w przeciągu 1 minuty.

Mds-Cpu-Total-Free-5minX100

Atrybut wymagany, jednowartościowy

zawiera wartość określającą dostępność procesorów z wszystkich elementów obliczeniowych reprezentowanych przez ten obiekt w przeciągu 5 minut.

Mds-Cpu-Total-Free-15minX100

Atrybut wymagany, jednowartościowy

zawiera wartość określającą dostępność procesorów z wszystkich elementów obliczeniowych reprezentowanych przez ten obiekt w przeciągu 15 minut.

 

MdsMemoryRam

Klasa dziedziczy z klasy Mds i reprezentuje fizyczną pamięć RAM w elemencie obliczeniowym

Mds-Memory-Ram-sizeMB

Atrybut wymagany, wielowartościowy

zawiera rozmiar pamięci RAM (w MB)

Mds-Memory-Ram-freeMB

Atrybut wymagany, wielowartościowy

zawiera rozmiar niezaalokowanej pamięci RAM (w MB)

 

MdsMemoryRamTotal

Klasa dziedziczy z klasy Mds i reprezentuje fizyczną pamięć RAM w jednym lub więcej elementach obliczeniowych

Mds-Memory-Ram-Total-sizeMB

Atrybut wymagany, jednowartościowy

zawiera rozmiar całej pamięci RAM we wszystkich elementach obliczeniowych reprezentowanych przez ten obiekt (w MB)

Mds-Memory-Ram-Total-freeMB

Atrybut wymagany, jednowartościowy

zawiera rozmiar całej niezaalokowanej pamięci RAM we wszystkich elementach obliczeniowych reprezentowanych przez ten obiekt (w MB)

 

MdsMemoryVm

Klasa dziedziczy z klasy Mds i reprezentuje dyskową wirtualną pamięć (VM – virtual memory) w elemencie obliczeniowym.

Mds-Memory-Vm-sizeMB

Atrybut wymagany, wielowartościowy

zawiera rozmiar wirtualnej pamięci (w MB).

Mds-Memory-Vm-freeMB

Atrybut wymagany, wielowartościowy

zawiera rozmiar niezaalokowanej wirtualnej pamięci (w MB).

 


 

MdsMemoryVmTotal

Klasa dziedziczy z klasy Mds i reprezentuje dyskową wirtualną pamięć (VM – virtual memory) w jednym lub więcej  elemencie obliczeniowym

Mds-Memory-Vm-Total-sizeMB

Atrybut wymagany, jednowartościowy

zawiera rozmiar całej pamięci wirtualnej we wszystkich elementach obliczeniowych reprezentowanych przez ten obiekt (w MB)

Mds-Memory-Vm-Total-freeMB

Atrybut wymagany, jednowartościowy

zawiera rozmiar całej niezaalokowanej pamięci wirtualnej we wszystkich elementach obliczeniowych reprezentowanych przez ten obiekt (w MB)

 

 

 

MdsFs

Klasa dziedziczy z klasy Mds i reprezentuje skonfigurowany system plikowy w elemencie obliczeniowym

Mds-Fs-mount

Atrybut opcjonalny, wielowartościowy

zawiera ścieżkę do zamontowanego systemu plików

Mds-Fs-sizeMB

Atrybut wymagany, wielowartościowy

zawiera rozmiar sformatowanego systemu plików (w MB)

Mds-Fs-freeMB

Atrybut wymagany, wielowartościowy

zawiera rozmiar wolnej przestrzeni systemu plików (w MB)

 

 

 

MdsFsTotal

Klasa dziedziczy z klasy Mds i reprezentuje systemy plików w jednym lub więcej elementach obliczeniowych

Mds-Fs-Total-count

Atrybut wymagany, jednowartościowy

zawiera liczbę wszystkich reprezentowanych systemów plików

Mds-Fs-Total-sizeMB

Atrybut wymagany, jednowartościowy

zawiera rozmiar wszystkich reprezentowanych systemów plików (w MB)

Mds-Fs-Total-freeMB

Atrybut wymagany, jednowartościowy

zawiera rozmiar wolnej przestrzeni we wszystkich reprezentowanych systemach plików (w MB)

 

MdsNet

Klasa dziedziczy z klasy Mds i reprezentuje interfejs sieciowy w elemencie obliczeniowym

Mds-Net-name

Atrybut wymagany, wielowartościowy

zawiera nazwę interfejsu sieciowego

Mds-Net-addr

Atrybut wymagany, wielowartościowy

zawiera adres IP interfejsu sieciowego (np. adres karty sieciowej)

Mds-Net-netaddr

Atrybut wymagany, wielowartościowy

zawiera lokalny (w sieci) adres IP interfejsu sieciowego (np. adres komputera w sieci)

Mds-Net-mtuB

Atrybut wymagany, wielowartościowy

zawiera wartość maksymalnej przepustowości (w bajtach) interfejsu sieciowego

 

 

 

MdsNetTotal

Klasa dziedziczy z klasy Mds i reprezentuje informację o jednym lub więcej interfejsach sieciowych w elementach obliczeniowych

Mds-Net-Total-count

Atrybut wymagany, jednowartościowy

zawiera liczbę wszystkich intefejsów sieciowych w reprezentowanych elementach obliczeniowych

 

 

 

MdsService

Klasa dziedziczy z klasy Mds i reprezentuje serwis dostępny w sieci, widoczny przez zdalnych klientów

Mds-Service-type

Atrybut wymagany, jednowartościowy

zawiera nazwę protokołu używanego przez serwis, np. część mechanizmu z adresu URL serwisu

Mds-Service-protocol

Atrybut wymagany, wielowartościowy

 

zawiera wersję protokołu używanego przez serwis

Mds-Service-hn

Atrybut wymagany, jednowartościowy

zawiera nazwę hosta, na którym serwis jest uruchamiany, np. część hosta z adresu URL serwisu

Mds-Service-port

Atrybut wymagany, jednowartościowy

zawiera port TCP, na którym serwis jest uruchamiany, np. część adresu URL serwisu zawierająca numer portu

Mds-Service-url

Atrybut opcjonalny, jednowartościowy

Adres URL serwisu

 


 

MdsServiceLdap

Klasa dziedziczy z klasy MdsService i reprezentuje serwis dostępny przez protokół LDAP

Mds-Service-Ldap-suffix

Atrybut wymagany, wielowartościowy

reprezentuje the root(s) of the logical service(s) in the LDAP server DIT

Mds-Service-Ldap-timeout

Atrybut opcjonalny, wielowartościowy

zawiera maksymalny czas oczekiwania na wykonanie operacji LDAP-owej

Mds-Service-Ldap-sizelimit

Atrybut opcjonalny, wielowartościowy

zawiera maksymalną ilości zwracanych obiektów podczas jednej operacji

 


 

3.   Portale i aplikacje WWW

W bazie LDAP-owej mogą być zapisane następujące informacje wykorzystywane w zarządzaniu użytkownikami oraz przechowywaniu innych ich danych wykorzystywanych w portalach i aplikacjach WWW :

 

Identyfikacja użytkownika portalu może przebiegać przy użyciu już istniejącej bazy danych osobowych (np. baza "white pages") lub poprzez tworzenie odrębnej bazy danych użytkowników (często jest ona tworzona dynamicznie przy pomocy użytkowników portalu, którzy sami podają swoje dane w formularzu rejestracyjnym). W pierwszym przypadku do procesu autentykacji zostaną zastosowane dane z głównego obiektu użytkownika, natomiast dane użytkownika dotyczące konkretnego portalu znajdą się :

 

Przypadek pierwszy ilustruje poniższy rysunek. Obiekt dodatkowy (zawierający dane specyficzne dla portalu, może także zawierać dane dla potrzeb autoryzacji) wyróżniany jest nazwą portalu (np. cn=Portal_1).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Nie można zdefiniować ogólnej klasy obiektu i jego atrybutów, ze względu na różnorodność informacji, którą może on przechowywać. Definicja tego obiektu należy do twórców portalu i administratorów bazy LDAP-owej.

 

Drugi przypadek przedstawiony jest na poniższym rysunku.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Utworzona jest osobna gałąź ou=Portals, grupująca dane o wszystkich portalach i aplikacjach WWW. Każdy portal reprezentowany przez jego nazwę (np. ou=Portal_2) grupuje dane o użytkownikach specyficzne dla tego portalu w obiektach, które są powiązane z obiektami w gałęzi ou=People poprzez niepowtarzalny w bazie atrybut występujący w obu obiektach np. atrybut uid lub adres e-mailowy.

 

 

            Tworzenie odrębnej bazy danych użytkowników portalu wymusza utworzenie osobnej gałęzi dla portali. Obiekty reprezentujące użytkowników zawierają wtedy wszystkie dane (także dla potrzeb autentykacji i autoryzacji).


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Dla względów bezpieczeństwa można drzewo portalowe całkowicie wydzielić ze struktury "white pages", będzie ono wtedy istniało jako osobne drzewo (możliwość umieszczenia w osobnej bazie danych na innym serwerze LDAP). Poniższy rysunek przedstawia tą propozycję.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


W tym przypadku można utrzymywać dane powiązane z gałęzią ou=People (drzewo "white pages"), jak też utrzymywać odrębną bazę użytkowników, w zależności od wymagań każdego z portali.


4.   Podsumowanie

 

Schemat MDS 2.1 oprócz wykorzystywania go w systemach typu GRID (w końcu dla tych celów został stworzony) może być używany dla przechowywania statycznej informacji o zasobach komputerowych takiej jak :

ˇ         informacja o procesorach,

ˇ         informacja o systemach operacyjnych,

ˇ         informacja o zainstalowanej pamięci operacyjnej,

ˇ         informacja o zainstalowanej pamięci dyskowej,

ˇ         informacja o obecnych systemach plikowych,

ˇ         informacja o zainstalowanych intrerfejsach sieciowych,

ˇ         informacja o uruchomionych serwisach,

w celach np. administracyjnych (zarządzanie zasobami komputerowymi). Taka infrastruktura pozwalałaby na szybką i bezproblemową integrację z systemami typu Grid gdyby zaszła taka potrzeba.

 

            W części poświęconej portalom i aplikacjom WWW przedstawione zostały możliwości umiejscowienia bazy danych użytkowników na serwerze LDAP-owym. Z punktu widzenia bezpieczeństwa najlepszym rozwiązaniem jest odizolowanie drzewa portalowego, z możliwością wykorzystywania informacji o użytkownikach z drzewa "white pages" dla potrzeb autentykacji.

 


Bibliografia

 

[ 1 ]

MDS 2.1 Schema, www.globus.org/mds/Schema.html

[ 2 ]

T.A. Howes, M.C. Smith, G.S. Good  "Understanding and Deploying LDAP Directory Services", 1999