V mnoha organizacích je běžné, že se spoléhají na protokol LDAP (Lightweight Directory Access Protocol) pro zásadní úlohy správy uživatelů, ukládání dat a ověřování.
Uživatelé však často bývají zmateni a mylně si ho zaměňují s Active Directory.
V tomto textu se podíváme na to, co je LDAP, jaký má účel a jak funguje. Dále si rozebereme jeho hlavní funkce, strukturu adresářů a možnosti organizace dat. Nakonec se zaměříme na význam LDAP v kontextu správy adresářových služeb a ověřování uživatelů.
Co je LDAP?
LDAP, neboli Lightweight Directory Access Protocol, je otevřený protokol, který se stará o bezpečné ověřování uživatelů v lokálních adresářích. Jedná se o aplikační protokol, který není závislý na konkrétním výrobci, díky čemuž je velmi flexibilní a široce používaný, zejména v distribuovaných adresářových informačních službách na internetu.
LDAP je efektivní v tom, že umožňuje aplikacím získávat informace o uživatelích. To znamená, že může být využit v různých částech IT infrastruktury, jako jsou e-mailové služby, autorizace, správa licencí a řízení uživatelských účtů.
Neměli bychom ho však zaměňovat se službami Active Directory, což je sada služeb a databází, které firmy používají k organizaci, přístupu a zabezpečení svých IT zdrojů. Adresářové služby obecně umožňují firmám ukládat data, která jsou popisná, statická a cenná.
Z technického hlediska je LDAP zodpovědný za kompletní proces reprezentace dat v adresářové službě. Zajišťuje, že uživatelé mohou získávat data definovaným způsobem. To znamená, že LDAP umožňuje organizacím vytvářet datové záznamy v adresářových službách pomocí specializovaných nástrojů.
V rámci Active Directory LDAP také určuje, jak jsou prvky organizovány na základě různých základních stavebních kamenů.
Stručně řečeno, LDAP je:
- Komunikační protokol
- Otevřený aplikační protokol, který není vázaný na konkrétního dodavatele
- Softwarový protokol pro ukládání a uspořádávání dat, aby se daly snadno vyhledávat
- Pracuje s lokálními adresáři
- Spolupracuje se službou Active Directory, která uchovává statická, popisná a cenná data
- Není to nový protokol, byl vydán již v roce 2003
Jaký je jeho účel?
Účel protokolu LDAP se točí kolem tří hlavních bodů:
- Ukládání dat do adresáře LDAP/Active Directory
- Ověřování přístupu uživatele k danému adresáři
- Umožnění aplikacím používat správný komunikační jazyk pro odesílání a přijímání dat z adresářových služeb
Jinými slovy, funguje jako komunikační protokol, který je schopen jak autentizace a autorizace, tak i organizace dat tak, aby se daly snadno prohledávat. Pomocí LDAP mohou organizace ukládat důležité informace o uživatelích a IT prostředcích, včetně uživatelských přihlašovacích údajů. Kromě toho může zajišťovat bezpečný přístup tím, že správcům umožňuje aktivně nastavovat pravidla přístupu.
Jak funguje LDAP?
LDAP je založen na architektuře klient-server.
Proces ověřování pomocí LDAP probíhá podle modelu klient-server. Během tohoto procesu hrají klíčovou roli následující komponenty:
- Directory System Agent (DSA): Server, na kterém běží LDAP v dané síti.
- Rozlišující název (DN): Obsahuje cestu k navigaci ve stromu adresářových informací (DIT).
- Directory User Agent (DUA): DUA se používá pro přístup k DSA jako klient.
- Relativní rozlišující název (RDN): RDN specifikuje jednotlivé komponenty v rámci DN.
- Application Programming Interface (API): API umožňuje komunikaci mezi různými službami a produkty.
Při ověřování přes LDAP, když uživatel spustí klientskou aplikaci LDAP, například e-mailového klienta, administrátor může nastavit, jak klient LDAP komunikuje s adresářovými službami pro ověření. Může například použít jednu ze dvou dostupných metod ověření uživatele:
Při pokusu o přihlášení se požaduje ověření pomocí DN. Jakmile se proces spustí, LDAP přiřadí klienta k agentovi DSA (Directory System Agent), který pomocí DN vyhledá odpovídající záznamy v databázi.
Relativní rozlišující název (RDN) v rámci DN je kritickou součástí procesu vyhledávání v LDAP, protože se používá v každém kroku vyhledávání ve stromu adresářových informací (DIT).
Pokud je vyhledávání úspěšné, odpovídající UID a heslo uživatele se shodují, a uživatel je tak ověřen. Pokud ne, vrací se neplatné výsledky.
Na závěr se klient odpojí od serveru LDAP. Po dokončení procesu ověření může uživatel komunikovat se službami pomocí rozhraní API. To znamená, že může přistupovat k uloženým informacím, v souladu s udělenými oprávněními.
Pro podrobnější informace o fungování LDAP se můžete podívat na článek z roku 2003 od Grega Vanedera a Marka Wahla. Další informace o vyhledávacích operacích LDAP najdete v dokumentaci k operaci LDAP search.
Klíčové vlastnosti LDAP
Klíčové vlastnosti LDAP lze shrnout následovně:
- Ověřování uživatelských relací: LDAP se používá k ověřování uživatelských relací v databázových službách, jako je Active Directory.
- Různé typy operací: Může provádět různé operace s databází adresářového serveru, včetně:
- Navazování spojení (binding)
- Mazání záznamů LDAP
- Úpravy stávajících záznamů
- Vyhledávání a porovnávání záznamů
- Opuštění (unbinding) relace
- Odpojování (disconnect) operací
- Nízká náročnost: LDAP je lehký a má minimální dopad na síť a systémové zdroje.
- Nezávislý na dodavateli a protokolu: LDAP není závislý na dodavateli ani protokolu. To znamená, že může fungovat s jakýmkoli dodavatelem, řešením nebo protokolem. Například, LDAP může být použit přes TCP/IP nebo X.25. Nicméně, nejnovější verze LDAP, LDAPv3, používá TCP/IP.
- Struktura adresářů: LDAP využívá strukturu adresářového stromu pro ukládání a přístup k datům v adresářové databázi. Hierarchický vztah rodič-dítě umožňuje rychlejší vyhledávání a přístup.
- Standardizace: LDAP je standardizován organizací IETF (Internet Engineering Task Force). Standardizace zajišťuje, že LDAP funguje bez problémů u různých dodavatelů.
- Zabezpečení: LDAP je zabezpečený. Zabezpečení je zajištěno pomocí TLS přes TCP/IP vrstvu. Může také využívat Secure Socket Layer (SSL) pro šifrování, dešifrování a přenos informací s úplnou integritou a důvěrností.
- Replikace: LDAP podporuje replikaci na více serverech. Tím se zajišťuje redundance dat a dostupnost dat v případě jakýchkoli poruch. Využívá modul Syncrepl pro synchronizaci replikace.
Struktura adresáře LDAP
Adresář LDAP má jasnou a definovanou strukturu. To usnadňuje přístup k datům a zlepšuje vyhledávání obsahu v adresáři LDAP.
Protože LDAP používá stromovou strukturu, je hierarchický. Proto se často používá jako Directory Information Tree (DIT).
Mezi různé úrovně adresářové struktury LDAP patří:
- Kořenový adresář
- Organizace
Jak vidíte, adresář LDAP má stromovou strukturu. „Kořenový“ adresář je nejvyšší úroveň, která zahrnuje všechny ostatní položky v adresáři. Pod ním je země (country), která se dále větví na organizaci (organization). Dále se větví na organizační jednotky (OU) a nakonec na jednotlivce a skupiny.
Pro lepší pochopení struktury adresáře LDAP si vezměme následující příklad:
- Root (Položka nejvyšší úrovně) | +-- Země: "dc=com" (např. dc=example,dc=com) | +-- Organizace: "dc=example" (např. dc=example) | +-- Organizační jednotka (OU): "ou=Users" | | | +-- Uživatel: "cn=Nitish Singh" | | | +-- Uživatel: "cn= Oliver Green" | +-- Organizační jednotka (OU): "ou=Groups" | +-- Skupina: "cn=Admins" | +-- Skupina: "cn=Users" | +-- Skupina: “cn=Superusers”
Entita Root je identifikována pomocí DC, což je zkratka pro atribut Domain Component. Pokud tedy „dc=com“, kořenový záznam je identifikován jako doména „com“.
Pod kořenem může být několik organizací nebo domén. Je reprezentována pomocí „dc=organizace“. pod doménou „com“.
Každá organizace může mít jednu nebo více organizačních jednotek (OU). Správce je může logicky organizovat do podsekcí. Například organizační jednotku můžete nastavit na „uživatelé“, „skupiny“ nebo „superuživatelé“.
V každé organizační jednotce můžete uvést různé položky, včetně skupin, zařízení, uživatelů atd. V našem příkladu dvě hodnoty uživatelů organizační jednotky zahrnují „Nitish Singh“ a „Oliver Green“. V rámci skupiny organizačních jednotek máme „administrátory“, „uživatele“ a „superuživatele“.
Struktura adresáře LDAP silně závisí na rozlišovacím jménu (DN), protože se používá k identifikaci každé položky. Obsahuje jedinečný název a používá se pro načítání relativního rozlišovacího jména (RDN).
Společné prvky LDAP
Pro pochopení organizace dat v LDAP je nutné porozumět společným prvkům LDAP, které se používají k sestavení záznamů v systému LDAP.
Mezi základní datové komponenty LDAP patří:
- Atributy
- Záznamy
- Stromy datových informací
Atributy
Atributy v LDAP jsou páry klíč-hodnota. Ukládají data v rámci systému LDAP. Například atribut mail se používá k ukládání e-mailových adres v systému LDAP.
pošta: [email protected]
Záznamy
Záznamy v systému LDAP jsou přiřazovány tak, aby poskytly význam. Záznamy si můžeme představit jako kolekci souvisejících atributů.
Například data ve formátu LDIF (LDAP Data Interchange Format) budou vypadat takto:
dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction objectclass: wizard sn: Hogwarts cn: Harry Potter
Stromy datových informací
Stromy datových informací (DIT) reprezentují data v systému LDAP a zajišťují k nim přístup. Většina dat má stromovou strukturu, proto je vhodné je reprezentovat pomocí stromů. Je to podobné jako systém souborů s asociací rodič-dítě.
Organizace dat v LDAP
Nyní, když máme základní představu o entitách, můžeme prozkoumat organizaci dat v systému LDAP.
LDAP používá DIT k organizaci a strukturování dat. Jak toho dosahuje? Podívejme se na to.
Položky se v DIT umisťují tak, aby mezi nimi byl hierarchický vztah. Při vytvoření nového záznamu je přidán do stromové struktury jako podřízený stávajícího záznamu.
Vše začíná na vrcholu hierarchického stromu v DIT. Protože zahrnuje všechny podřízené položky, je obvykle označen jako organizace, například „dc=com nebo example. To se provádí pomocí doménových komponent pro snadnou správu. Administrátor může nastavit umístění pomocí l=location_name nebo organizační segmenty, jako ou=tech, marketing atd.
Položky používají objectClass organizační jednotky (OU). Položky mohou používat atribut ou=. Jsou jednoduché a nabízejí dobrý způsob, jak kategorizovat a vyhledávat informace v rámci DIT.
Dalším důležitým konceptem je relativní rozlišující jméno. Je to relativní název prvku v závislosti na jeho úrovni v hierarchii DIT. Pro přístup k záznamu je nutné zadat hodnoty RDN entity společně s hodnotou RDN rodiče.
Tím se vytvoří řetězec hodnot RDN, který jde zdola nahoru a vytvoří cestu k dané položce. Tento řetězec hodnot RDN se označuje jako „rozlišující jméno (DN)“.
Jinými slovy, při vytváření záznamu musíte uvést DN, aby LDAP přesně věděl, kam nový záznam umístit. RDN funguje jako relativní hodnota, zatímco DN je spíše absolutní cesta.
Význam LDAP
V této části se zaměříme na význam LDAP ze dvou pohledů:
- Správa adresářových služeb: Protokol LDAP disponuje prostředky pro ukládání a přístup k datům v adresáři LDAP. Již jsme se jimi zabývali v částech „Jak funguje LDAP a datové komponenty“ a „Organizace“. LDAP slouží ke správě, ukládání, přístupu a zabezpečení dat. Zajišťuje efektivní vyhledávání informací. Navíc nabízí škálovatelnost a replikaci.
- Ověřování uživatelů: Kromě správy adresářových služeb je LDAP také vynikající v ověřování a autorizaci uživatelů. Po navázání spojení může uživatel přistupovat k uloženým datům na základě přístupových pravidel nastavených administrátorem.
LDAP vs. Active Directory
Je běžné, že si lidé pletou LDAP a Active Directory. LDAP a Microsoft Active Directory úzce spolupracují, aby firmám poskytly prostředky pro bezpečné ukládání a přístup k organizačním datům napříč odděleními.
LDAP je protokol, zatímco Active Directory je produkt adresářové služby, který ukládá organizační data ve stromové struktuře.
LDAP slouží jako komunikační protokol pro přístup k adresářovým serverům, jako je Active Directory.
Závěr
LDAP je klíčový protokol pro práci se službami Active Directory. Je to odlehčený protokol, který nepředstavuje žádnou zátěž pro služby a servery, se kterými pracuje. Navíc jeho otevřená, nezávislá na dodavatelích a standardizovaná povaha znamená, že jej lze snadno integrovat do stávajících řešení.
Můžete také prozkoumat vícefaktorové ověřování (MFA).