Adresářové služby úvod do problematiky

Podobné dokumenty
Západočeská univerzita v Plzni,

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

X36PKO Jmenné služby Jan Kubr - X36PKO 1 4/2007

PDS. Obsah. protokol LDAP. LDAP protokol obecně. Modely LDAP a jejich funkce LDIF. Software pro LDAP. Autor : Petr Štaif razzor_at

The Lightweight Directory Access Protocol version 3 (LDAPv3) is specified by this set of eleven RFCs:

Windows Server 2003 Active Directory

SNMP Simple Network Management Protocol

Osnova dnešní přednášky

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

Adresářové služby, DNS

TÉMATICKÝ OKRUH Softwarové inženýrství

Projekt Pleiades informační infrastruktura z pohledu

Úvod do informatiky 5)

Inovace výuky prostřednictvím šablon pro SŠ

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Identifikátor materiálu: ICT-3-03

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

EXTRAKT z mezinárodní normy

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Internet Information Services (IIS) 6.0

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

EXTRAKT z mezinárodní normy

Identity and Access Management

8.2 Používání a tvorba databází

Č á s t 1 Příprava instalace

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Roční periodická zpráva projektu

EU-OPVK:VY_32_INOVACE_FIL9 Vojtěch Filip, 2013

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

PŘÍRUČKA SÍŤOVÝCH APLIKACÍ

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.

EXTRAKT z technické normy ISO

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

FreeIPA a SSSD. Správa uživatelů pomocí Free Software. LinuxAlt 2009 Jakub Hrozek Martin Nagy 30. listopadu 2009

Úvod 17 ČÁST 1. Kapitola 1: Principy návrhu doménové struktury služby Active Directory 21

Systém souborů (file system, FS)

Požadavky pro výběrová řízení TerraBus ESB/G2x

Koncept centrálního monitoringu a IP správy sítě

POKROČILÉ POUŽITÍ DATABÁZÍ

Identifikátor materiálu: ICT-3-10

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

CAL (CAN Application Layer) a CANopen

Inovace výuky prostřednictvím šablon pro SŠ

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Tonda Beneš Ochrana informace podzim 2011

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

EXTRAKT z technické normy CEN ISO

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Počítačové sítě Aplikační vrstva Domain Name System (DNS)

10 Balíčky, grafické znázornění tříd, základy zapozdření

Úvod Bezpečnost v počítačových sítích Technologie Ethernetu

Systém elektronického rádce v životních situacích portálu

1. Integrační koncept

SSL Secure Sockets Layer

Obsah. Zpracoval:

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Definice pojmů a přehled rozsahu služby

ilé aspekty distribuovaných objektových systémů

Obsah OLAP A ESO9... 3

Pokročilé Webové služby a Caché security. Š. Havlíček

Nastavení provozního prostředí webového prohlížeče pro aplikaci

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Technologie. Osnovy kurzu: Školení správců systému. 1. den, dopolední blok

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

9. Systém DNS. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si problematiku struktury a tvorby doménových jmen.

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek

Algoritmizace prostorových úloh

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Poslední aktualizace: 1. srpna 2011

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

Počítačové sítě Systém pro přenos souborů protokol FTP

MBI - technologická realizace modelu

Instalace Active Directory

Administrační systém ústředen MD-110

TECHNICKÉ POŽADAVKY NA NÁVRH, IMPLEMENTACI, PROVOZ, ÚDRŽBU A ROZVOJ INFORMAČNÍHO SYSTÉMU

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Nasazení jednotné správy identit a řízení přístupu na Masarykově univerzitě s využitím systému Perun. Slávek Licehammer

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Architektura protokolů

KSRZIS. Postup kroků nutných pro napojení nemocničního informačního systému s registrem NSHNU v prostředí registrů resortu zdravotnictví

Příloha č. 12. Systém společného přihlašování, tzv. Single Sign On, ochrana dat

Kolaborativní aplikace

GIS Geografické informační systémy

Ukládání a vyhledávání XML dat

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Systémy pro sběr a přenos dat

INTEGRACE IS DO STÁVAJÍCÍ HW A SW ARCHITEKTURY

GIS Geografické informační systémy

Znalostní systém nad ontologií ve formátu Topic Maps

Transkript:

