LDAP
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 14. března 2021; kontroly vyžadují
9 úprav .
LDAP ( anglicky Lightweight Directory Access Protocol - „lightweight directory access protocol “) je protokol aplikační vrstvy pro přístup k adresářové službě X.500 , vyvinutý organizací IETF jako odlehčená verze protokolu DAP vyvinutého ITU-T . LDAP je relativně jednoduchý protokol , který používá TCP/IP a umožňuje operace ověřování ( bind ), vyhledávání ( search ) a porovnávání ( porovnání ), stejně jako operace pro přidávání, upravování nebo odstraňování položek . Server LDAP obvykle přijímá příchozí připojení na portu 389 pomocí protokolů TCP nebo UDP . SSL – zapouzdřené relace LDAP obvykle používají port 636.
Každá položka v adresáři LDAP se skládá z jednoho nebo více atributů a má jedinečný název (DN - English Distinguished Name ). Jedinečný název může vypadat například takto: "cn=Ivan Petrov,ou=Zaměstnanci,dc=example,dc=com" [1] . Jedinečný název se skládá z jednoho nebo více relativních rozlišovacích názvů (RDN ) oddělených čárkou . Relativní jedinečný název má tvar Název_atributu=hodnota . Na stejné úrovni adresáře nemohou existovat dva záznamy se stejnými relativními jedinečnými názvy. Díky této struktuře může být jedinečný název položky v adresáři LDAP snadno reprezentován jako strom.
Záznam se může skládat pouze z těch atributů, které jsou definovány v popisu třídy záznamu ( object class ), které jsou zase sloučeny do schémat ( schema ). Schéma definuje, které atributy jsou pro danou třídu povinné a které jsou volitelné. Schéma také definuje typ a pravidla pro porovnávání atributů. Každý atribut položky může uložit více hodnot.
Normy
Protokol LDAP je definován v následujících dokumentech RFC :
- RFC 4510 – Lightweight Directory Access Protocol (LDAP): Plán technické specifikace (nahrazuje RFC 3377 )
- RFC 4511 - Lightweight Directory Access Protocol (LDAP): Protokol
- RFC 4512 - Lightweight Directory Access Protocol (LDAP): Directory Information Models
- RFC 4513 – Lightweight Directory Access Protocol (LDAP): Metody ověřování a bezpečnostní mechanismy
- RFC 4514 – Lightweight Directory Access Protocol (LDAP): Řetězcová reprezentace rozlišujících jmen
- RFC 4515 – Lightweight Directory Access Protocol (LDAP): Řetězcová reprezentace vyhledávacích filtrů
- RFC 4516 - Lightweight Directory Access Protocol (LDAP): Uniform Resource Locator
- RFC 4517 - Lightweight Directory Access Protocol (LDAP): Syntaxe a pravidla pro shodu
- RFC 4518 - Lightweight Directory Access Protocol (LDAP): Internacionalizovaná příprava řetězce
- RFC 4519 - Lightweight Directory Access Protocol (LDAP): Schéma pro uživatelské aplikace
- RFC 4520 (aka BCP 64) – Aspekty úřadu IANA (Internet Assigned Numbers Authority) pro protokol LDAP (Lightweight Directory Access Protocol) (nahrazuje RFC 3383 )
- RFC 4521 (také znám jako BCP 118) – úvahy o protokolu LDAP (Lightweight Directory Access Protocol): rozšíření
Kromě protokolu existují mezinárodní standardy nejvyšší úrovně, které popisují vše, co souvisí s modelem systémové integrace a adresářem (Directory), ke kterému se přistupuje pomocí LDAP a DAP:
- Doporučení ITU-T X.200 (1994) | ISO/IEC 7498-1:1994, Informační technologie – Propojení otevřených systémů – Základní referenční model: Základní model.
- Doporučení ITU-T X.500 (2019) | ISO/IEC 9594-1:2020, Informační technologie – Propojení otevřených systémů – Adresář: Přehled konceptů, modelů a služeb.
- Doporučení ITU-T X.501 (2019) | ISO/IEC 9594-2:2020, Informační technologie – Propojení otevřených systémů – Adresář: Modely.
- Doporučení ITU-T X.509 (2019) | ISO/IEC 9594-8:2020, Informační technologie — Propojení otevřených systémů — Adresář: Rámce certifikátů veřejného klíče a atributů.
- Doporučení ITU-T X.511 (2019) | ISO/IEC 9594-3:2020, Informační technologie – Propojení otevřených systémů – Adresář: Abstraktní definice služby.
- Doporučení ITU-T X.518 (2019) | ISO/IEC 9594-4:2020, Informační technologie – Propojení otevřených systémů – Adresář: Postupy pro distribuovaný provoz.
- Doporučení ITU-T X.519 (2019) | ISO/IEC 9594-5:2020, Informační technologie – Propojení otevřených systémů – Adresář: Specifikace protokolu.
- Doporučení ITU-T X.520 (2019) | ISO/IEC 9594-6:2020, Informační technologie — Propojení otevřených systémů — Adresář: Vybrané typy atributů.
- Doporučení ITU-T X.521 (2019) | ISO/IEC 9594-7:2020, Informační technologie – Propojení otevřených systémů – Adresář: Vybrané třídy objektů.
- Doporučení ITU-T X.525 (2019) | ISO/IEC 9594-9:2020, Informační technologie – Propojení otevřených systémů – Adresář: Replikace.
Funkční popis protokolu
Protokol LDAP definuje následující operace pro práci s adresářem:
- Operace připojení/odpojení
- Vazba ( bind ) – umožňuje vám přidružit klienta ke konkrétnímu objektu Directory (aktuálnímu nebo virtuálnímu), aby bylo možné provádět řízení přístupu pro všechny ostatní operace čtení/zápisu. Aby bylo možné pracovat s adresářem, musí být klient autentizován jako entita, jejíž rozlišovací jméno se nachází ve jmenném prostoru popsaném adresářem. V požadavku na operaci svázání nemusí klient uvést rozlišující jméno, v takovém případě bude připojení provedeno pod speciálním aliasem anonymní (obvykle něco jako účet hosta s minimálními právy)
- Unbind ( unbind ) – Umožňuje klientovi přepnout na ověřování s novým rozlišujícím názvem v rámci relace připojení k serveru LDAP. Příkaz unbind je možný pouze po autentizaci k serveru pomocí bind, jinak volání unbind vrátí chybu
- Hledat ( hledat ) - čtení dat z Adresáře. Operace je složitá, jako vstup vyžaduje mnoho parametrů, z nichž hlavní jsou:
- Základ vyhledávání ( baseDN ) - větev DIT, od které začíná vyhledávání dat
- Hloubka vyhledávání ( rozsah ) - může mít hodnoty (v pořadí rostoucího rozsahu): základna, jedna, pod
- základna - vyhledávání přímo v uzlu - vyhledávací základna
- jeden - prohledá všechny uzly, které jsou přímými potomky základny v hierarchii, to znamená, že leží o úroveň níže
- dílčí - hledat v celé oblasti pod vyhledávací základnou (baseDN)
- Filtr vyhledávání ( searchFilter ) je výraz, který definuje kritéria pro výběr objektů katalogu, které spadají do rozsahu vyhledávání určeného parametrem oboru. Výraz vyhledávacího filtru je zapsán v polském (prefixovém) zápisu , který se skládá z logických (booleovských) operátorů a operandů, které jsou zase interními operátory pro shodu hodnot atributů LDAP (na levé straně) s výrazy (na pravé straně) pomocí rovnítka.
Logické operátory jsou reprezentovány standardní "množinou": & (logické "AND"), | (logické "NEBO") a ! (logické "NE").
Příklad vyhledávacího filtru[ kde? ] :
(&(!(entryDN:dnSubtreeMatch:=dc=Piter,dc=Rusko,ou=People,dc=example,dc=com))(objectClass=sambaSamAccount)
(|(sn=Lazar*)(uid=Nakhims*) ))
- Modifikační operace - umožňují měnit data v Katalogu, přičemž pojem modifikace zahrnuje jak přidávání, mazání a přesouvání záznamů jako celku, tak i editaci záznamů na úrovni jejich atributů. Podtypy úprav:
- Přidání ( add ) - přidání nového záznamu
- Smazat ( delete ) — smazání záznamu
- Úprava RDN ( modrdn ) - přesunout/zkopírovat záznam
- Úprava záznamu ( upravit ) — umožňuje editaci záznamu na úrovni jeho atributů,
- přidání nového atributu nebo nové hodnoty vícehodnotového atributu (add)
- smazání atributu se všemi jeho hodnotami (delete)
- nahrazení jedné hodnoty atributu jinou (nahradit)
- stejně jako zvýšení (snížení) hodnoty atributu jako součást atomické operace (přírůstek)
- Porovnávací operace ( porovnat ) - umožňuje konkrétnímu rozlišujícímu názvu porovnat vybraný atribut s danou hodnotou
Operace žádosti o příležitost
Standard LDAP definuje speciální operaci, která klientům umožňuje získat informace o verzích protokolů podporovaných serverem a možnostech serveru LDAP. Tento příkaz je doplňkem (rozšířením) pro vyhledávací operaci a provádí se s následující kombinací parametrů posledně jmenovaného:
- BIND anonym
- baseDN vyhledávací základ zadaný jako "" (prázdný řetězec)
- Jako základ je určena hloubka prohledávání rozsahu
- Filtr vyhledávání: (objectClass=*)
- Seznam požadovaných atributů: buď explicitní výčet, nebo " + " ( VAROVÁNÍ ! " * " nezobrazí hodnoty atributů služby obsahující všechny užitečné informace)
Například při použití klienta LDAP z distribuce OpenLDAP může příkaz capability query vypadat takto:
ldapsearch -x -H ldap://host:port -LLL -b "" -s base '(objectClass=*)' supportedControls supportedCapabilities
Operace dotazu na schéma
Chcete-li požádat o informace o aktuálním schématu adresáře LDAP, musíte nejprve provést operaci Query Capabilities Operation získáním hodnoty atributu subschemaSubentry .
ldapsearch -x -H ldap://host:port -LLL -s base -b "" '(objectClass=*)' subschemaSubentry
Výsledná hodnota se použije jako rozlišující název báze vyhledávání ( baseDN ) v operaci dotazu na schéma, kterou lze popsat jako:
- BIND anonymní nebo plný. Většina adresářových serverů podporuje dotaz na schéma bez jeho předchozího BINDING, ale existují výjimky (jako je Active Directory );
- BaseDN vyhledávání se rovná hodnotě atributu subschemaSubentry vráceného operací Capability Query Operation ;
- Hloubka hledání rozsahu je specifikována jako základní ;
- Filtr vyhledávání: (objectClass=*) ;
- Seznam požadovaných atributů: explicitní výčet atributů (attributeTypes, objectClasses) je možný pro všechny adresářové servery, v případě OpenLDAP a některých dalších (OpenDS, ApacheDS, atd.) je možné zadat "+";
Například při použití klienta LDAP z distribuce OpenLDAP může operace dotazu na schéma vypadat takto:
ldapsearch -x -H ldap://host:port -LLL -s base -b "cn=Subschema" '(objectClass=*)' ldapSyntaxes matchingRules
Implementace
Strana serveru
LDAP je široce používaný standard pro přístup k adresářovým službám. Z volně distribuovaných otevřených implementací je nejznámější server OpenLDAP , z těch proprietárních je podpora protokolů dostupná v Active Directory , adresářové službě od Microsoftu , která je navržena pro centralizaci správy sítě Windows . Server IBM Lotus Domino obsahuje také službu LDAP [2] [3] . Své implementace adresářových služeb podporujících LDAP jako přístupový protokol nabízejí i další velké společnosti, například Novell a Sun - OpenDS a následně OpenDJ.
Seznam nejznámějších serverů LDAP současnosti:
- OpenLDAP
- ForgeRock OpenDJ
- Novell eDirectory
- Apple Open Directory (fork projektu OpenLDAP)
- Microsoft Active Directory
- Samba4 LDAP (OpenSource implementace MS AD)
- Adresářový server RedHat
- 389 Directory Server (v podstatě testovací verze předchozího)
- Oracle Directory Server
- Adresářový server Apache
- IBM Tivoli Directory Server
- IBM Domino LDAP
- CommuniGate LDAP
Strana klienta
Klienti LDAP jsou jak adresáře poštovních klientů , tak i back-endy různých síťových služeb (DNS, SMTP, Samba, UTS atd.).
Viz také
Poznámky
- ↑ Popis parametrů LDAP Archivováno 31. května 2011 na Wayback Machine
- ↑ Schéma Domino LDAP (sestupná linka) . Získáno 31. října 2010. Archivováno z originálu 8. června 2013. (neurčitý)
- ↑ Lotus Domino LDAP Configuration Guide (downlink) . Získáno 31. října 2010. Archivováno z originálu 4. března 2016. (neurčitý)
Odkazy
Zdroje
Servery
Klienti
Programovací rozhraní (API)
Schémata URI |
---|
Oficiální |
|
---|
neoficiální |
|
---|