Вышла версия 0.3.0 Axia — свободной (Apache 2.0) веб-консоли и REST API для управления LDAP-каталогами. Через браузер можно управлять пользователями, группами, OU и учётными записями компьютеров. Поддерживаются OpenLDAP, Samba AD и Active Directory, а также любой сервер со стандартным LDAP (RFC 4511) поверх LDAPS или StartTLS.
Задача проекта — отдать рутину (заведение учёток, сброс паролей, группы) техподдержке и кадровикам, не раздавая им доступ к каталогу. Консоль работает от имени одной служебной учётной записи с делегированными правами. Права операторов назначаются через группы каталога и могут только сужать полномочия служебной учётки. Изменять учётные записи с бо́льшими правами, чем у самого оператора, нельзя. Все действия, включая отклонённые попытки, пишутся в журнал аудита.
Что нового в 0.3.0:
- поддержка Samba AD; каждое изменение проверяется в CI на живом контроллере домена Samba 4.22;
- PostgreSQL для собственных данных (SQLite остался) и команда
copy-databaseдля переноса между ними; - защищённые группы определяются по SID с учётом вложенности, а не по
adminCount. Samba этот атрибут для новых администраторов не выставляет вообще, так что раньше их пароль мог сбросить любой оператор со сбросом паролей; - API может работать как юнит systemd и раздавать веб-интерфейс сам, без nginx;
- образы для amd64 и arm64 в ghcr.io и Docker Hub;
- исправлено создание пользователей и групп безопасности в AD через универсальный LDAP-провайдер.
Попробовать с тестовым OpenLDAP можно так:
git clone https://github.com/Nelsar/Axia.git && cd Axia && docker compose up
Логины для входа есть в README.
Стек: .NET 10 (ASP.NET Core) и React. Проект молодой (MVP). Пока нет принудительного завершения сеансов (JWT на 60 минут), управления парольными политиками и проверки отзыва сертификатов каталога.
Отдельно интересно, как консоль поведёт себя на нестандартных схемах, на FreeIPA/389 DS и на отечественных доменах на базе Samba. Я этого не проверял, буду рад отчётам.
- Исходники: https://github.com/Nelsar/Axia
- Документация: https://nelsar.github.io/Axia/
- Выпуск 0.3.0: https://github.com/Nelsar/Axia/releases/tag/v0.3.0


