LDAP для учёных-ракетчиков

Данное открытое руководство о LDAP, OpenLDAP 2.x и ApacheDS на Linux и BSD (FreeBSD, OpenBSD и NetBSD). Оно предназначено для новичков, тех, кто собирается стать учёными-ракетчиками, и всех тех, кто находится между ними.

LDAP — сложный предмет. Данное руководство родилось из наших жалких попыток понять LDAP, поскольку он обещал настоящую нирвану — общий источник информации, неограниченную масштабируемость путём использования модели репликации, врождённую устойчивость, высокоскоростное получение данных, детальный контроль над тем, кто, что и с какими данными может сделать — этот список можно продолжать. Чудесная вещь!

На этом хорошие новости заканчиваются.

Плохая новость заключается в том, что, по нашему скромному мнению, никогда не было написано так много непонятного об одном предмете, за исключением, пожалуй, BIND и ... и ещё ... Есть бесчисленные отличные HOWTO, разбросанные по Интернету, которые прекрасны, если Вам нужно тактическое решение частной проблемы, и Вы готовы смириться со смутным неприятным чувством, что полностью зависите от чего-то такого, чего на самом деле не понимаете. Нам не нужно тактическое решение, нам было нужно стратегическое решение целого комплекса проблем, каждая из которых кажется идеально предназначенной для LDAP, но нам нужно было понять предмет ... нам нужно было WHYTO. Эта и есть наша, — возможно, жалкая, — попытка создать его.

Давным-давно OpenLDAP был единственной звездой на небосклоне Open Source LDAP. Он до сих пор считается эталонной реализацией LDAP и остается отличной системой с большим количеством реализованных возможностей, активно развивающейся и необыкновенно комплексной, что позволяет использовать его для решения нетривиальных задач. Однако, это уже не единственная звезда на небосклоне. Теперь есть 389 Directory Server (бывший Fedora Directory Server), другая производная от проекта Мичиганского Университета, OpenDS — оригинальная реализация на Java от Sun (сейчас под заботливым присмотром Oracle), и проект ApacheDS (Apache Directory). Всё это чудесные проекты, и, вместе с OpenLDAP, они ошеломляют обилием продвинутых возможностей и функциональности в пространстве Open Source LDAP. Некоторые заметки об этих проектах и наши о них рассуждения Вы найдете здесь, если, конечно, Вас интересуют подобного рода вещи.

Во все будущие версии данного руководства будет постепенно добавляться материал, описывающий использование ApacheDS, при этом документирование OpenLDAP будет продолжено.

<Предупреждение> Эта работа ещё далека от завершения. Если Вы нашли ошибку — не ворчите, сообщите нам. Посмотрите также наш список доработок, и если Вы хотите внести вклад — милости просим. И за этот тяжкий труд мы можем пообещать Вам лишь тёплые чувства нашего доброго отношения и признание Ваших заслуг в лицензии. </Предупреждение>

Содержание

Что нового в Руководстве версии 0.1.18

1. Соглашения и терминология

  1. 1.1 Цели и сфера применения
  2. 1.2 Как читать данное руководство
  3. 1.3 Используемая терминология и условные обозначения
  4. 1.4 Благодарности
  5. 1.5 Авторские права и лицензия

Раздел 1 — Обзор и концепции

2. Обзор LDAP

  1. 2.1 Краткая история LDAP
  2. 2.2 Обзор LDAP
  3. 2.3 LDAP и базы данных
    1. 2.3.1 Использование LDAP — резюме
  4. 2.4 Модель данных (объектная модель) LDAP
    1. 2.4.1 Структура дерева объектов
    2. 2.4.2 Объектные классы
    3. 2.4.3 Атрибуты
    4. 2.4.4 Описание дерева путём добавления данных
    5. 2.4.5 Навигация по дереву (DN и RDN)
  5. 2.5 Отсылки и репликация LDAP
    1. 2.5.1 Отсылки
    2. 2.5.2 Репликация

