Що таке LDAP?
(1) Перш ніж представити, що таке LDAP, давайте розглянемо одне: «Що таке служба каталогів?» ”
1. Служба каталогів — це спеціальна база даних, яка містить описові дані на основі атрибутів з можливістю фільтрації.
2. Він динамічний, гнучкий і легко масштабований.
Наприклад: організація та управління персоналом, телефонна книга, адресна книга.
(2) Після розуміння сервісу каталогу давайте розглянемо введення LDAP:
LDAP (Light Directory Access Portocol) — це легкий протокол доступу до каталогів, заснований на стандарті X.500.
Каталог — це база даних, оптимізована для запитів, перегляду та пошуку, організовуючи дані у структурі, схожій на дерево, подібно до файлового каталогу.
Каталогові бази даних відрізняються від реляційних тим, що мають відмінну продуктивність читання, але низьку якість запису, а також не мають складних функцій, таких як обробка транзакцій і відкат, що робить їх непридатними для зберігання часто змінюваних даних. Отже, зміст за своєю суттю використовується для запитів, як і його назва.
Служба каталогів LDAP — це система, що складається з бази даних каталогів та набору протоколів доступу.
(3) Чому його слід використовувати
LDAP — це відкритий інтернет-стандарт, що підтримує кросплатформенні інтернет-протоколи, широко визнаний у галузі, і більшість продуктів на ринку або в спільноті відкритого коду мають підтримку LDAP, тому для такого типу системи немає потреби налаштовувати окремо, достатньо виконати просту конфігурацію через LDAP для автентифікації та взаємодії з сервером. «Проста і груба» може суттєво знизити вартість повторної розробки та стикування.
Основні продукти LDAP:
| | | | | Зберігання на основі текстової бази даних, швидкість. | | | Бази даних на базі DB2 мають середню швидкість. | | | Зберігання на основі текстових баз даних є швидким і рідко використовується. | | Microsoft Active Directory | За даними користувачів системи WINDOWS, швидкість обробки великих обсягів даних є середньою, але вона легко підтримується, має велику екосистему і відносно проста в керуванні. | | | OpenLDAP — це проєкт з відкритим кодом, який є швидким, але не є масовим додатком. |
Базова модель LDAP
Кожна система і протокол матимуть власну модель, і LDAP не є винятком, перш ніж зрозуміти базову модель LDAP, нам потрібно зрозуміти кілька концепцій дерева каталогів LDAP:
(1) Концепція дерева каталогу
1. Дерево каталогів: У системі сервісів каталогів весь набір інформації каталогу може бути представлений як дерево інформації каталогу, а кожен вузол у дереві є записом.
2. Запис: Кожен запис є записом, і кожен запис має унікальну впізнавану назву (DN).
3. Клас об'єкта: Набір атрибутів, що відповідають типу сутності, клас об'єкта можна успадкувати, щоб необхідні атрибути батьківського класу також були успадковані.
4. Атрибути: Опишіть інформацію про аспект запису, атрибут складається з типу атрибута та одного або кількох значень атрибутів, і атрибути мають обов'язкові та необов'язкові атрибути.
(2) DC, UID, OU, CN, SN, DN, RDN
| | | | | Частина доменного імені поділяється на кілька частин у вигляді повного доменного імені, наприклад, example.com доменне ім'я стає dc=example, dc=com (розташування запису) | | Ідентифікатор користувача | User ID songtao.xu (ID запису) | | | Організаційні одиниці, організаційні одиниці можуть містити різні інші об'єкти (включаючи інші організаційні одиниці), такі як «група oa» (організація, до якої належить запис) | | | Публічні імена, такі як «Thomas Johansson» (назва платівки) | | | Прізвище, наприклад «Сюй» | | | "uid=songtao.xu,ou=oa group,dc=example,dc=com", розташування запису (унікальний) | | | Відносна дискримінація, подібна до відносних шляхів у файловій системі, є частиною структури дерева каталогів, яка не має до неї жодного стосунку, наприклад "uid=tom" або "cn= Thomas Johansson" |
Вступ до OpenLDAP
LDAP — це легкий протокол доступу до каталогів (LDAP), який є реалізацією відкритої централізованої архітектури управління обліковими записами, підтримує багато версій систем і використовується більшістю інтернет-компаній.
LDAP надає та реалізує інформаційний сервіс каталогу — спеціальну систему баз даних, що добре впливає на читання, перегляд і пошук даних. Служби каталогів зазвичай використовуються для зберігання описової інформації на основі атрибутів і підтримки складних функцій фільтрації, але сервіси каталогів OpenLDAP не підтримують складне управління транзакціями або політики відкату, необхідні для великої кількості операцій оновлення загального призначення баз даних.
LDAP має два стандарти: X.500 і LDAP. OpenLDAP базується на стандарті X.500, він усуває складні функції X.500 і може налаштовуватися додатковими розширеннями відповідно до власних потреб, але також існують відмінності від X.500, наприклад, OpenLDAP підтримує протокол TCP/IP тощо, TCP/IP наразі є протоколом доступу до Інтернету в Інтернеті.
OpenLDAP може працювати безпосередньо на простіших і загальних TCP/IP або інших надійних транспортних протоколах, уникаючи накладних витрат на сесійному та презентаційному рівнях OSI, що робить встановлення з'єднання та обробку пакетів простішим і швидшим, що робить його ідеальним для Інтернету та корпоративних мережевих застосунків.
Інформація в каталозі OpenLDAP зберігається у деревоподібній ієрархії (подібно до DNS), а верхній рівень називається «базовим DN», наприклад «dc=mydomain, dc=org» або «o=mydomain.org», перший є більш гнучким і також використовується в Windows AD. Під кореневим каталогом розташовано багато файлів і каталогів, і для логічного розділення цих великих обсягів даних OpenLDAP використовує OU (Organization Unit), як і інші протоколи служби каталогів, які можна застосовувати для представлення внутрішніх організацій компанії, таких як відділи тощо, а також для представлення обладнання, персоналу тощо. Водночас OU також може мати під-OU, які можна використовувати для представлення більш детальних класифікацій.
Кожен запис у OpenLDAP має унікальну назву, яка відрізняє його від інших записів — DN (Distinguished Name), а частина «листка» називається RDN (Relative Identifier of User Entry). Наприклад, cn у dn:cn=tom, ou=animals, dc=ilanni, dc=com — це RDN, і RDN має бути унікальним в OU.
За замовчуванням OpenLDAP використовує Berkeley DB як бекенд-базу даних, а база даних Berkeley DB переважно зберігає дані у вигляді хешованих типів даних, таких як пари ключ-значення.
BerkeleyDB — це спеціальний тип бази даних, оптимізований для запитів і читання, який головним чином використовується для пошуку, перегляду та оновлення операцій із запитами, і загалом має хороший вплив на одночасне записування даних, багаторазове виконання запитів і пошуку. BerkeleyDB не підтримує високий паралельний пропускну здатність і складні транзакційні операції, які підтримуються транзакційними базами даних (MySQL, MariDB, Oracle тощо).
|