Lightweight Directory Access ProtocolLightweight Directory Access Protocol (LDAP) definierar ett protokoll och en datamodell för kommunikation med en katalogtjänst. LDAP skapades av Tim Howes, Steve Kille och Wengyik Yeong.[1] ÖversiktLDAP används för att utföra snabba och effektiva sökningar på katalogservrar. Standarden, som LDAP baseras på (X.500), använder OSI-modellen som protokoll-modell medan LDAP använder TCP/IP. Innan LDAP-servrar började komma, använde LDAP-klienter en LDAP-gateway, som gjorde om LDAP-trafiken till X.500-trafik.[2] Protokollet X.500 har dock förändrats och kan nu användas direkt över TCP/IP. X.500 använder Directory Access Protocol (DAP) för att komma åt X.500-katalogtjänster. LDAP var till en början ett lättviktigt alternativ för att ge åtkomst till X.500-katalogtjänster, men har på senare tid expanderat och blivit lika komplex som X.500.[3] En klient kopplar upp mot en LDAP-server via TCP-porten 389 (standard). Ett alternativ för att få säker anslutning är att koppla upp via en SSL-tunnel (port 636). Detta sätt utfasades i.o.m. att LDAPv2 officiellt gick i pension (2003).[4] Det nya sättet är att använda LDAPv3 Transport Layer Security (TLS) (operationen Start TLS). Klienten skickar förfrågningarna till servern asynkront medan servern skickar sina svar i turordning. Dessa operationer kan en klient göra förfrågningar om:
Servern skickar svar på dessa förfrågningar men kan också skicka ett "Unsolicited Notifications". Meddelandet är inte ett svar på en förfrågan utan skickas till exempel innan anslutningen gör timeout. KatalogstrukturProtokollet ger åtkomst till LDAP-kataloger (även X.500-kataloger):
Exempel från LDAP (på engelska), som representeras i LDAP Data Interchange Format (LDIF): dn: cn=John Doe,dc=example,dc=com cn: John Doe givenName: John sn: Doe telephoneNumber: +1 888 555 6789 telephoneNumber: +1 888 555 1232 mail: john@example.com manager: cn=Barbara Doe,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top dn avser namnet på kataloguppgiften och är inte ett attribut. cn=John Doe är uppgiftens RDN dc=example, dc=com är föräldrarnas DN Attributen består av namn som är lätta att förstå. Till exempel dn står för Distinguished Name (unikt namn), mail står för e-mail och sn står för surname (efternamn). OperationerNär klienten skickar en förfrågan, skickas ett meddelandeid med som servern skickar med tillbaka. Servern skickar även med en resultatkod som indikerar om det gått bra, blivit något fel eller något annat specialfall inträffat. StartTLSOperationen StartTLS upprättar en säker anslutning via TLS-protokollet. Detta erbjuder datasekretess och/eller dataintegritet. Bind (autentisera)Servern autentiserar klienten med operationen Bind. Anslutningen bör vara skyddad med TLS, då det finns enkla autentiseringar som skickar DN och lösenord i klartext. Förutom autentisering sätts LDAP-protokollversionen. Operationen Bind måste vara först i sessionen om LDAPv2 används. Detta behövs inte i LDAPv3. Search and CompareOperationerna sök och jämför används för att söka och läsa poster. baseObject: Den DN (Distinguished Name) där sökningen ska starta. scope: BaseObject (sök bara efter namngivna posten), singleLevel (poster direkt under roten DN), eller wholeSubtree (hela subträdet med början vid roten DN). filter: Hur varje post ska undersökas. derefAliases: Om och hur aliasposter ska följas (poster som hänvisar till andra poster). attributes: Vilka attribut som ska skickas tillbaka i resultatposterna. sizeLimit, timeLimit: Maximala antalet poster och maximala söktiden. typesOnly: Skicka tillbaka attributtyperna, inte deras värden Update DataTill denna parameter hör Lägg till (add), Ta bort (delete) och Ändra (modify). För att kunna utföra dessa operationer så måste DN vara specificerat. Extended operationsDenna operation används för definiera nya operationer. Hit hör Cancel, Password, Modify och StartTLS. AbandonOperationen skickas tillsammans med ett meddelande-id. Servern avbryter operationen (som har meddelande-id), om den vill. Abandon skickar inget svar tillbaka. Operationen Cancel har definierats att göra samma sak som Abandon och även skicka tillbaka ett svar. UnbindAnvänds för att stänga ner en anslutning. Inget svar skickas tillbaka. AnvändningLDAP används inom bl.a. tre områden av program:[2]
Referenser
Externa länkar |
Portal di Ensiklopedia Dunia