3. Схема данных, объектные классы и атрибуты LDAP

  1. 3.1 Обзор элементов LDAP
  2. 3.2 Наборы схемы данных
  3. 3.3 Объектные классы
  4. 3.4 Атрибуты
  5. 3.5 Правила соответствия
  6. 3.6 Операционные атрибуты и объекты LDAP

Раздел 2 — Поехали!

4. Установка LDAP

4.1 Установка LDAP
4.2 OpenLDAP на *NIX и Windows
4.3 ApacheDS на *NIX и Windows

5. Примеры конфигураций OpenLDAP

5.1 Простой каталог

5.1.1 Проектирование DIT
5.1.2 Выбор структурного объектного класса
5.1.3 Файл slapd.conf
5.1.4 Файл LDIF
5.1.5 Загрузка LDIF-файла
5.1.6 Добавление записей с помощью LDIF
5.1.7 Изменение записей с помощью LDIF
5.1.8 Напоследок просто подурачимся

5.2 Защита каталога

5.2.1 Политика безопасности
5.2.2 Добавление групп
5.2.3 ACL — директивы access файла slapd.conf
5.2.4 Тестирование ACL

5.3 Расширение иерархии

5.3.1 Расширение требований
5.3.2 Реализация расширения
5.3.3 LDIF для реализации расширения
5.3.4 ACL — директивы access файла slapd.conf
5.3.5 Тестирование ACL

5.4 Создание и добавление объектов

5.4.1 Требования
5.4.2 Реализация
5.4.3 Определения атрибутов
5.4.4 Определение объектного класса и набора схемы
5.4.5 ACL — директивы access файла slapd.conf
5.4.6 LDIF
5.4.7 Тестирование изменений

5.5 Технология единого входа (Single Sign On)
5.6 Отсылки и репликация

6. Конфигурационные файлы

6.1 Обзор slapd.conf
6.1.1 Использование OLC (cn=config)
6.1.1.1 Обзор OLC (cn=config)
6.1.1.2 Переконвертация slapd.conf в OLC (cn=config)
6.1.1.3 Макет OLC (cn=config)
6.1.1.4 Использование OLC (cn=config) (чтение, модификация)
6.1.1.4.1 Общие замечания по конфигурации OLC (cn=config)
6.1.1.4.2 Добавление/удаление наборов схемы данных при использовании OLC (cn=config)
6.1.1.4.3 Добавление/удаление ACP/ACL при использовании OLC (cn=config)
6.1.1.4.4 Добавление/удаление модулей при использовании OLC (cn=config)
6.1.1.4.5 Добавление/удаление баз данных при использовании OLC (cn=config)
6.1.1.4.6 Добавление/удаление наложений при использовании OLC (cn=config)
6.2 Список директив (OLC (cn=config) и slapd.conf)
6.3 Директивы глобального раздела (OLC (cn=config) и slapd.conf)
6.3.1 Директивы TLS (OLC (cn=config) и slapd.conf)
6.4 Директивы раздела backend (OLC (cn=config) и slapd.conf)
6.5 Директивы раздела database (OLC (cn=config) и slapd.conf)
6.5.1 Директивы overlay (OLC (cn=config) и slapd.conf)
6.6 Директивы ldap.conf
6.7 Конфигурация ApacheDS

7. Репликация и отсылки

7.1 Обзор репликации и отсылок
7.2 Репликация
7.2.1 Репликация OpenLDAP
7.2.1.1 Репликация OpenLDAP в стиле slurpd
7.2.1.1.1 Ошибки при репликации OpenLDAP в стиле slurpd
7.2.1.2 Репликация OpenLDAP в стиле syncrepl
7.2.1.2.1 Тип RefreshOnly репликации syncrepl в OpenLDAP
7.2.1.2.2 Тип RefreshAndPersist репликации syncrepl в OpenLDAP
7.2.1.2.3 Репликация syncrepl с несколькими главными серверами (Multi-Master) в OpenLDAP
7.2.1.2.4 Журналы доступа и delta-синхронизация при репликации syncrepl в OpenLDAP
7.2.2 Репликация ApacheDS
7.3 Синхронизация DIT перед запуском репликации в стиле slurpd
7.3 Синхронизация DIT перед запуском репликации в стиле syncrepl
7.4 Отсылки
7.4.1 Сцепление при отсылках