Technická zpráva TEN-155 CZ číslo 4/2000 Adresářové služby úvod do problematiky Jiří Sitera 7. září 2000 1 Adresář ovéslužby Tato kapitola se snaží o přiblížení pojmu adresářové služby a poskytuje přehled základních informací z této oblasti. 1.1 Jmenné služby Jmenné služby obecně jsou jedním ze základních kamenů síťových technologií a síťové infrastruktury.mnoho entit vyskytujících se v komunikačních technologiích se identifikuje čísly, přičemž existuje snaha o zavádění dalšího pojmenování těchto entit.v tomto okamžiku vzniká potřeba služby, která zajišťuje vazbu jména na číselnou identifikaci.používání termínů číslo a jméno je spíše symbolickým, resp.snadno pochopitelným příkladem.hlavním důvodem pro zavádění jmenného systému není totiž jen zakrytí vnitřních identifikátorů z hlediska člověka přijatelnějšími, ale i řada dalších aspektů, především souvisejících se strukturou jmenného prostoru zavedených jmen.tento jmenný prostor je totiž obvykle strukturovaný hierarchický a v každém případě nezávislý na omezeních a vnitřní struktuře primárních identifikátorů. Příkladem jmenné služby je DNS (Domain Name System).Jedná se o specializovanou jmennou službu, která poskytuje v rámci sítí TCP/IP a Internetu funkci pro převod IP adres na (DNS) jména.dns jména mají hierarchický charakter a logickou strukturu nezávislou na struktuře odpovídajících IP adres.pomocí DNS mohou být dále získávány některé další informace přiřazené jednotlivým jménům, jako jsou například odkazy na tzv. mail exchanger, tj.uzel prostřednictvím kterého je doručována pošta 1.Implementace DNS je navržena tak, aby vyhověla nárokům které jsou na ni kladeny databáze zahrnuje celý Internet a poskytuje služby všem uzlům v něm zapojeným.mezi hlavní znaky implementace patří distribuce dat, replikace dat a decentralizovaná správa.více o DNS viz [DNSAit]. 1 Existují obecnější jmenné služby založené na infrastruktuře DNS, jako je například Hesiod, který slouží k distribuovanému přístupu k informacím typu uživatelé, služby, zdroje, atd.stejně tak existují obecnější jmenné služby, které jsou samostatné.jako příklad může sloužit NIS (Network Information System) (viz například také [DNSAit]).

1.2 Adresářové služby Adresářovou službou se rozumí specializovaná aplikace pro ukládání dat, jejich organizaci a přístup k nim.specifikum je především v datovém modelu, který je rámcem pro práci s daty.nejjednodušší představa je taková, že data jsou uložena ve formě položek, přičemž každá položka obsahuje několik atributů. Atribut je nositelem dat, tj.má hodnotu. Entry Name Attribute Name Value Obrázek 1: První přiblížení formy uložení dat v adresářových službách entry položka, attribute atribut, name jméno, value hodnota Na obrázku 1 je naznačen vzájemný vztah položek a atributů.každá položka má unikátní jméno (globálně v rámci položek více viz dále) a každý atribut má unikátní jméno v rámci položky 2. Jméno položky je strukturované, složené z hierarchicky uspořádaných částí. Logicky jsou takto položky v adresářových službách rozmístěny v hierarchické struktuře, adresářovém stromu.v souvislosti s tím, se setkáváme s pojmem DIT (Directory Information Tree). 1.2.1 DIT Directory Information Tree Pod pojmem DIT (Directory Information Tree) se rozumí především konkrétní návrh struktury adresářového stromu, jeho větvení, tj.rozčlenění položek a 2 Mohou existovat vícenásobné atributy, které si lze představit buďto jako jeden atribut s více hodnotami nebo jako několik atributů se stejným jménem a různými hodnotami.v podstatě jsouoběpředstavysprávné,alejetřebasiuvědomit,žekatributulzepřistupovatpouzena základě jeho jména, takže první představa spíše odpovídá možným operacím. Technická zpráva TEN-155 CZ číslo 4/2000 2

informací jimi nesených do hierarchicky uspořádaných skupin.pro přiblížení významu DIT je na obrázku 2 je zobrazena část konkrétního adresářového stromu.je účelné si uvědomit, že takto lze rozdělit položky adresářového stromu na uzly a listy.uzly definují větve stromu, zatímco listy jsou samostatnými koncovými objekty.samozřejmě i uzlová položka může nést další informaci, než je pouhá existence větve adresářového stromu, nicméně aby bylo lze umisťovat do příslušné větve nějaké položky musí uzlová položka existovat. zcu.cz People <depts> Staff civ Jiri Sitera Groups Administrators Resources Groups Jiri Sitera Node Leaf Obrázek 2: Stromová struktura adresářových služeb node uzel, leaf list Pro návrh DIT architektury adresářových služeb z hlediska členění adresářového stromu a tím i informací existuje mnoho různých postupů.členění konkrétního stromu je totiž právě jedno, přičemž existuje vždy mnoho různých hledisek a vlivů, které je vhodné posoudit.v této oblasti existuje několik prací poskytujících rozbor jednotlivých možností (např.[ditdesign, NS-deploy]). Struktura stromu (DIT) se přímo projeví ve jménech jednotlivých položek.každá položka obsahuje unikátní jméno, které je složeno z části, která popisuje do které větve adresářového stromu položka patří a z unikátního jména položky v rámci větve. Technická zpráva TEN-155 CZ číslo 4/2000 3

