Lightweight Directory Access Protocol (Română)

AddEdit

operația de adăugare introduce o nouă intrare în baza de date Director-server. Dacă numele distins din cererea de adăugare există deja în director, atunci serverul nu va adăuga o intrare duplicată, ci va seta codul de rezultat în rezultatul adăugării la zecimal 68, „entryAlreadyExists”.

  • serverele compatibile LDAP nu vor dereferenția numele distins transmis în cererea de adăugare atunci când încearcă să localizeze intrarea, adică numele distinse nu sunt niciodată de-alias.,
  • serverele compatibile LDAP se vor asigura că numele distins și toate atributele sunt conforme cu standardele de denumire.
  • intrarea care trebuie adăugată nu trebuie să existe, iar superiorul imediat trebuie să existe.

În exemplul de mai sus, uid=user,ou=people,dc=example,dc=com nu trebuie să existe, și ou=people,dc=example,dc=com trebuie să existe.

Bind (authenticate)Edit

când este creată o sesiune LDAP, adică atunci când un client LDAP se conectează la server, starea de autentificare a sesiuniieste setată la anonim. Operația BIND stabilește starea de autentificare pentru o sesiune.,

Simple BIND și SASL PLAIN pot trimite DN-ul și parola utilizatorului în text simplu, astfel încât conexiunile care utilizează Simple sau SASL PLAINshould să fie criptate folosind Transport Layer Security (TLS). Serverul verifică de obicei parola împotriva atributului userPassword din intrarea numită. Legarea anonimă (cu DN și parolă goale) resetează conexiunea la starea anonimă.SASL (Simple Authentication and Security Layer) BIND oferă servicii de autentificare printr-o gamă largă de mecanisme, de exemplu Kerberos sau certificatul client trimis withl-uri.,

BIND stabilește, de asemenea, versiunea protocolului LDAP prin trimiterea unui număr de versiune sub forma unui număr întreg. Dacă clientul solicită o versiune pe care serverul nu o acceptă,serverul trebuie să stabilească codul de rezultat în răspunsul BIND la cod pentru o eroare de protocol. În mod normal, clienții ar trebui să utilizeze LDAPv3, care este default în protocol, dar nu întotdeauna în bibliotecile LDAP.

BIND a trebuit să fie prima operație într-o sesiune în LDAPv2, dar nu este necesară ca de LDAPv3., În LDAPv3, fiecare cerere de legare reușită modifică starea de autentificare a sesiunii și fiecare cerere de legare nereușită resetează starea de autentificare a sesiunii.

DeleteEdit

pentru a șterge o intrare, un client LDAP transmite o solicitare de ștergere formată corect către server.,

  • O șterge cererea trebuie să conțină numele distins de intrare să fie șterse
  • Cerere controlează, de asemenea, poate fi atașat la cererea de ștergere
  • Servere nu dereference pseudonime atunci când procesează o cerere delete
  • Numai frunze entries (intrări cu nici subordonații) pot fi șterse printr-o cerere delete., Unele servere de sprijin operațional atribut hasSubordinates a cărui valoare indică dacă o intrare a oricărui subordonat intrări, și unele servere de sprijin operațional atribut numSubordinates indică numărul de înregistrări subordonate intrare conține numSubordinates atribut.
  • unele servere acceptă controlul solicitării de ștergere subarbore care permite ștergerea DN-ului și a tuturor obiectelor subordonate DN-ului, supuse controalelor de acces., Solicitările de ștergere sunt supuse controalelor de acces, adică dacă o conexiune cu o anumită stare de autentificare va fi permisă pentru a șterge o intrare dată este guvernată de mecanisme de control al accesului specifice serverului.

căutare și Comparareedit

operația de căutare este utilizată atât pentru a căuta, cât și pentru a citi intrări. Parametrii săi sunt:

baseObject numele intrării obiectului de bază (sau eventual rădăcina) în raport cu care trebuie efectuată căutarea. domeniul de aplicare ce elemente de sub bazăobiect pentru a căuta., Acest lucru poate fiBaseObject(căutare doar nume de intrare, de obicei folosit pentru a citi o singură intrare),singleLevel(intrări imediat sub baza DN), sauwholeSubtree(întregul subarbore incepand de la baza DN). criterii de filtrare pentru a utiliza în selectarea elementelor din domeniul de aplicare., De exemplu, filtrul(&(objectClass=person)(|(givenName=John)(mail=john*)))va selecta „persoane” (elemente de objectClassperson) unde regulile potrivite pentrugivenNameșimaildetermina dacă valorile pentru aceste atribute se potrivesc cu filtru de afirmare. Rețineți că o concepție greșită comună este că datele LDAP sunt sensibile la majuscule, în timp ce, de fapt, regulile de potrivire și regulile de ordonare determină potrivirea, comparațiile și relațiile de valoare relativă., Dacă de exemplu filtrele au fost necesare pentru a se potrivi caz de valoarea atributului, extensibila meci de filtru trebuie să fie utilizate, de exemplu,(&(objectClass=person)(|(givenName:caseExactMatch:=John)(mail:caseExactSubstringsMatch:=john*)))derefAliases Dacă și cum să urmeze alias entries (înregistrări care se referă la alte intrări), atribute Ce atribute să se întoarcă în rezultatul intrări. sizeLimit, timeLimit numărul maxim de intrări pentru a reveni, și timp maxim pentru a permite căutarea pentru a rula. Cu toate acestea, aceste valori nu pot trece peste nicio restricție pe care serverul o plasează pe limita de dimensiune și limita de timp. Typesonly Return attribute types only, not attribute values.,

serverul returnează intrările de potrivire și referințe potențial continuare. Acestea pot fi returnate în orice ordine. Rezultatul final va include codul de rezultat.

