Co to jest LDAP?

10

Jak wytłumaczysz LDAP sysadminowi, który o nim słyszał i być może wchodził z nim w interakcje, ale tak naprawdę go nie zrozumiał?

Analogie są w porządku, ale proszę podać kilka istotnych szczegółów technicznych, aby pomóc je ugruntować.

Wyjaśniono w duchu usługi Active Directory

sh-beta
źródło
Aby uzyskać bardziej szczegółowe informacje na temat odpowiedzi Davida Pashleya
sh-beta

Odpowiedzi:

10

Ten artykuł napisałem kilka lat temu, który wyjaśnia podstawy LDAP

David Pashley
źródło
Zdecydowanie najbardziej kompletna odpowiedź, ale co byś pomyślał o kopiowaniu i wklejaniu tekstu do swojej odpowiedzi? Lepsze indeksowanie wyszukiwania i unikamy problemów z linkami w przyszłości ...
sh-beta
3
Jest trochę długi i nie jest objęty licencją CC. Artykuł istnieje od trzech lat i nie mam zamiaru stracić tych linków.
David Pashley,
Miejmy nadzieję, że się zatrzyma. Doskonały artykuł.
sh-beta
Ten artykuł jest klejnotem dla tych z nas, którzy o nim słyszeli, ale nie mieli przywileju próbowania. W tym momencie nie skończyłem go czytać, ale z tego, co przeczytałem, pomogło to w dostosowaniu dużej części mojej nowo zdobytej wiedzy. Mam nadzieję, że utrzymasz go tak długo, jak długo będzie ważny.
Dark Star 1
5

LDAP (Lightweight Directory Access Protocol) to protokół na poziomie aplikacji, który pozwala klientom łączyć się ze zgodnymi usługami katalogowymi w celu manipulowania jednostkami katalogowymi lub przeszukiwania katalogu w celu uzyskania informacji. Jedną z jego głównych zalet jest zapewnienie standardowego interfejsu dla systemów na wielu platformach.

W większości systemów katalogowych LDAP nie jest jedynym interfejsem dostępnym do komunikacji z serwerem. Zwykle istnieją inne natywne interfejsy, które mogą zapewnić wydajność i inne korzyści.

Standardowa koncepcja sesji LDAP jest następująca:

  1. Połącz się z serwerem zgodnym z LDAP
  2. Powiąż z katalogiem na pewnym poziomie podstawowym (zwanym BaseDN). Zazwyczaj jest to obiekt kontenerowy gdzieś w strukturze katalogu, taki jak jednostka organizacyjna. W zależności od tego, czy katalog jest skonfigurowany w sposób umożliwiający anonimowy dostęp, może nie być możliwe wiązanie anonimowe
  3. Wykonaj zapytanie lub instrukcję

Zapytania można wykonać w następujący sposób:

  • na tym samym poziomie w strukturze, z którą jesteś związany (zapytanie zakresu podstawowego)
  • na tym samym poziomie lub o jeden poziom poniżej, z którym jesteś związany (zapytanie o zakres jednego poziomu)
  • rekurencyjnie w dół całej struktury, zaczynając od miejsca, w którym jesteś związany (zapytanie sceop Subtree)

Ponieważ katalogi mogą być bardzo rozproszone i zawierają nadmierną ilość informacji, administratorom katalogów zazwyczaj daje się możliwość ograniczenia zapytań LDAP do określonej liczby wyników (1000 jest częstą wartością maksymalną dla zestawu wyników).

squillman
źródło
1
Katalogi LDAP są zoptymalizowane pod kątem odczytu i zazwyczaj mają słabą wydajność zapisu w porównaniu z bazami danych podobnymi do SQL. Z bazy danych LDAP można korzystać na wiele sposobów, ale najbardziej typową aplikacją (poza Microsoft AD) jest magazyn danych zaplecza uwierzytelniania użytkowników / grup.
Matt
5

Pomyśl o tym jak o bazie danych zorganizowanej w drzewie, więc na przykład możesz mieć typową strukturę firmy zorganizowaną w naturalny sposób. Firma najwyższego poziomu, z grupami / działami pod nią i pracownikami na końcu, którzy mogą mieć wiele właściwości (takich jak imię i nazwisko, telefon, poczta, adres itp.). Następnie powiedz mu, że nadaje się również do wszystkich innych danych, które są zorganizowane w podobny sposób i że jest dostępny przez otwarty protokół z różnych platform / języków.