1.2.2 Pojmenování položek DN (Distinguished Name) DN (Distinguished Name), tj. rozlišovací jméno identifikuje jednoznačně položku v globálním jmenném prostoru adresářového stromu.rozlišovací jméno se skládá z RDN (Relative Distinguished Name), tj. relativních rozlišovacích jmen. Relativní rozlišovací jméno unikátně specifikuje položku v rámci jedné větve stromu.rozlišovací jméno se skládá z jednotlivých relativních rozlišovacích jmen, které odpovídají větvím adresářového stromu, kterými je třeba projít v hierarchii mezi položkou a kořenem stromu. Lze říci, že tato hierarchická architektura a způsob pojmenování jednotlivých položek je analogická souborovému systému a jeho adresářové struktuře. Každé relativní rozlišovací jméno je odvozeno od atributu (jména a hodnoty) příslušné položky 3. 1.2.3 Příklad pojmenování atributů, tvorba rozlišovacího jména Pojmenování atributů Každý atribut má své jméno.existují standardy pro jména a významy běžných atributů. Na tomto místě je třeba poznamenat, že každé položce je přiřazen typ položky (objectclass).typ položky určuje, které atributy se mohou v položce vyskytovat, přičemž může stanovit skupinu atributů, které se musí v položce vyskytovat. Stejně tak atributy mají přiřazen typ.zde se jedná pouze o jednoduché typy, jako například celé číslo či řetězec.tato pravidla jsou definována tzv.schématem databáze. Více o schématu viz kapitola 1.5.2. Některé nejzákladnější atributy, které slouží jako elementy relativního rozlišovacího jména, jsou uvedeny v následující tabulce: Jméno atributu, alias význam příklad country, c jméno (zkratka) státu cz organization, o jméno organizace zcu organizationalunitname, ou jméno organizační jednotky civ commonname, cn common name položky Jiri Sitera Rozlišovací jméno Tabulka 1: Atributy pro relativní rozlišovací jména Na obrázku 3 jsou doplněny hodnoty některých základních atributů u položek 3 Toto je nejjednodušší případ, obecně je RDN odvozeno od atributů (jednoho nebo více) příslušné položky. Technická zpráva TEN-155 CZ číslo 4/2000 4

zcu.cz o=zcu, c=cz People ou=people Groups ou=groups Staff ou=staff Administrators ou=administrators <depts> civ ou=civ Jiri Sitera cn= Jiri Sitera Resources Groups Jiri Sitera Node Leaf Obrázek 3: Atributy určující relativní rozlišovací jméno položky Technická zpráva TEN-155 CZ číslo 4/2000 5

v příkladu adresářového stromu.náš příklad specifikuje podvětev, která je umístěna v oblasti pojmenované dle organizace, v našem případě o=zcu, c=cz V této větvi jsou umístěny všechny objekty (položky) adresářového stromu z uvedeného příkladu, tj.všechna jména budou mít výše uvedenou specifikaci jako suffix. ProuzlystromuvnávrhuDITjsouvnašempříkladupoužityatributy ou, organization unit name.pojmenování objektu uživatele či skupiny je reprezentováno atributem cn.pak pojmenování neboli rozlišovací jméno (DN) položky uživatele v příkladu je: cn=jiri Sitera, ou=civ, ou=staff, ou=people, o=zcu, c=cz a (položky) skupiny: cn=administrators, ou=groups, o=zcu, c=cz 1.2.4 Základní vlastnosti Adresářové služby jsou navrženy pro specifickou oblast aplikací.jak návrh komunikačního protokolu, tak implementace hlavních částí těchto systémů jsou vedeny snahou o specializaci.hlavní myšlenkou je specifikace specializovaného datové modelu, který definuje rámec pro ukládání informací a přístup k nim (operace nad nimi).za adresářové služby lze v podstatě považovat množinu nástrojů pro práci s takto uspořádanými daty (spolu s metodologií k jejich použití). Podstata tohoto přístupu je analogická jako například u relačních databází. Relační model dat je navržen a použit pro usnadnění tvorby složitých datových struktur a slouží také jako základ pro efektivní návrh a realizaci jisté množiny aplikací. Lze říci, že v případě adresářových služeb se jedná o specializovanou databázi určenou především pro realizaci aplikací, které zacházejí s daty, k nímž je velmi intenzivně přistupováno (čtení, prohledávání), ale nejsou příliš často měněna.a pokud jsou měněna, tak pouze velmi jednoduchými prostředky (žádné transakce apod.) 4. 4 Toto je základní představa adresářových služeb.to však neznamená, že se nemohou ukázat rozumnými například snahy o rozšíření možností změn položek v adresářových službách (často se měnící data, jako je např.stav zařízení; podpora jednoduchých transakcí) otevřené standardy v těchto oblastech otevírají volnou cestu libovolnému vývoji, který se ukáže životaschopným. Technická zpráva TEN-155 CZ číslo 4/2000 6

