AddEdit
operace přidání vloží nový záznam do databáze adresářových serverů. Pokud rozlišující název v přidat žádost již existuje v adresáři, pak server nelze přidat duplicitní položky, ale nastaví kód výsledku v přidat výsledek desetinné číslo 68, „entryAlreadyExists“.
- LDAP-kompatibilní servery nikdy dereference rozlišující název přenášeny v přidat požadavek při pokusu vyhledat údaj, který je, rozlišující názvy jsou nikdy de-aliasem.,
- LDAP-kompatibilní servery zajistí, že rozlišené jméno a všechny atributy odpovídají normám pojmenování.
- položka, která má být přidána, nesmí existovat a musí existovat bezprostřední nadřízený.
ve výše uvedeném příkladu nesmí existovat uid=user,ou=people,dc=example,dc=com
a musí existovat ou=people,dc=example,dc=com
.
Bind (authenticate)Edit
když je vytvořena relace LDAP, to znamená, že když se klient LDAP připojí k serveru, ověřovací stav sessionje nastaven na anonymní. Operace BIND stanoví stav autentizace pro relaci.,
Simple BIND a SASL PLAIN mohou odeslat dn a heslo uživatele v prostém textu, takže připojení využívající buď jednoduché, nebo SASL Plainby měla být šifrována pomocí zabezpečení transportní vrstvy (TLS). Server obvykle kontroluje heslo proti atributu userPassword
v pojmenované položce. Anonymní BIND (s prázdným DN a heslem) obnoví připojení k anonymnímu stavu.
SASL (Simple Authentication and Security Layer) BIND poskytuje autentizační služby prostřednictvím široké škály mechanismů, např.,
BIND také nastaví verzi protokolu LDAP zasláním čísla verze ve formě celočíselného čísla. Pokud klient požádá o verzi, kterou server nepodporuje, musí server nastavit kód výsledku v odpovědi BIND na kód pro chybu protokolu. Normálně by klienti měli používat LDAPv3, což jepředchozí v protokolu, ale ne vždy v knihovnách LDAP.
BIND musel být první operací v relaci v LDAPv2, ale není vyžadován od LDAPv3., V LDAPv3, každýúspěšný požadavek BIND změní stav autentizace relace a každý neúspěšný požadavek BIND resetuje stav autentizace relace.
DeleteEdit
Chcete-li odstranit položku, klient LDAP přenáší správně vytvořený požadavek na odstranění na server.,
- delete žádost musí obsahovat rozlišující název záznamu, který má být smazán
- Žádost ovládání může být také připojen k odstranění požadavku
- Servery nejsou aliasy při zpracování odstranit žádost
- Pouze list položky (položky bez podřízených) může být odstraněn pomocí odstranění žádosti., Některé servery podporují operační atribut
hasSubordinates
, jehož hodnota udává, zda položka má žádné podřízené položky, a některé servery podporují operační atributnumSubordinates
udává číslo položky, podřízená položka obsahujícínumSubordinates
atribut. - některé servery podporují subtree delete request control umožňující vymazání DN a všech objektů podřízených DN, s výhradou kontroly přístupu., Odstranit požadavky jsou předmětem kontroly přístupu, to znamená, zda spojení s danou ověřování státu bude umožněno smazat daný záznam se řídí server-specifických mechanismů řízení přístupu.
Search and CompareEdit
operace vyhledávání se používá jak pro vyhledávání, tak pro čtení záznamů. Jeho parametry jsou:
baseObject Název položky základního objektu (nebo případně kořen), ke kterému má být vyhledávání provedeno. rozsah, jaké prvky pod základnouprojekt k vyhledávání., To může býtBaseObject
(hledání jen pojmenovaná položka, obvykle slouží ke čtení jednoho záznamu),singleLevel
(položky bezprostředně pod base DN), nebowholeSubtree
(celý podstrom začínající v base DN). kritéria filtru pro použití při výběru prvků v rozsahu., Například, filtr(&(objectClass=person)(|(givenName=John)(mail=john*)))
vyberte „osoby“ (prvky objectClassperson
), kde odpovídající pravidla progivenName
mail
určit, zda hodnoty pro tyto atributy odpovídají filtru tvrzení. Všimněte si, že běžná mylná představa je, že data LDAP jsou malá a velká písmena, zatímco ve skutečnosti odpovídající pravidla a pravidla objednávání určují shodu, srovnání, a vztahy relativní hodnoty., Pokud například filtry jsou nutné, aby odpovídala případě, že hodnota atributu, rozšiřitelný zápas filtru musí být použit, například(&(objectClass=person)(|(givenName:caseExactMatch:=John)(mail:caseExactSubstringsMatch:=john*)))
derefAliases, Zda a jak dodržovat alias položky (položky, které odkazují na jiné položky), atributy atributy, Které chcete vrátit v důsledku toho položky. sizeLimit, timeLimit maximální počet záznamů k návratu, a maximální čas pro umožnění vyhledávání ke spuštění. Tyto hodnoty však nemohou přepsat žádná omezení, která server umístí na limit velikosti a časový limit. pouze typy návratových atributů, nikoli hodnoty atributů.,
server vrátí odpovídající položky a případně odkazy na pokračování. Ty mohou být vráceny v libovolném pořadí. Konečný výsledek bude obsahovat kód výsledku.
operace porovnání má DN, název atributu a hodnotu atributu a zkontroluje, zda pojmenovaná položka obsahuje tento atribut s touto hodnotou.
ModifyEdit
ZMĚNIT operace se používá LDAP klienty požádat, aby LDAP server, aby změny stávajících položek. Pokusy o úpravu položek, které neexistují, selžou. Upravit požadavky podléhají ovládacím prvkům přístupu implementovaným serverem.,
operace úpravy vyžaduje, aby byl zadán rozlišený název (DN) záznamu a posloupnost změn. Každá změna v sekvenci musí být jedna z:
- add (přidat novou hodnotu, která nesmí již existovat v atributu)
- delete (odstranit existující hodnoty)
- nahradit (nahradit existující hodnotu s novou hodnotou)
příklad LDIF přidání hodnoty atributu:
dn: dc=example,dc=comchangetype: modifyadd: cncn: the-new-cn-value-to-be-added-
nahradit hodnotu pro existující atribut, Použijte nahradit klíčové slovo., Pokud je atribut vícehodnotový, musí klient zadat hodnotu atributu, který má být aktualizován.
Chcete-li odstranit atribut ze záznamu, použijte klíčové slovo delete a changetype designator upravit. Pokud je atribut vícehodnotový, musí klient zadat hodnotu atributu, který má být odstraněn.
k dispozici je také rozšíření Modify-Increment, které umožňuje zvýšení hodnoty atributu o zadanou částku., Následující příklad pomocí LDIF přírůstky employeeNumber 5:
dn: uid=user.0,ou=people,dc=example,dc=comchangetype: modifyincrement: employeeNumberemployeeNumber: 5-
LDAP servery jsou v replikovaná topologie, LDAP klienti by měli zvážit použití post-přečtěte si kontrolu k ověření, aktualizace, namísto hledání po aktualizaci. Post-ovládat čtení je navržen tak, že aplikace nemusí vydat dotaz po aktualizaci – to je špatná forma načíst vstupu za účelem kontroly, že aktualizace pracoval, protože replikace eventuální konzistence modelu., LDAP klient by neměl předpokládat, že se připojí do stejného adresáře serveru pro každý požadavek, protože architekti mohou mít umístěny load-balancerů, nebo LDAP proxy nebo jak mezi LDAP klienty a servery.
Upravit DNEdit
Změnit DN (přesunout/přejmenovat záznam) bere nové RDN (Relative Distinguished Name), případně nové rodiče DN, a příznak, který označuje, zda chcete odstranit hodnotu(y) v vstup, které odpovídají staré RDN. Server může podporovat přejmenování celých adresářů.,
operace aktualizace je atomová: ostatní operace uvidí buď novou položku, nebo starou. Na druhou stranu LDAP nedefinuje transakce s více operacemi: pokud si přečtete položku a poté ji upravíte, může jiný klient mezitím položku Aktualizovat. Servery však mohou implementovat rozšíření, která to podporují.
Rozšířené operaceeditovat
Rozšířené Operace je obecný LDAP operace, které mohou definovat nové operace, které nebyly součástí původní specifikace protokolu. StartTLS je jedním z nejvýznamnějších rozšíření., Mezi další příklady patří zrušení a změna hesla.
StartTLSEdit
operace StartTLS zavádí zabezpečení transportní vrstvy (potomek SSL) na připojení. Může poskytnout důvěrnost údajů (k ochraně údajů před dodržováním třetími stranami) a/nebo ochranu integrity dat (která chrání data před manipulací). Během vyjednávání TLS server odešle svůj certifikát x. 509, aby prokázal svou totožnost. Klient může také zaslat certifikát, který prokáže jeho totožnost. Poté může klient použít SASL/externí., Použitím SASL / externí klient požaduje, aby server odvodil svou identitu z pověření poskytovaných na nižší úrovni (například TLS). I když technicky může server používat jakékoli informace o totožnosti stanovené na jakékoli nižší úrovni, obvykle server použije informace o totožnosti stanovené TLS.
servery také často podporují nestandardní protokol“ LDAP „(„Secure LDAP“, běžně známý jako“ LDAP přes SSL“) na samostatném portu, ve výchozím nastavení 636., LDAP se liší od LDAP dvěma způsoby:1) Po připojení klient a server vytvoří TLS před přenosem zpráv LDAP (bez operace StartTLS) A2) připojení LDAP musí být uzavřeno po uzavření TLS.
některé klientské knihovny „LDAPS“ pouze šifrují komunikaci; nekontrolují název hostitele proti názvu v dodaném certifikátu.
AbandonEdit
operace opustit požaduje, aby server zrušil operaci pojmenovanou ID zprávy. Server nemusí požadavek respektovat. Ani opuštění, ani úspěšně opuštěná operace neposílají odpověď., Podobné zrušení rozšířené operace posílá odpovědi, ale ne všechny implementace to podporují.
UnbindEdit
operace Unbind ukončí všechny vynikající operace a uzavře spojení. Nemá odpověď. Název je historického původu a není opakem operace Bind.
klienti mohou přerušit relaci pouhým uzavřením připojení, ale měli by používat Unbind. Odpojení umožňuje, aby server řádně ukončit připojení a volné zdroje, které by jinak udržet na nějakou dobu, dokud objevování klient opustil připojení., Také nařizuje serveru zrušit operace, které lze zrušit, a neposílat odpovědi na operace, které nelze zrušit.