Ponadto z wikipedii: „Katalog jest zbiorem obiektów z atrybutami uporządkowanymi w sposób logiczny i hierarchiczny. Najczęstszym przykładem jest książka telefoniczna, która składa się z szeregu nazwisk (osób lub organizacji) uporządkowanych alfabetycznie, z do każdego nazwiska dołączony jest adres i numer telefonu. ”

To najbardziej przyjazne dla początkującego wyjaśnienie, jakie mogę wymyślić, bez wchodzenia w szczegóły techniczne.

buster
źródło
Solidne, nietechniczne wyjaśnienie, ale uważam, że pewne szczegóły techniczne są odpowiednie (twoimi odbiorcami są administratorzy, a nie menedżerowie).
sh-beta
Myślę, że powinieneś uściślić swoje pytanie. Tak wytłumaczyłbym sysadmin, który zapytał mnie: „Hej, słyszałem o tym LDAP tu i tam i rzuciłem okiem na wurley.demo.phpldapadmin.info, ale tak naprawdę tego nie zrozumiałem”. Od tego momentu jest to tak proste, jak czytanie wikipedii, samouczków, książek lub RFC.
buster
Pytanie wyjaśnione. I nie sądzę, żeby kiedykolwiek napisano wyrażenie „Tak łatwe jak czytanie [...] RFC”.
sh-beta
3

Jest to scentralizowany system mający na celu zapewnienie szybkiego dostępu do danych, w których rzeczywiste dane są ustrukturyzowane w formie drzewa. Językiem używanym do komunikowania się z tym scentralizowanym systemem jest LDAP, który jest protokołem podobnym do POP i IMAP. Ma możliwość aktualizowania i wyszukiwania danych w całym drzewie.

Martin P. Hellwig
źródło
3

Po pierwsze, sam LDAP jest tylko protokołem, nie robi nic, chyba że istnieje serwer LDAP, z którym mógłby współpracować.

Umożliwia dostęp do katalogu na serwerze LDAP; dobrą analogią byłby papierowy spis telefonów lub spis usług (ten drugi jest prawdopodobnie lepszy). Jeśli chcesz znaleźć miejsce na naprawę samochodu, zakładając, że nie znasz lokalnych warsztatów, możesz poszukać katalogu usług w formie papierowej, aby znaleźć mechaników w Twojej okolicy.

Podobnie LDAP umożliwia wyszukiwanie informacji w katalogu zgodnym z LDAP działającym na serwerze. Każda pozycja w katalogu jest „obiektem”, który może mieć różne właściwości, a aplikacja, która wchodzi w interakcję z katalogiem, oczekuje, że elementy zostaną sformatowane w określony sposób. Dzięki swojej konstrukcji jest elastyczny i rozszerzalny, więc nie jesteś ograniczony do tego, co ktoś mógł pomyśleć.

Wracając do analogii mechanicznej, informacje mogą obejmować imię i nazwisko, adres, koszt za godzinę, niezależnie od tego, czy jest znany z sabotowania twojego samochodu, aby mógł uzyskać od ciebie dodatkowe interesy, rozmiar jelit piwnych i tak dalej. Mechanika samochodowa może być przechowywana w jednym węźle drzewa katalogów, mechanicy hi-fi mogą być przechowywani w innym. Każdy taki typ obiektu nie musi mieć tych samych właściwości, więc niektóre informacje dla mechanika samochodowego nie pojawią się u specjalisty od sprzętu hi-fi, który z kolei będzie miał swój własny zestaw unikalnych informacji, które odnoszą się wyłącznie do niego.

Najczęściej jest używany do przechowywania informacji o użytkownikach w sieci, ale teoretycznie możesz w to wszystko włożyć . W scenariuszu sieciowym mówimy o danych organizacyjnych dotyczących danej osoby, a także być może informacji o bezpieczeństwie, informacji o konfiguracji aplikacji i tak dalej. Ponieważ wszystko jest przechowywane centralnie, możesz łatwo i elastycznie scentralizować DUŻO informacji w jednej bazie danych zoptymalizowanej pod kątem ultraszybkich wyszukiwań i dostępnej dla dowolnej zgodnej aplikacji.

Maximus Minimus
źródło