operația de comparare ia un DN, un nume de atribut și o valoare de atribut și verifică dacă intrarea numită conține acel atribut cu acea valoare.

ModifyEdit

operația de modificare este utilizată de clienții LDAP pentru a solicita serverului LDAP să modifice intrările existente. Încercările de a modifica intrările care nu există vor eșua. Cererile de modificare sunt supuse controalelor de acces implementate de server.,

operația de modificare necesită ca numele distins (DN) al intrării să fie specificat și o secvență de modificări. Fiecare schimbare în secvența trebuie să fie una de:

  • add (adaugă o nouă valoare, care nu trebuie să existe deja în atribut)
  • delete (șterge o valoare existente)
  • replace (înlocuiește o valoare existente cu o valoare nouă)

LDIF exemplu de a adăuga o valoare a unui atribut:

dn: dc=example,dc=comchangetype: modifyadd: cncn: the-new-cn-value-to-be-added-

Pentru a înlocui valoarea unui atribut existent, Utilizați înlocui cuvinte cheie., Dacă atributul are valori multiple, clientul trebuie să specifice valoarea atributului de actualizat.pentru a șterge un atribut dintr-o intrare, utilizați cuvântul cheie delete și changetype designator modify. Dacă atributul este multi-evaluat, clientul trebuie să specifice valoarea atributului de șters.

există, de asemenea, o extensie de modificare-incrementare care permite o valoare a atributului incrementabil să fie incrementată cu o anumită sumă., Următorul exemplu utilizează LDIF trepte employeeNumber de 5:

dn: uid=user.0,ou=people,dc=example,dc=comchangetype: modifyincrement: employeeNumberemployeeNumber: 5-

atunci Când serverele LDAP sunt într-o reprodus topologie, LDAP clienții ar trebui să ia în considerare utilizarea post-citit de control pentru a verifica actualizări în loc de o căutare după o actualizare. Controlul post-citire este proiectat astfel încât aplicațiile nu trebuie să emită o cerere de căutare după o actualizare – este o formă proastă pentru a prelua o intrare cu unicul scop de a verifica dacă o actualizare a funcționat din cauza replicării eventualului model de consistență., Un client LDAP nu ar trebui să presupună că se conectează la același server de directoare pentru fiecare cerere, deoarece arhitecții ar fi putut plasa echilibratori de sarcină sau proxy-uri LDAP sau ambele între clienții LDAP și servere.

modificare DNEdit

modificare DN (Mutare / Redenumire intrare) ia noul RDN (relative Distinguished Name), opțional DN-ul noului părinte, și un steag care indică dacă să ștergeți valoarea(valorile) din Intrarea care se potrivește cu vechiul RDN. Serverul poate suporta redenumirea subtreelor de directoare întregi.,

o operație de actualizare este atomică: alte operații vor vedea fie intrarea nouă, fie cea veche. Pe de altă parte, LDAP nu definește tranzacțiile mai multor operațiuni: dacă citiți o intrare și apoi o modificați, este posibil ca un alt client să fi actualizat intrarea între timp. Totuși, serverele pot implementa extensii care acceptă acest lucru.

Extended operationsEdit

operația extinsă este o operație generică LDAP care poate defini noi operații care nu făceau parte din specificația inițială a protocolului. StartTLS este una dintre cele mai semnificative extensii., Alte exemple includ anulare și Modificare parolă.

StartTLSEdit

operațiunea StartTLS stabilește securitatea stratului de Transport (descendentul SSL) pe conexiune. Acesta poate oferi confidențialitatea datelor (pentru a proteja datele de a fi respectate de către terți) și/sau protecția integrității datelor (care protejează datele de manipulare). În timpul negocierii TLS, serverul trimite certificatul X. 509 pentru a-și dovedi identitatea. De asemenea, clientul poate trimite un certificat pentru a-și dovedi identitatea. După aceasta, clientul poate utiliza SASL / extern., Folosind SASL / extern, clientul solicită serverului să-și deducă identitatea din acreditările furnizate la un nivel inferior (cum ar fi TLS). Deși tehnic serverul poate utiliza orice informație de identitate stabilită la orice nivel inferior, de obicei serverul va folosi informațiile de identitate stabilite de TLS.

serverele suportă adesea protocolul non-standard „LDAPS” („Secure LDAP”, cunoscut sub numele de „LDAP over SSL”) pe un port separat, în mod implicit 636., LDAPS diferă de LDAP în două moduri: 1) la conectare, clientul și serverul stabilesc TLS înainte ca mesajele LDAP să fie transferate (fără o operație StartTLS) și2) conexiunea LDAPS trebuie închisă la închiderea TLS.

unele biblioteci client „LDAPS” criptează doar comunicațiile; acestea nu verifică numele gazdei cu numele din certificatul furnizat.

AbandonEdit

operația abandonează solicită ca serverul să anuleze o operație numită de un ID de mesaj. Serverul nu trebuie să onoreze cererea. Nici abandonarea, nici o operațiune abandonată cu succes nu trimit un răspuns., O operație similară anulare extinsă trimite răspunsuri, dar nu toate implementările acceptă acest lucru.

UnbindEdit

operația Unbind abandonează orice operațiuni restante și închide conexiunea. Nu are nici un răspuns. Numele este de origine istorică și nu este opusul operațiunii Bind.clienții pot întrerupe o sesiune prin simpla închidere a conexiunii, dar ar trebui să utilizeze Unbind. Unbind permite serverului să închidă cu grație conexiunea și resursele gratuite pe care altfel le-ar păstra de ceva timp până când descoperă că clientul a abandonat conexiunea., De asemenea, instruiește serverul să anuleze operațiunile care pot fi anulate și să nu trimită răspunsuri pentru operațiunile care nu pot fi anulate.

Share

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *