ldap: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один...

21
LDAP: туда и обратно Сергей Печенко Москва, 2019

Upload: others

Post on 27-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

LDAP: туда и обратно

Сергей ПеченкоМосква, 2019

Page 2: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Об авторе

`

• За клавиатурой 27й год

• Оберегаю разные production’ы с 2013

• Изучаю и воплощаю DevOps-практики с 2014

• @tnt4brain

• @ru_gitlab/@ru_logs/@ru_ldap/@pro_ansible

• bantu.ru

LDAP: туда и обратно 2

Page 3: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

TL;DR● Истоки

● Почему LDAP?

● Сервер: reOpenLDAP

● Веб-клиент: phpLDAPadmin

LDAP: туда и обратно 3

Page 4: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Истоки

One Ring to rule them all,One Ring to find them,One Ring to bring them allAnd in the Darkness bind them.

LDAP: туда и обратно 4

Page 5: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Lightweight Directory Access Protocol

LDAP: туда и обратно 5

▪ Древовидная база данных, хранящая контейнеры и объекты

▪ Формат контейнеров, объектов и доступных фильтров для

поиска определяется загруженными схемами

▪ Большинство реализаций оптимизированы для поиска и чтения

▪ Часто используется для хранения информации об

учётных записях и группах пользователей

Page 6: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Занимательные факты

LDAP: туда и обратно 6

▪ LDAP был создан для замены DAP (X.519), потому что тот

оказался слишком сложен в реализации

▪ Существуют штучное число массово используемых реализаций

LDAP-сервера

▪ Существуют клиентские библиотеки как для Top10 языков, так и

для множества менее популярных

▪ Существует несколько вариантов UI

Page 7: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

ActiveDirectory▪ Правит миром Windows, является основой доменов.▪ Взаимодействует с массой closed-source компонентов → нерасширяемый

389ds▪ Является основой FreeIPA от RedHat.

OpenLDAP▪ Поставляется со многими дистрибутивами Linux/Unix.

ReOpenLDAP▪ Работает в инфраструктуре мобильного оператора, принимавшего

прошлый митап (по информации от мейнтейнера проекта).

Широко используемые разновидности

LDAP: туда и обратно 7

Page 8: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Почему LDAP?

LDAP: туда и обратно 8

Page 9: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

1. Единую точку хранения и управления

2. Возможность поэтапного расширения схемы хранимых данных

3. Возможность хранения и модификации конфигурации базы её же

штатными средствами

4. Лёгкую реализацию HA как вида «master-slave», так и «master-master»

5. Один протокол и хранилище для разных систем: Windows, macOS, Linux,

Solaris, FreeBSD

6. Мощную систему контроля прав доступа с точностью до атрибута

7. LDIF: инструментарий для поддержки IaaC

8. Ссылки (referrals), раскрываемые как клиентами, так и сервером

Что даёт LDAP Ops’ам?

LDAP: туда и обратно 9

Page 10: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Что даёт LDAP Dev’ам?

LDAP: туда и обратно 10

1. Древовидную БД “на вырост” с гибкой подстройкой под задачи

2. Кроссплатформенность

3. Широкий выбор языков, имеющих клиентские компоненты LDAP

4. «Автомагическая» проверка соответствия данных схеме на уровне сервера

Page 11: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

1. LDAP-суффикс = домен компании: dc=bantu,dc=ru

2. УЗ суперадмина - вне ветви, хранящей УЗ пользователей

3. УЗ синхронизации - там же

4. Однородные объекты собираем в свои «ou»

5. RFC2307 читать обязательно!

Создание и наполнение дерева: читы

LDAP: туда и обратно 11

Page 12: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

1. dynlist

2. memberof

3. ppolicy

4. refint

5. syncprov

6. unique

Расширения: личный top

LDAP: туда и обратно 12

Page 14: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Репликация:

LDAP: туда и обратно 14

dn: olcDatabase={1}mdb,cn=config

olcSyncrepl: {0}rid=001

bindmethod=simple

binddn="cn=frodo,dc=bantu,dc=ru"

credentials="secret"

provider="ldap://<master>:389"

retry="5 100 60 +"

rid="000"

searchbase="dc=bantu,dc=ru"

type=refreshAndPersist

attrs="*,+"

dn: olcOverlay={0}syncprov,olcDatabase={1}mdb,cn=config

objectClass: olcOverlayConfig

objectClass: olcSyncProvConfig

olcOverlay: {0}syncprov

olcSpCheckpoint: 50 5

olcSpSessionLog: 100

olcSpReloadHint: TRUE

Page 15: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Сервер ReOpenLDAP

LDAP: туда и обратно 15

Page 16: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

1. Форк OpenLDAP: https://github.com/leo-yuriev/ReOpenLDAP, совместимая

по API/протоколу замена

2. Master-master, достаточно надёжный, чтобы работать в серьёзном prod’е

3. 9 issues… OH WAIT!!!…

4. Made in Russia

Реализация LDAP-сервера

LDAP: туда и обратно 16

Page 17: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Веб-клиент phpLDAPadmin

17

Page 18: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

1. Возможность подстройки под бизнес-процессы организации

2. Поддержка работы с атрибутами, требующими уникальности (uid, gid)

3. Поддержка чтения конфигурации непосредственно с сервера

Веб-клиент LDAP

LDAP: туда и обратно 18

Page 19: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Интерфейс - что это?...

LDAP: туда и обратно 19

Page 20: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Выводы:

LDAP: туда и обратно 20

Page 21: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,

Спасибоза внимание!

[email protected]