Portál AbcLinuxu, 19. dubna 2024 13:03

Adresářové služby

20. 7. 2005 | Lukáš Cirkva
Články - Adresářové služby  

Cílem článku je přiblížit možnosti adresářových služeb a jejich použití v informačních systémech se zaměřením na standardizovaný protokol LDAP.

Obsah

Úvod
1. Adresář
  1.1. Komponenty adresáře
  1.2. Použití adresáře
  1.3. LDAP
    1.3.1. Adresáře v informačních systémech
  1.4. Závěr

Úvod

Prezentovat vlastnosti a možnosti adresářových služeb budu na produktu od firmy Sun Microsystems Sun Java System Directory Server (JES DS), který znám a ve své práci používám. Každopádně níže popsané skutečnosti platí ve velké míře na většinu adresářových serverů LDAP typu, z Open Source projektů je třeba zmínit SW Openldap.

1. Adresář

Adresářem je například klasický telefonní seznam, organizovaný seznam kontaktů a vizitek nebo seznam uživatelských kont v počítačových systémech. Slouží nám k organizaci a sdružování dat do skupin, aby se v nich uživatel lépe orientoval. Adresáře jsou v podstatě jakési zásobníky (kontejnery) pro ukládání dat, specializované databáze, ve kterých lze uchovat a především vyhledat velké množství informací různého charakteru. Jedná se vlastně o hierarchický seznam objektů a atributů těchto objektů, porovnatelný se strukturou adresářů a podadresářů souborového systému.

1.1. Komponenty adresáře

Velmi často se spojují termíny adresář a adresářová služba a jsou považovány za synonyma. Naopak adresářové služby v informačních technologiích se skládají z více částí:

  1. Informace uložené v adresáři.
  2. Serverový software, který tyto informace poskytuje.
  3. Klientský software, který je schopen uživateli tyto informace zprostředkovat.
  4. Hardware pro klientský a serverový SW.
  5. Podpůrný software jako jsou operační systémy a ovladače zařízení.
  6. Síťová infrastruktura, která je schopna spojit klienty se servery.
  7. Bezpečnostní politika, která specifikuje oprávnění přístupu k záznamům, aktualizaci dat, apod.
  8. Procedury, které adresářové služby používají pro údržbu a monitorování.
  9. Software používaný pro údržbu a monitorování adresářových služeb.

Tento dokument je zaměřen na popis použití klientského a serverového SW.

1.2. Použití adresáře

Proč využít adresář s LDAP přístupovým protokolem místo seznamu v souboru nebo relačních databází?

  1. Data uložená v adresáři lze organizovat a spravovat z jediného místa.
  2. V hierarchické struktuře lze poměrně snadno rozdělovat administrativní pravomoci.
  3. Konfigurace adresáře není závislá na klientském SW. Objekty a atributy lze snadno editovat. Přidáním dalších atributů k objetu není nutné měnit klienta, jen stačí například přidat další podmínku k využití přidaného atributu. V relačních databázích je poměrně obtížné změnit strukturu již navržené a realizované databáze.
  4. Lze zapnout kontrolu schémat poskytující určitou ochranu proti překlepům a syntaktickým chybám.
  5. Adresář je optimalizovaný na velké množství čtecích operací.
  6. Adresářové služby jsou standardizovány včetně přenosového protokolu a základních schémat. Návrháři aplikací mají tedy jistotu, že budou tato schémata dodržována a nebudou pro každou aplikaci individuální jako je tomu v případě SQL tabulek.

Adresářové služby nejsou určeny k zachycení transakčních dat a neovládají práci s referenční integritou. K tomu se velmi dobře hodí klasické relační databáze využívající SQL jazyka. Nepřipadají v úvahu jakékoliv rozsáhlé transakce spojené například s vkládáním více záznamů do databáze, u kterých je nutné provádět kontrolu správných hodnot dat. Není ovšem velký problém vytvořit jakousi datovou pumpu, která by přečerpávala data mezi SQL databází a adresářovými službami.