1.2.5 Základní použití Základním příkladem použití adresářových služeb jsou aplikace jako telefonní seznam (seznam lidí), či databáze zdrojů, například tiskáren či aplikačních serverů.v případě telefonního seznamu mohou adresářové služby obsahovat položky reprezentující jednotlivé lidi, přičemž u každé položky jsou uvedeny atributy s informacemi jako je telefonní číslo, číslo kanceláře, e mail apod.u objektů popisujících tiskárny může jít například o informace typu formát papíru, rychlost tisku, umístění či cena vytištěné strany. Adresářové služby primárně dovolují uživatelům a aplikacím hledat objekty (lidi, zdroje) dle specifikovaných podmínek.například jsou určeny pro zodpovídání dotazů typu hledám uživatele a znám e-mail nebo hledám tiskárnu formátu A4, která umí tisknout barevně. Adresářové služby mohou samozřejmě sloužit také k získávání informací o konkrétních objektech, tj.znám-li konkrétní specifikaci objektu (například jméno tiskárny), mohu se dotázat na její vlastnosti 5. Adresářové služby Specializované prostředky pro ukládání dat a přístup k nim. Optimalizace návrhu vzhledem k specifickým podmínkám, zejména: Předpoklad málo se měnících informací. Předpoklad jednoduchých operací s daty. Předpoklad majority přístupů, které pouze čtou data, navíc obvykle potřebují data hledat. 1.3 X.500, LDAP standardy adresářových služeb 1.3.1 Co je to X.500 X.500 je obvyklá zkratka používaná pro označení standardu adresářových služeb, který definují dokumenty X.500 až X.521 [X.500]. Standard X.500 byl vytvořen CCITT (Consultative Committee on International Telephony and Telegraphy) a je postaven na rodině protokolů ISO/OSI.X.500 je poměrně komplexní a standardní specifikace pro adresářovou organizaci dat a operace nad nimi. 5 V literatuře se lze často setkat s pojmy jako jsou yellow pages a white pages.tyto pojmy v podstatě odpovídají dvěma naznačeným přístupům.hledání objektu, který splňuje žádané podmínky je analogické používání zlatých (žlutých) stránek (yellow pages), zatímco získání informací o konkrétním objektu (jehož identifikaci jméno znám) odpovídá použití bílých stránek telefonního seznamu (white pages). Technická zpráva TEN-155 CZ číslo 4/2000 7

Obecně lze říci, že X.500 je vystavěn na architektuře klient/server, přičemž definuje protokol pro komunikaci mezi klientem a adresářovým serverem directory access protocol (DAP). Protokol DAP, stejně jako implementace X.500 obecně, potřebuje OSI protokolový stack, který je relativně náročný na zdroje.odtud plyne prvotní myšlenka návrhu prostředku pro jednodušší (lightweight) přístupu k adresářovým službám. 1.3.2 Co je to LDAP LDAP (Lightweight Directory Access Protocol) byl primárně navržen jako zjednodušená varianta protokolu DAP, tj.jako jednodušší přístupový protokol mezi klientem a adresářovým serverem (X.500). Hlavní zjednodušení tkví v použití rodiny protokolů TCP/IP jako komunikační vrstvy a ve zjednodušení protokolu jako celku (minimalizovány operace, vypuštěny složitější vlastnosti). Postupem času došlo k osamostatnění protokolu LDAP, tj.byla uplatněna idea samostatného LDAP serveru, což znamená adresářový server, který komunikuje s klientem protokolem LDAP (dosud sloužil LDAP pouze jako přístupový protokol k plnokrevnému X.500 serveru). Z obrázku 4 je tento vývoj jasně patrný.tak se postupně stalo, že pod pojmem LDAP se rozumí nejen komunikační protokol, ale i adresářový server sám (a to obvykle včetně všech náležitostí, tj. především datového modelu a konceptu distribuované infrastruktury adresářových služeb).z hlediska klienta by mělo být v principu jedno, zda přistupuje k adresářovým službám realizovaným samostatným (LDAP) serverem, či zda se jedná pouze o gateway k serveru X.500. LDAP hlavní významy Protokol pro přístup k datům. Model ukládání, organizace a přístupu k datům (informacím). Rozhraní pro přístup k datům (operace). 1.3.3 Základní vlastnosti protokolu LDAP Specifikace protokolu LDAP je implementačně nezávislá a je vedena snahou o maximální jednoduchost pro koncepci byla určující snaha o zjednodušení implementace (za účelem podpory nasazení LDAPu v aplikacích, tj.tvorby tzv. LDAP enabled aplikací).díky těmto vlastnostem se protokol LDAP začal skutečně výrazněji prosazovat a dosáhl dokonce stavu, kdy je běžně implementován a užíván samostatně.shrňme hlavní rozdíly oproti X.500: Technická zpráva TEN-155 CZ číslo 4/2000 8