Раздел 3 — Справочная

8. LDIF и DSML

8.1 Обзор LDIF
8.2 Формат и директивы LDIF

8.2.1 Формат файла LDIF

8.2.1.1 Терминология LDIF и типы строк
8.2.1.2 Пример LDIF

8.2.2 Директивы LDIF

8.2.2.1 Директива add
8.2.2.2 Директива attributename
8.2.2.3 Директива changetype
8.2.2.4 Директива control
8.2.2.5 Директива delete
8.2.2.6 Директива deleteoldrdn
8.2.2.7 Директива dn
8.2.2.8 Директива newrdn
8.2.2.9 Директива newsuperior
8.2.2.10 Директива objectclass
8.2.2.11 Директива replace
8.2.2.12 Директива version

8.3 Обработка двоичных данных (включая пароли) в LDIF
8.4 Импорт файлов LDIF
8.5 Примеры LDIF
8.6 DSML

9. Функциональная модель LDAP

9.4 LDAP URL

10. LDAP API

Раздел 4 — Операции OpenLDAP

11. OpenLDAP HowTo

Конфигурирование нескольких DIT в OpenLDAP
Настройка отсылок в OpenLDAP
Настройка сцепления при отсылках в OpenLDAP
Настройка репликации в стиле slurpd в OpenLDAP
Настройка репликации в стиле syncrepl в OpenLDAP
Настройка delta-синхронизации (syncrepl) в OpenLDAP
Настройка и использование cn=config в OpenLDAP
Замечания по запуску/установке OpenLDAP
Замечания о наложениях в OpenLDAP (или как заставить это работать)
Переход к OLC (cn=config) в OpenLDAP
Использование OLC (cn=config)
Конфигурирование групп пользователей в OpenLDAP

12. Ошибки и устранение неисправностей OpenLDAP

13. Производительность OpenLDAP

14. Инструменты LDAP

Инструменты OpenLDAP

ldapadd — добавление LDIF-записи в каталог LDAP
ldapauth — добавление LDIF-записи в каталог LDAP
ldapdelete — удаление LDAP-записи
ldapmodify — модификация существующих записей LDAP
ldapmodrdn — модификация DN записи LDAP
ldappasswd — модификация пароля записи
ldapsearch — поиск записей LDAP
ldapwhoami — выполнение LDAP-операции Who Am I на сервере
slapacl — проверка доступа к атрибутам путём изучения конфигурации DIT
slapadd — добавление записи LDAP в базу данных
slapauth — проверка данных SASL на соответствие с DIT
slapcat — экспорт LDIF из базы данных LDAP
slapdn — проверка DN на соответствие конфигурации DIT
slapindex — переиндексация базы данных LDAP
slappasswd — генерация пароля
slaptest — проверка файла slapd.conf или директории cn=config (slapd.d)

LDAP-браузеры

LDAPBrowser/Editor — некоторые заметки по использованию

Инструменты ApacheDS

Инструменты ApacheDS — инструменты и утилиты

Раздел 5 — Безопасность LDAP

15. Безопасность LDAP

  1. 15.1 Обзор безопасности OpenLDAP
  2. 15.4 Настройка TLS/SSL в OpenLDAP

Приложения: Ресурсы

  1. Приложение A: Заметки и пояснения к LDAP
  2. Приложение B: Ресурсы LDAP
  3. Приложение C: LDAP RFC и документация
  4. Приложение D: Глоссарий LDAP
  5. Приложение E: Наборы схемы данных, объектные классы и атрибуты LDAP

Технологическая информация о книге

Список доработок — что ещё нужно сделать

Журнал изменений



Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.

Нашли ошибку в переводе? Сообщите переводчикам!

Copyright © 1994-2017 ZyTrax, Inc. Все права защищены. Последнее изменение страницы: 16 ноября 2016 г.
Переведено участниками проекта Pro-LDAP.ru в 2011-2017 г.