1.3. LDAP

Lightweight Directory Access Protocol je standardizovaný protokol pro přístup k adresářovým službám, definuje komunikaci mezi serverem a klientem. Zprávy obsahují také příslušná data a informace o jejich formátu. Protokol běží nad internetovými transportními protokoly jako je TCP/IP. LDAP je jednodušší alternativou k protokolu X.500 Directory Access Protocol (DAP), přičemž slouží i jako brána pro přístup k tomuto protokolu.

LDAP je protokol orientovaný na zprávy (message-oriented protocol). Klient vytvoří zprávu obsahující nějakou žádost a odešle ji serveru. Ten ji zpracuje a odešle výsledek zpět jako sérii jedné nebo více LDAP zpráv.

Obrázek 1.1. LDAP komunikace

ldap

Příklad 1.1. LDAP komunikace - access [přístupový] log

Příklad access logu, uspěšné operace vyhledání atributu.

[22/May/2005:15:41:40] conn=1 op=-1 msgId=-1 - fd=35 slot=35 LDAP connection from 127.0.0.1 to 127.0.0.1
[22/May/2005:15:41:40] conn=1 op=0 msgId=1 - BIND dn="cn=Directory manager" method=128 version=3
[22/May/2005:15:41:40] conn=1 op=0 msgId=1 - RESULT err=0 tag=97 nentries=0 etime=0 dn="cn=directory manager"
[22/May/2005:15:41:40] conn=1 op=1 msgId=2 - SRCH base="dc=example,dc=cz" scope=2 filter="(uid=kuky)" attrs=ALL
[22/May/2005:15:41:40] conn=1 op=1 msgId=2 - RESULT err=0 tag=101 nentries=1 etime=0
[22/May/2005:15:41:40] conn=1 op=2 msgId=3 - UNBIND
[22/May/2005:15:41:40] conn=1 op=2 msgId=-1 - closing - U1
[22/May/2005:15:41:41] conn=1 op=-1 msgId=-1 - closed.

LDAP ve zkratce:

1.3.1. Adresáře v informačních systémech

S adresáři v informačních systémech setkáváme a budeme setkávat stále více. Všude se mluví o tom, jak je třeba hierarchické seznamy identit integrovat do jediného adresářového serveru. LDAP adresáře jsou v mnoha případech tím pravým řešením.

Příklady využití LDAP adresáře:

1.4. Závěr

Doufám, že čtenář při čtení toho článku získal alespoň částečný rozhled o možnostech adresářových služeb, a že v něm vzbudil zájem o další informace o této problematice. Tento text ovšem není možno brát jako kompletní manuál, k tomu byly o problematice adresářových služeb napsány obsáhlé publikace.

V dalších části tohoto seriálu bude popsána instalace, administrace i s názornými přiklady.

Speciální poděkování patří Karlu Benákovi, který je spoluautorem této části, a na dalších částech se podílel velmi podmětnými připomínkami.

Související články

NFS+NIS+LTSP - přihlašování na server
Samba - Linux jako server v sítích s Windows
Linux Terminal Server Project
Tvorba databází v MySQL
Správa databází v MySQL

Odkazy a zdroje

Benák, K.: Použití adresářových služeb v informačních systémech - Diplomová práce
LDAP Status Codes and JNDI Exceptions
Sun Java System LDAP SDK for C Programming Guide (ResultCodes)
Sun Java System Directory Server 5.X Maintenance and Operations - DIR-2337
CentOS
ldapbrowser
Sun Java Enterprise System
Sun Solaris

Další články z této rubriky

PowerDNS – přívětivý a jednoduchý DNS server
Bootování ze sítě: pxelinux a kořenový adresář na NFS
Těžký život Do Not Track
OpenAFS – servery
Architektura IPv6 – konfigurace adres a objevování sousedů (2)

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.