LDA P Client TCP/IP LDA P Server ISO/OSI X.500 Server Directory Data Stand-alone LDA P server LDA P Client TCP/IP LDA P Server Directory Data Obrázek 4: Protokol LDAP a jeho úloha TCP/IP namísto OSI protokolového stacku, jednodušší funkční model, jednodušší reprezentace dat. Globálně se k vývoji situace kolem protokolu LDAP dá říci asi toto: Poté, co se protokol LDAP začal prosazovat díky svojí jednoduchosti, začala tato jednoduchost býti omezujícím aspektem pro některé případy nasazení.z toho ovšem vyplynula snaha o vylepšování protokolu LDAP a jeho doplňování dalšími vlastnostmi.takto se vlastně tvoří nový standard pro adresářové služby a to od elementárního (ale dostatečně otevřeného) základu, postupným doplňováním potřebných vlastností. LDAP hlavní vlastnosti Jednoduchost, dobrý poměr implementační náročnosti vůči šíři spektra možného využití. Rozšiřitelnost, otevřenost. Distribuovaný model uložení dat a přístupu k nim. Technická zpráva TEN-155 CZ číslo 4/2000 9

1.4 Architektura protokolu LDAP Protokol LDAP definuje komunikaci mezi serverem a klientem.klient zašle serveru zprávu obsahující požadavek na provedení jedné z definovaných operací a server vrátí odpověď (viz obrázek 5).Zprávy obsahují také příslušná data a informace o jejich formátu. Základní schéma komunikace: Klient naváže spojení s LDAP serverem.pro operaci navázaní spojení se používá termín binding.klient se může připojit anonymně nebo musí prokázat svoji identitu (identitu uživatele) provede se autentizace jednou zmožnýchmetod. Pro navázaní spojení je tedy nutné, aby klient znal IP adresu a port, na kterém je LDAP server. Klient má k dispozici spojení na server (identifikace spojení byla vydána serverem při navázání spojení) a může v jeho rámci posílat žádosti o provedení definovaných operací nad adresářovými daty. Klient uzavře spojení s adresářovým serverem.pro tuto operaci se používá termín unbinding. Ačkoli se nejedná o přímou součást protokolu LDAP, jedním z důležitých faktorů v této oblasti je standardní LDAP API (application program interface), tj.rozhraní (knihovny) přímo přístupné pro psaní aplikací.největší význam má standardní rozhraní do jazyka C a jazyka Java. LDAP Architektura klient/server. Komunikace prostřednictvím rodiny protokolů TCP/IP. Standardní LDAP API, knihovny pro psaní aplikací. Z hlediska návrhu adresářových služeb je komunikační protokol pouze jedním z několika aspektů návrhu a implementace.pro lepší pochopení celku je vhodné rozčlenit LDAP do několika modelů: Informační model struktura informací uložených v adresářových službách. Jmenný model organizace a identifikace informací v adresářových službách. Technická zpráva TEN-155 CZ číslo 4/2000 10

Directory client app. Directory server Internal directory server structure Application Back end Request Reply API LDA P Client Library TCP/IP Front end LDA P reply/request TCP/IP TCP/IP Obrázek 5: Komunikace architektura klient/server Technická zpráva TEN-155 CZ číslo 4/2000 11

