ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021)

Материал из 0x1.tv

Докладчик
Дмитрий Дегтярев.jpg
Дмитрий Дегтярев

В докладе описывается приложение ADMC — инструмент для администрирования доменом Active Directory. Объясняется мотивация для разработки и отношение проекта к существующим решениям.

Видео

Презентация

ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021).pdf

Thesis

Задача

ADMC (Active Directory Management Console) это часть проекта интеграции групповых политик в ALT Linux. Для полноценного внедрения групповых политик требуется возможность администрирования доменом. Администрирование домена заключается в двух типах операций: просмотр и редактирование информации об объектах в домене. Просмотр информации включает в себя просмотр объектов, детей объектов, поиск объектов и просмотр атрибутов объекта. Редактирование информации включает в себя создание объектов, редактирование свойств объектов, перемещение объектов и т. д.

ADMC/ADUC

В Windows есть аналогичная программа ADUC (Active Directory Users and Computers) и ADMC разрабатывается в первую очередь как замещение этой программы. Это создаёт определённые ограничения для разработки, кратко: «ADMC должен быть таким же, как ADUC, но лучше». ADMC обязательно должен быть похожим по двум причинам. Во-первых, большинство будущих пользователей используют или пользовались ADUC. Это значит что у них сформировались определённые ожидания и привычки и им будет удобнее пользоваться ADMC если он будет похож на ADUC. Во-вторых, ADUC был выпущен в 2000 году, развивается давно, и до сих пор имеет большую базу пользователей. Следовательно, дизайн ADUC содержит много хороших идей проверенных временем. Поэтому в ADMC реализуется большая часть дизайна ADUC с некоторыми дополнениями и улучшениями.

Реализация

Сложность этого проекта заключается в том, что ADUC является частью экосистемы Windows и его исходный код полностью закрыт. Также, ADUC использует Windows специфичные библиотеки и фреймворки, которые также полностью закрыты. В Linux есть альтернативы для некоторых частей: Qt, OpenLDAP, libkrb5 и другие. Для многих других функций альтернатив в Linux нет. Две самые большие части, которые нам пришлось реализовать самостоятельно, это Active Directory Services Interfaces (ADSI) и Microsoft Management Console (MMC).

Внешний вид главного окна приложения.
Внешний вид главного окна приложения.

ADSI содержит в себе много функций для работы с доменом которые более удобны чем простые LDAP запросы. Грубо говоря, с помощью ADSI вы можете просто вызвать C++ функцию, которая изменит пароль пользователя. В OpenLDAP такой функции нет и вам нужно будет написать её самостоятельно. Как это сделать правильно тоже придётся узнавать самим. Замещение ADSI в ADMC называется AdInterface.

MMC — это платформа для создания приложений администрирования в Windows. Многое из того что есть в MMC, доступно в Qt, но самой главной части которая называется «Консоль» в Qt нет. Консоль это супер-виджет включающий в себя почти всё что нужно типичному приложению для администрирования. В ней есть готовое дерево объектов и лист детей, меню бар и «Action» меню которое показывает операции для выбранного объекта. Консоль получилось сделать из частей из Qt, но с большим трудом потому-что функционал виджета консоли очень отличается от обычных Qt виджетов. Замещение консоли в ADMC называется ConsoleWidget.

Статус

На данный момент, в ADMC реализована большая часть функционала. Дальнейшая разработка включает в себя тестирование, визуальный дизайн. Также требуется доработка отдельных функций, таких как закладка «Безопасность» в диалоге свойств, диалог поиска и другие. Текущая версия приложения 0.6.2 и разработка ведётся активно. Пакет приложения входит в пакетную базу ALT Linux.

ADMC — графическое приложение для администрирования домена Active Directory (Дмитрий Дегтярев, OSSDEVCONF-2021)!.jpg

Примечания и ссылки


Plays:1   Comments:0