Czym jest LDAP?
(1) Zanim przedstawimy, czym jest LDAP, przyjrzyjmy się jednej kwestii: "Czym jest usługa katalogowa?" ”
1. Usługa katalogowa to specjalna baza danych zawierająca szczegóły opisowe, oparte na atrybutach z możliwością filtrowania.
2. Jest dynamiczny, elastyczny i łatwo skalowalny.
Na przykład: organizacja i zarządzanie personelem, książka telefoniczna, książka adresowa.
(2) Po zrozumieniu usługi katalogowej, przyjrzyjmy się wprowadzeniu LDAP:
LDAP (Light Directory Access Portocol), który jest lekkim protokołem dostępu do katalogów opartym na standardzie X.500.
Katalog to baza danych zoptymalizowana do zapytań, przeglądania i wyszukiwania, organizując dane w strukturę drzewa, podobną do katalogu plików.
Bazy danych katalogowych różnią się od baz relacyjnych tym, że mają doskonałą wydajność odczytu, ale słabą wydajność zapisu, oraz brak złożonych funkcji, takich jak przetwarzanie transakcji i cofanie, co czyni je nieodpowiednimi do przechowywania często modyfikowanych danych. Spis treści jest więc z natury używany do zapytań, tak jak jego nazwa.
Usługa katalogowa LDAP to system składający się z bazy danych katalogów oraz zestawu protokołów dostępu.
(3) Dlaczego powinno być stosowane
LDAP to otwarty standard internetowy, wspierający wieloplatformowe protokoły internetowe, szeroko uznawany w branży, a większość produktów na rynku lub w społeczności open source posiada dodatkowe wsparcie dla LDAP, więc w tego typu systemie nie ma potrzeby osobnego dostosowywania, wystarczy prosta konfiguracja przez LDAP, aby uwierzytelnić się i wchodzić w interakcję z serwerem. "Proste i prymitywne" mogą znacznie obniżyć koszty wielokrotnego rozwoju i dokowania.
Główne produkty LDAP:
| | | | | Przechowywanie w bazie tekstu, szybka prędkość. | | | Bazy danych oparte na DB2 mają średnią prędkość. | | | Przechowywanie w bazie tekstowej jest szybkie i rzadko stosowane. | | Microsoft Active Directory | Na podstawie użytkowników systemu WINDOWS prędkość przetwarzania dużych ilości danych jest przeciętna, ale łatwa w utrzymaniu, posiada rozległy ekosystem i stosunkowo prosta w zarządzaniu. | | | OpenLDAP to projekt open-source, który jest szybki, ale nie jest powszechną aplikacją. |
Podstawowy model LDAP
Każdy system i protokół mają swój własny model, a LDAP nie jest wyjątkiem; zanim zrozumiemy podstawowy model LDAP, musimy poznać kilka koncepcji drzewa katalogów LDAP:
(1) Koncepcja drzewa katalogowego
1. Drzewo katalogów: W systemie usług katalogowych cały zbiór informacji katalogowych może być przedstawiony jako drzewo informacji katalogowych, a każdy węzeł w drzewie jest wpisem.
2. Wpis: Każdy wpis jest rekordem, a każdy wpis ma swoją unikalną, rozpoznawalną nazwę (DN).
3. Klasa obiektu: Zbiór atrybutów odpowiadających typowi jednostki, klasa obiektu może być dziedziczona, tak aby niezbędne atrybuty klasy nadrzędnej również zostały dziedziczone.
4. Atrybuty: Opisz informacje o aspekcie wpisu, atrybut składa się z typu atrybutu oraz jednej lub więcej wartości atrybutów, a atrybuty mają atrybuty obowiązkowe i nieobowiązkowe.
(2) DC, UID, OU, CN, SN, DN, RDN
| Pełne imię i nazwisko po angielsku | | | | Część dotycząca nazwy domeny jest podzielona na kilka części w formie kompletnej nazwy domeny, na przykład example.com domena staje się dc=example, dc=com (lokalizacja rekordu) | | | ID użytkownika songtao.xu (ID płyty) | | | Jednostki organizacyjne, jednostki organizacyjne mogą zawierać różne inne obiekty (w tym inne jednostki organizacyjne), takie jak "grupa oa" (organizacja, do której należy zapis) | | | Nazwy publiczne, takie jak "Thomas Johansson" (nazwa płyty) | | | | | | "uid=songtao.xu,ou=OA Group,DC=example,DC=com", lokalizacja rekordu (unikalna) | | | Względna dyskryminacja, podobna do ścieżek względnych w systemie plików, jest częścią struktury drzewa katalogów, która nie ma z nią nic wspólnego, na przykład "uid=tom" czy "cn= Thomas Johansson" |
Wprowadzenie do OpenLDAP
LDAP to lekki protokół dostępu do katalogów (LDAP), będący implementacją otwartoźródłowej scentralizowanej architektury zarządzania kontami, wspierającym wiele wersji systemowych i akceptowanym przez większość firm internetowych.
LDAP zapewnia i implementuje usługę informacyjną typu directory service, czyli specjalny system bazy danych, który dobrze wpływa na odczyt, przeglądanie i wyszukiwanie danych. Usługi katalogowe są zazwyczaj używane do przechowywania informacji opisowych opartych na atrybutach oraz wspierają zaawansowane funkcje filtrowania, jednak usługi katalogowe OpenLDAP nie obsługują skomplikowanego zarządzania transakcjami ani polityk rollbacku wymaganych do dużej liczby operacji aktualizacji baz danych ogólnego przeznaczenia.
LDAP ma dwa standardy: X.500 i LDAP. OpenLDAP opiera się na standardzie X.500 i usuwa złożone funkcje X.500, a może być dostosowywany dodatkowymi rozszerzeniami według własnych potrzeb, ale różni się też od X.500, na przykład OpenLDAP obsługuje protokół TCP/IP itd., a TCP/IP jest obecnie protokołem umożliwiającym dostęp do Internetu w Internecie.
OpenLDAP może działać bezpośrednio na prostszych i bardziej ogólnych warstwach protokołów TCP/IP lub innych niezawodnych protokołów transportowych, unikając narzutu na warstwach sesji i prezentacji OSI, co ułatwia i przyspiesza nawiązywanie połączeń oraz przetwarzanie pakietów, co czyni go idealnym dla aplikacji internetowych i sieciowych dla przedsiębiorstw.
Informacje w katalogu OpenLDAP są przechowywane w hierarchii drzewiastej (podobnie jak DNS), a górna warstwa nazywana jest "bazowym DN", np. "dc=mydomain, dc=org" lub "o=mydomain.org", przy czym pierwsza jest bardziej elastyczna i również używana w Windows AD. Pod katalogiem głównym znajduje się wiele plików i katalogów, a aby logicznie oddzielić te duże ilości danych, OpenLDAP używa OU (Organization Unit) podobnie jak inne protokoły serwisowe katalogów, które mogą reprezentować wewnętrzne organizacje firmy, takie jak działy itp., a także reprezentować sprzęt, personel itp. Jednocześnie OU może również posiadać pod-OU, które mogą być używane do reprezentowania bardziej szczegółowych klasyfikacji.
Każdy rekord w OpenLDAP ma unikalną nazwę, która odróżnia go od innych rekordów, DN (Distinguished Name), a część "liścia" nazywa się RDN (Relative Identifier of User Entry). Na przykład cn w dn:cn=tom, ou=zwierzęta, dc=ilanni, dc=com to RDN, a RDN musi być unikalny w OU.
Domyślnie OpenLDAP używa Berkeley DB jako bazy backend, a baza Berkeley DB głównie przechowuje dane w formie zahashowanych typów danych, takich jak pary klucz-wartość.
BerkeleyDB to specjalny typ bazy danych zoptymalizowany do zapytań i odczytów, głównie używany do wyszukiwania, przeglądania i aktualizacji operacji zapytań, i zazwyczaj dobrze wpływa na zapis danych jednocześnie, wielokrotne zapytania i wyszukiwania. BerkeleyDB nie obsługuje wysokiej przepustowości współbieżności i złożonych operacji transakcyjnych, które są wspierane przez bazy transakcyjne (MySQL, MariDB, Oracle itd.).
|