Funkční model operace nad informacemi v adresářových službách. Bezpečnostní model řízení přístupu k informacím v adresářových službách. 1.5 Informační model Základní pojmy informačního modelu adresářových služeb byly nastíněny v kapitole 1.2. Základní datová jednotka umístěná v adresářových službách se nazývá položka.položka má atributy, které popisují její vlastnosti.jak položka, tak atribut jsou identifikovány jménem (obrázek 1). 1.5.1 Atributy, syntaxe atributů Každý atribut má přiřazen typ, tj.informaci o tom, jaké hodnoty může nést, neboli informaci o syntaxi pro zápis hodnot atributu.typ atributu také definuje zacházení s hodnotou atributu při operacích, například při prohledávání či porovnávání. Například je definován typ atributu pro uložení telefonního čísla.atribut označený tímto typem může obsahovat libovolný text, přičemž znaky jako mezera a pomlčka se ignorují pro účely porovnávání.dále se ignoruje velikost písmen a je definováno lexikografické uspořádání. Základní typy hodnot atributů jsou následující: ces: řetězec znaků, při porovnávání se bere ohled na velikost písmen (Case Exact String) cis: řetězec znaků, při porovnávání se nebere ohled na velikost písmen (Case Insensitive String) tel: telefonní číslo, tj.řetězec znaků, mezery a pomlčky jsou při porovnávání ignorovány stejně tak jako velikost písmen bin: libovolná (binární) data dn: rozlišovací jméno (objektu v adresářových službách) 1.5.2 Schéma Také jména atributů a jejich význam, samozřejmě včetně přiřazení typu atributu, jsou standardizována.každá položka má navíc přiřazen typ, který popisuje které atributy se musí a které se mohou u ní vyskytovat.globálně se pro označení popisu těchto pravidel používá pojmu schéma. Technická zpráva TEN-155 CZ číslo 4/2000 12

Jméno atributu, alias typ atributu význam organization, o cis jméno organizace organizationalunitname, ou cis jméno organizační jednotky commonname, cn cis common name položky surname, sn cis jméno osoby telephonenumber tel telefonní číslo jpegphoto bin portrét osoby Tabulka 2: Příklady běžných atributů Příklady některých nejběžnějších atributů, jejich typ a význam: Schéma definuje třídy objektů (object class), tj.typy položek, které se mohou vyskytovat v adresářovém stromu.třída objektu definuje jména a typy atributů, které se mohou v objektu (položce) vyskytovat, přičemž určuje, které z nich jsou povinné (musí se vyskytovat).typ položky ve formě jména třídy objektu je u každé položky uveden ve vyhrazeném a povinném atributu objectclass. Příklady tříd objektů (obsahují pouze příklady atributů, přičemž tučně tištěné jsou povinné): Třída objektu význam příklad atributů inetorgperson Reprezentuje člověka (v intranetu) commonname (cn) surname (sn) objectclass mail telephonenumber organization Reprezentuje organizaci organization (o) objectclass location (l) postaladdress seealso Tabulka 3: Příklady tříd objektů Při definování tříd objektů je možno používat dědičnost,tj.definovatnovoutřídu objektů jako rozšíření jiné, již definované třídy.schéma lze tedy chápat také jako hierarchii tříd objektů 6. Schéma dává možnost definovat vlastní datové typy, definovat popis nových objektů nebo rozšiřovat či měnit popis běžných objektů.pro interoperabilitu 6 Atribut objectclass obsahuje jména všech tříd objektů, které jsou použity pro definici aktuální třídy objektu, tj.ze kterých je aktuální třída objektů odvozena. Technická zpráva TEN-155 CZ číslo 4/2000 13

je velmi důležitá standardizace, proto je třeba vycházet ze standardizovaných schémat.základní informace z této oblasti lze najít v [rfc2252] a [rfc2256]. Pro pokročilejší řešení interoperability je definován v rámci LDAP verze 3 mechanismus pro publikaci schématu.adresářový server poskytuje některé základní informace o sobě včetně schématu, klienti mohou definovaným způsobem k těmto informacím přistupovat. Pro textový zápis položky a obsahu adresářového stromu je definována syntaxe LDIF (LDAP Data Interchange Format) viz kapitola 1.9. Základní nástroje pro komunikaci s adresářovým serverem z příkazové řádky (viz kapitola 1.10) používají pro zápis dat také formát LDIF. LDAP informační model Datové entity: položka, atribut. Položka má typ položky (třída objektu), obsahuje atributy, má jméno, DN (rozlišovací jméno) globální v rámci DIT, uspořádání do Directory Information Tree (DIT). Atribut má typ, má hodnotu, resp.hodnoty, má jméno identifikaci v rámci položky. Schéma rozšiřitelnost (ale také standardizace). 1.6 Jmenný model Základní koncept jmenného modelu byl nastíněn již v kapitole 1.2. Položky jsou organizovány do hierarchické struktury zvané Directory Information Tree (DIT). Každá položka je jednoznačně identifikována jménem (DN), přičemž toto jméno jednoznačně určuje polohu položky v rámci stromu. Technická zpráva TEN-155 CZ číslo 4/2000 14

