LDAP
Модель TCP/IP (RFC 1122) |
---|
Прикладний рівень |
Транспортний рівень |
Мережевий рівень |
Канальний рівень |
LDAP (англ. Lightweight Directory Access Protocol — Полегшений протокол доступу до директорій / каталогів) — мережевий протокол прикладного рівня для надсилання запитів та модифікації даних служби каталогів через TCP/IP. LDAP є відкритим, комерційно-нейтральним, (англ. vendor-neutral), промисловим стандартним протоколом. LDAP розроблений IETF як полегшений варіант розробленого ITU-T протоколу DAP.
Короткий опис
LDAP — відносно простий протокол, що використовує TCP/IP і дозволяє проводити операції авторизації (bind), пошуку (search) та порівняння (compare), а також операції додавання, зміни або видалення записів. Зазвичай LDAP-сервер приймає вхідні з'єднання на порт 389 по протоколах TCP або UDP. Для LDAP-сеансів, інкапсульованих в SSL, зазвичай використовується порт 636.
Будь-який запис у каталозі LDAP складається з одного або декількох атрибутів і володіє унікальним / розрізняльним ім'ям (DN - англ. Distinguished Name). Унікальне ім'я може виглядати, наприклад, наступним чином: «cn = Іван Петренко, ou = Співробітники, dc = example, dc = com». Унікальне ім'я складається з одного або декількох відносних унікальних імен (RDN - англ. Relative Distinguished Name), розділених комою. Відносне унікальне ім'я має вигляд ІмяАтрибута = значення. На одному рівні каталогу не може існувати двох записів з однаковими відносними унікальними іменами. В силу цієї структури унікального імені записи в каталозі LDAP можна легко уявити у вигляді дерева.
Запис може складатися тільки з тих атрибутів, які визначені в описі класу запису (object class), які, у свою чергу, об'єднані в схеми (schema). У схемі визначено, які атрибути є для даного класу обов'язковими, а які — необов'язковими. Також схема визначає тип і правила порівняння атрибутів. Кожен атрибут запису може зберігати кілька значень.
Як правило, каталог LDAP реалізується згідно з моделлю X.500: він складається із дерева записів[1], кожне з яких складається із множини іменованих атрибутів зі значеннями. Деякі зі служб підтримують складнішу модель «ліс», але більшість мають лише один початковий запис.
Залежно від обраної моделі, LDAP-каталог часто віддзеркалює різноманітні політичні, географічні, та (або) організаційні регіони. Встановлені LDAP-системи схиляються до використання доменних імен (DNS) для структурування найвищих рівнів ієрархії. На нижчих рівнях в каталозі можуть бути записи, які відповідають людям, організаційним підрозділам, принтерам, документам, групам людей, або будь чому іншому, що представляє даний запис, або множину записів в каталозі.
Остання версія протоколу — LDAPv3. Стандарт LDAPv3 визначено в низці документів IETF, як описано в RFC 4510.
Структура каталогів
Протокол надає інтерфейс з каталогами, які відповідають стандарту X.500 видання 1993 р.:
- Запис складається з набору атрибутів.
- Атрибут має ім'я, яке може бути типом атрибута (attribute type) або описом (фактично скороченою назвою) атрибута (attribute description), і одне або кілька значень. Атрибути визначені в схемі.
- Кожен запис має унікальний ідентифікатор: його розрізняльне ім'я (Distinguished Name — DN). Воно складається з одного чи декількох відносних розрізняльних імен (Relative Distinguished Name — RDN), утворених з одного чи декількох атрибутів в запису. Можна уявити DN як повний шлях до файлу і RDN як ім'я файлу в батьківській папці (наприклад, якщо
/foo/bar/myfile.txt
є DN, тоmyfile.txt
буде RDN). Добре DN і RDN пояснено тут.
Про опис атрибута йдеться в третьому розділі RFC 4514:
Implementations MUST recognize AttributeType name strings (descriptors) listed in the following table, but MAY recognize other name strings. (Реалізації ПОВИННІ розпізнавати рядки назв AttributeType (дескрипторів), перелічених в наступній таблиці, але МОЖУТЬ розпізнавати й інші назви рядків.) String X.500 AttributeType ------ -------------------------------------------- CN commonName (2.5.4.3) L localityName (2.5.4.7) ST stateOrProvinceName (2.5.4.8) O organizationName (2.5.4.10) OU organizationalUnitName (2.5.4.11) C countryName (2.5.4.6) STREET streetAddress (2.5.4.9) DC domainComponent (0.9.2342.19200300.100.1.25) UID userId (0.9.2342.19200300.100.1.1)
Подану вище таблицю можна оформити так:
(Скорочена) назва | Атрибут X.500 | Ідентифікатор об'єкта (OID) |
---|---|---|
CN | commonName | 2.5.4.3 |
L |
localityName | 2.5.4.7 |
ST | stateOrProvinceName | 2.5.4.8 |
O | organizationName | 2.5.4.10 |
OU | organizationalUnitName | 2.5.4.11 |
C | countryName | 2.5.4.6 |
STREET | streetAddress | 2.5.4.9 |
DC | domainComponent | 0.9.2342.19200300.100.1.25 |
UID | userId | 0.9.2342.19200300.100.1.1 |
Назви (імена) атрибутів у формі тип атрибута і опис атрибута наведені та описані в RFC 4519.
Історія виникнення
Телекомунікаційні компанії впровадили концепцію служби каталогів до інформаційних технологій та комп'ютерних мереж так як вони розуміли, на підставі свого 70-річного досвіду роботи з телефонними каталогами. Це вилилося у специфікації X.500 (набору протоколів розробленого ITU у 1980 роках). X.500 служби каталогів були доступні через X.500 протокол доступу до каталогів (англ. Directory Access Protocol — DAP), який використовував Open Systems Interconnection (OSI) стек протоколів. Розробка LDAP мала на меті полегшити доступ до X.500 служби каталогів через простіший стек протоколів TCP/IP.
Примітки
- ↑ ITU-T Recommendation X.500 (11/08) "Information technology – Open Systems Interconnection – The Directory: Overview of concepts, models and services", зокрема Figure 2 – Structure of the DIT and of entries
Посилання
RFCи
Цей розділ у процесі редагування певний час. Будь ласка, не редагуйте його, бо Ваші зміни можуть бути втрачені. Ви можете працювати над іншими розділами. Якщо цей розділ не редагувався кілька днів, будь ласка, приберіть цей шаблон. Це повідомлення призначене для уникнення конфліктів редагування. Останнє редагування зробив користувач Володимир Ф (внесок, журнали) о 14:03 UTC (5109042 хвилини тому). |
LDAP описується в серії Request for Comments документів:
- RFC 4510 - LDAP: Technical Specification Road Map (LDAP: Дорожня карта (путівник) технічних характеристик) (Obsoletes (замінює застарілі): RFC 2251, RFC 2252, RFC 2253, RFC 2254, RFC 2255, RFC 2256, RFC 2829, RFC 2830, RFC 3377, RFC 3771)
- RFC 4511 - LDAP: The Protocol (Протокол) (Obsoletes RFC 2251, RFC 2830 & RFC 3771)
- RFC 4512 - LDAP: Directory Information Models (Моделі вмісту каталогу) (Obsoletes RFC 2251, RFC 2252, RFC 2256 & RFC 3674)
- RFC 4513 - LDAP: Authentication Methods and Security Mechanisms (Методи автентифікації і механізми безпеки) (Obsoletes RFC 2251, RFC 2829 & RFC 2830)
- RFC 4514 - LDAP: String Representation of Distinguished Names (Рядкове пред'явлення розрізняльних імен) (Obsoletes RFC 2253)
- RFC 4515 - LDAP: String Representation of Search Filters (Рядкове пред'явлення фільтрів пошуку) (Obsoletes RFC 2254)
- RFC 4516 - LDAP: Uniform Resource Locator (Універсальний локатор ресурсу) (Obsoletes RFC 2255)
- RFC 4517 - LDAP: Syntaxes and Matching Rules (Синтаксис і правила відповідності) (Obsoletes RFC 2252 & RFC 2256, Updates (оновлює) RFC 3698)
- RFC 4518 - LDAP: Internationalized String Preparation (Інтернаціоналізована підготовка рядків)
- RFC 4519 - LDAP: Schema for User Applications (Схема для користувацьких застосунків/додатків) (Obsoletes RFC 2256, Updates RFC 2247, RFC 2798 & RFC 2377)
Наступні RFCи детально описують LDAP-специфічні найкращі існуючі практики/технічні прийоми:
- RFC 4520 (also (також) BCP 64) - Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP) (Адміністрації адресного простору Інтернет (IANA) рекомендації/міркування для полегшеного протоколу служби каталогів (LDAP)) (replaced (замінений) RFC 3383)
- RFC 4521 (also BCP 118) - Considerations for Lightweight Directory Access Protocol (LDAP) Extensions (Рекомендації щодо розширень полегшеного протоколу служби каталогів (LDAP))
Неповний список RFCів, які визначають розширення LDAPv3:
- RFC 2247 - Use of DNS domains in distinguished names (Використання DNS доменів в розрізняльних іменах) (Updated by RFC 4519 & RFC 4524)
- RFC 2307 - Using LDAP as a Network Information Service (Використання LDAP як Інформаційної служби мережі)
- RFC 2589 - LDAPv3: Dynamic Directory Services Extensions (Розширення служби динамічного каталогу)
- RFC 2649 - LDAPv3 Operational Signatures (LDAPv3 Операційні підписи)
- RFC 2696 - LDAP Simple Paged Result Control (LDAP Простий сторінковий контроль результатів)
- RFC 2798 - inetOrgPerson LDAP Object Class (inetOrgPerson клас об'єкта LDAP) (Updated by (Оновлений в) RFC 3698, RFC 4519 & RFC 4524)
- RFC 2830 - LDAPv3: Extension for Transport Layer Security (LDAPv3: Розширення для безпеки на транспортному рівні)
- RFC 2849 - The LDAP Data Interchange Format (LDIF) (Формат обміну даними LDAP (LDIF))
- RFC 2891 - Server Side Sorting of Search Results (Серверна частина/сторона сортування результатів пошуку)
- RFC 3045 - Storing Vendor Information in the LDAP root DSE (Збереження інформації про виробника в кореневих DSE LDAP)
- RFC 3062 - LDAP Password Modify Extended Operation (Розширена операція зміни пароля в LDAP)
- RFC 3296 - Named Subordinate References in LDAP Directories (Іменовані підлеглі посилання в LDAP каталогах)
- RFC 3671 - Collective Attributes in LDAP (Колективні/спільні атрибути в LDAP)
- RFC 3672 - Subentries in LDAP (Підзаписи в LDAP)
- RFC 3673 - LDAPv3: All Operational Attributes (LDAPv3: Всі операційні атрибути)
- RFC 3687 - LDAP Component Matching Rules (LDAP Компонент правил відповідності)
- RFC 3698 - LDAP: Additional Matching Rules (LDAP: Додаткові правила відповідності)
- RFC 3829 - LDAP Authorization Identity Request and Response Controls (Авторизація запитів ідентифікації і відповіді управління)
- RFC 3866 - Language Tags and Ranges in LDAP (Мовні теги і діапазони в LDAP)
- RFC 3909 - LDAP Cancel Operation (LDAP Операція скасування)
- RFC 3928 - LDAP Client Update Protocol (LCUP) (Клієнтський протокол оновлень)
- RFC 4370 - LDAP Proxied Authorization Control (Доручений контроль авторизації)
- RFC 4373 - LDAP Bulk Update/Replication Protocol (LBURP) (Протокол масового оновлення/реплікації)
Тимчасовий розділ для зручності редагування
- RFC 4403 - LDAP Schema for UDDI
- RFC 4522 - LDAP: Binary Encoding Option
- RFC 4523 - LDAP: X.509 Certificate Schema
- RFC 4524 - LDAP: COSINE Schema (replaces RFC 1274)
- RFC 4525 - LDAP: Modify-Increment Extension
- RFC 4526 - LDAP: Absolute True and False Filters
- RFC 4527 - LDAP: Read Entry Controls
- RFC 4528 - LDAP: Assertion Control
- RFC 4529 - LDAP: Requesting Attributes by Object Class
- RFC 4530 - LDAP: entryUUID
- RFC 4531 - LDAP Turn Operation
- RFC 4532 - LDAP Who am I? Operation
- RFC 4533 - LDAP Content Sync Operation
- RFC 4876 - Configuration Profile Schema for LDAP-Based Agents
- RFC 5020 - LDAP entryDN Operational Attribute
LDAPv2 was specified in the following RFCs:
- RFC 1777 - Lightweight Directory Access Protocol (replaced RFC 1487)
- RFC 1778 - The String Representation of Standard Attribute Syntaxes (replaced RFC 1488)
- RFC 1779 - A String Representation of Distinguished Names (replaced RFC 1485)
LDAPv2 was moved to historic status by the following RFC:
- RFC 3494 - Lightweight Directory Access Protocol version 2 (LDAPv2) to Historic Status
Це незавершена стаття про телекомунікації. Ви можете допомогти проєкту, виправивши або дописавши її. |