LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один...
Transcript of LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один...
![Page 1: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/1.jpg)
LDAP: туда и обратно
Сергей ПеченкоМосква, 2019
![Page 2: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/2.jpg)
Об авторе
`
• За клавиатурой 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,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/3.jpg)
TL;DR● Истоки
● Почему LDAP?
● Сервер: reOpenLDAP
● Веб-клиент: phpLDAPadmin
LDAP: туда и обратно 3
![Page 4: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/4.jpg)
Истоки
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,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/5.jpg)
Lightweight Directory Access Protocol
LDAP: туда и обратно 5
▪ Древовидная база данных, хранящая контейнеры и объекты
▪ Формат контейнеров, объектов и доступных фильтров для
поиска определяется загруженными схемами
▪ Большинство реализаций оптимизированы для поиска и чтения
▪ Часто используется для хранения информации об
учётных записях и группах пользователей
![Page 6: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/6.jpg)
Занимательные факты
LDAP: туда и обратно 6
▪ LDAP был создан для замены DAP (X.519), потому что тот
оказался слишком сложен в реализации
▪ Существуют штучное число массово используемых реализаций
LDAP-сервера
▪ Существуют клиентские библиотеки как для Top10 языков, так и
для множества менее популярных
▪ Существует несколько вариантов UI
![Page 7: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/7.jpg)
ActiveDirectory▪ Правит миром Windows, является основой доменов.▪ Взаимодействует с массой closed-source компонентов → нерасширяемый
389ds▪ Является основой FreeIPA от RedHat.
OpenLDAP▪ Поставляется со многими дистрибутивами Linux/Unix.
ReOpenLDAP▪ Работает в инфраструктуре мобильного оператора, принимавшего
прошлый митап (по информации от мейнтейнера проекта).
Широко используемые разновидности
LDAP: туда и обратно 7
![Page 8: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/8.jpg)
Почему LDAP?
LDAP: туда и обратно 8
![Page 9: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/9.jpg)
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,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/10.jpg)
Что даёт LDAP Dev’ам?
LDAP: туда и обратно 10
1. Древовидную БД “на вырост” с гибкой подстройкой под задачи
2. Кроссплатформенность
3. Широкий выбор языков, имеющих клиентские компоненты LDAP
4. «Автомагическая» проверка соответствия данных схеме на уровне сервера
![Page 11: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/11.jpg)
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,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/12.jpg)
1. dynlist
2. memberof
3. ppolicy
4. refint
5. syncprov
6. unique
Расширения: личный top
LDAP: туда и обратно 12
![Page 13: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/13.jpg)
1. sudoers2. ssh-pubkey3. ldapns
Полезные cхемы
LDAP: туда и обратно 13
![Page 14: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/14.jpg)
Репликация:
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,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/15.jpg)
Сервер ReOpenLDAP
LDAP: туда и обратно 15
![Page 16: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/16.jpg)
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,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/17.jpg)
Веб-клиент phpLDAPadmin
17
![Page 18: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/18.jpg)
1. Возможность подстройки под бизнес-процессы организации
2. Поддержка работы с атрибутами, требующими уникальности (uid, gid)
3. Поддержка чтения конфигурации непосредственно с сервера
Веб-клиент LDAP
LDAP: туда и обратно 18
![Page 19: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/19.jpg)
Интерфейс - что это?...
LDAP: туда и обратно 19
![Page 20: LDAP: туда и обратно › data › devconf2019 › ppt › 482.pdf · 5. Один протокол и хранилище для разных систем: Windows, macOS,](https://reader033.fdocument.pub/reader033/viewer/2022060405/5f0f35f37e708231d443090c/html5/thumbnails/20.jpg)
Выводы:
LDAP: туда и обратно 20