1.7 Funkční model Standardní operace protokolu LDAP lze rozdělit do tří kategorií: Dotazování a prohledávání slouží pro získávání informací z adresářového stromu.operace search a compare. Změny dat operaceadd, delete, modify (modifyrdn).základní prostředky pro změnu dat. Autentizace navázání spojení a prokázání identity uživatele.operace bind a unbind. 1.7.1 Operace search Pro realizaci veškerého přístupu k datům (čtení) v adresářovém serveru slouží jediná operace, prohledávání.tato operace je navržena obecně, tj.pokryje jak potřebu hledání, tak čtení přesně specifikovaných dat. Specifikace požadavku pro operaci search se definuje prostřednictvím několika základních parametrů: Báze Rozlišovací jméno definující nejvyšší objekt v hierarchii DIT, který je prohledáván. Rozsah Specifikuje rozsah prohledávání vzhledem k bázovému objektu.lze požadovat prohledání celého podstromu, jedné úrovně podstromu či pouze bázového objektu samého. Prohledávací filtr Pro definici kritéria pro výběr vyhovujících položek existuje relativně komplexní syntaxe a sémantika tzv.prohledávacího filtru. Základní syntaxe filtru je: <atribut> <operátor> <hodnota> kde nejjednodušším operátorem je rovnítko, například sn=sitera.filtry lze skládat pomocí logických operací.syntaxe je: ( <operátor> (<filtr>) (<filtr>)(<filtr>)...) například (& (ou=civ)(mail=si*)), kde& je operátor logického součinu a * zástupný znak pro libovolný řetězec.pak tedy tento příklad definuje prohledávací filtr, jemuž vyhovují všechny položky mající atribut Technická zpráva TEN-155 CZ číslo 4/2000 15

ou shodnotouciv aatributmail s hodnotou, která začíná znaky si. Podrobnější informace o syntaxi filtru viz [rfc2254]. Atributy k vyzvednutí Je možno omezit množinu atributů, které jsou z hlediska konkrétního dotazu zajímavé. Limity Klient může omezit maximální počet položek vrácených dotazem nebo maximální objem času který je možno věnovat na zodpovězení dotazu.to je užitečná vlastnost v případě dotazů, u kterých není z hlediska klienta jasná informace o objemu položek, které splňují kritéria dotazu. 1.7.2 Operace compare Operace compare slouží speciálně pro porovnání hodnoty atributu konkrétní položky se zadanou hodnotou.vrací logickou hodnotu. 1.7.3 Operace pro změnu dat Operace pro změnu dat: add: Vytvoření nové položky. delete: Zrušení existující položky.mohou být smazány pouze položky, které jsou listy stromu (tj.pokud neexistují žádné položky umístěné v podstromu mazané položky). modify: Slouží ke změnám uvnitř existující položky.dovoluje měnit hodnotu atributu, mazat atribut a přidávat nový atribut. modifyrdn: Slouží ke změně rozlišovacího jména položky.dovoluje změnit pouze relativní rozlišovací jméno v rámci větve, ve které je položka umístěna. 1.7.4 Autentizační operace Operace pro navázání a řízení komunikace: bind: Navázání spojení mezi LDAP serverem a klientem.při navázání spojení probíhá autentizace. unbind: Zrušení spojení mezi LDAP serverem a klientem. abandon: Operace, kterou klient požaduje zrušení nedokončené (předchozí) operace. Technická zpráva TEN-155 CZ číslo 4/2000 16

Vlastní autentizace může být provedena několika standardními mechanismy. Více viz kapitola 1.8. 1.7.5 Možnosti rozšíření funkčního modelu Také funkčního model je navržen jako rozšiřitelný.jednak je možno definovat tzv. controls, což jsou dodatečná rozšíření standardních operací, jednak je možno definovat zcela nové operace (extended operations). LDAP funkční model Prohledávání obecně definovaná operace search. Změnadat,naúrovnipoložekanaúrovniatributů. Otevřený návrh, rozšiřitelnost. 1.8 Bezpečnostní model Z hlediska bezpečnosti lze v rámci protokolu LDAP hovořit především o autentizaci uživatele, tj.metodě prokázání identity (a tím vazbě uživatele na položku která ho reprezentuje v adresářovém stromu), o bezpečnosti obecně (zabezpečení proti odposlechu a napadení komunikace) a o autorizaci (řízení přístupových práv k jednotlivým objektům a operacím nad nimi). Autorizace není dosud součástí žádného přijatého standardu.existuje řada řešení (obvykle formou přístupových listů, např.netscape [NS-doc]) a návrh standardu. 1.8.1 Autentizace Z hlediska prokázání identity uživatele (autentizace) lze v současných adresářových službách mluvit o třech základních možnostech: Žádná autentizace Nejjednodušší přístup, určený obvykle pouze pro čtení veřejných položek, je anonymní.v tomto případě není potřeba provádět žádnou autentizaci. Základní autentizace Jednoduchá metoda prokázání identity uživatele.klient specifikuje DN uživatele a jeho heslo.heslo je uloženo (obvykle přes jednosměrnou šifru) v atributu příslušné adresářové položky. SASL (Simple Authentication and Security Layer) SASL (Simple Authentication and Security Layer) je standardizovaná ([rfc2222]) Technická zpráva TEN-155 CZ číslo 4/2000 17

cesta pro dodatečné zabezpečení spojově orientovaných komunikačních protokolů.jedná se v podstatě o jasně definované rozhraní, jehož prostřednictvím lze propojovat standardní autentizační mechanismy s komunikačními protokoly.podpora SASL je novou vlastností standardu LDAP verze 3. Základní schéma použití SASL autentizace je následující: 1.Klient předá informace pro autentizaci: DN rozlišovací jméno entity, která se autentizuje. mechanismus identifikace SASL autentizačního mechanismu. Server může prostřednictvím SASL podporovat několik autentizačních mechanismů 7.Běžně podporovaným autentizačním mechanismem je SSL (nebo jeho následník TLS - viz kapitola 1.8.2) 8, přičemž tyto protokoly poskytují také zabezpečení komunikace. credentials data prokazující identitu (v příslušném autentizačním mechanismu). 2.Přes LDAP API dojde autentizační požadavek LDAP serveru, který pro jeho vyřízení použije příslušný autentizační modul (dle zadaného mechanismu). 3.Příslušný autentizační modul na základě předaných dat rozhodne, zda je identita prokázána či nikoli.za tímto bodem se může skrývat další komunikace vlastní autentizačnímu mechanismu (např.kerberos). 1.8.2 Zabezpečení komunikace Protokol SSL (Secure Socket Layer) je určen jak pro zabezpečení komunikace tak pro provádění autentizace komunikujících entit.slouží primárně pro zabezpečení TCP/IP komunikace jako mezivrstva mezi aplikací a běžnou TCP/IP komunikační abstrakcí (sokety).další informace o protokolu SSL a TLS (Transport Layer Security) přesahují rámec tohoto dokumentu.lze pouze doporučit některé základní informační zdroje [ssl, rfc2246, tls]. LDAP bezpečnostní model Autentikace prokázání identity uživatele, vazba na objekt v adresářových službách. 7 Samozřejmě server musí podporovat klientem použitý autentizační mechanismus, jinak nemůže autentizace uspět.podporované autentizační mechanismy lze získat standardizovaným LDAP dotazem. 8 Mezi jiné možné autentizační mechanismy patří: Kerberos, S/Key, GSSAPI ([rfc2078]), CRAM-MD5. Technická zpráva TEN-155 CZ číslo 4/2000 18

Zabezpečení komunikace, odolnost proti napadení. Autorizace řízení přístupu. 1.9 LDIF LDIF (LDAP Interchange Format) [ldif] je textový formát pro zápis obsahu adresářových služeb.slouží také jako prostředek pro zápis operací pro změnu obsahu adresářových položek.ldif se používá především pro hromadné změny dat, import a export dat (přenos ze serveru na server) apod.ldif také využívají nástroje pro komunikaci s LDAP serverem z příkazové řádky. V této kapitole lze najít základní nástin formátu LDIF, další informace viz doporučená literatura. 1.9.1 LDIF formát pro zápis adresářových položek Popišme použití formátu LDIF pro zápis adresářových položek. LDIF soubor se skládá z bloků dat oddělených prázdnou řádkou.každý blok dat reprezentuje jednu položku.základní struktura: dn: <rozlišovací jméno> objectclass: <třída objektu>... <jméno atributu>: <hodnota atributu>... Atribut objectclass je z hlediska formátu LDIF atribut jako každý jiný, jeho zvýraznění ve výše uvedené struktuře slouží pouze k přiblížení obvyklého vzhledu LDIF formátu položky. Příklad položky: dn:cn=jirisitera,ou=civ,ou=staff,ou=people,o=zcu,c=czobjectclass: top objectclass: organizationalperson objectclass: inetorgperson cn: Jiri Sitera sn: Sitera mail: sitera@civ.zcu.cz seealso: http://home.zcu.cz/ sitera l: UI404 1.9.2 LDIF formát pro zápis změn adresářových položek Způsob zápisu příkazů pro modifikaci položek v adresářových službách je popsán v kapitole 1.10.2. LDIF Standardní textový formát pro zápis dat v adresářových službách. Slouží také pro zápis příkazů pro modifikaci dat v adresářových službách. Pro hromadné změny dat, export a import databáze adresářového serveru. Technická zpráva TEN-155 CZ číslo 4/2000 19