Использование Active Directory для Kerberos
Основные понятия, используемые в Kerberos LDAP:
-
Active Directory — база данных и набор служб, которые соединяют пользователей с необходимыми сетевыми ресурсами.
-
LDAP-сервер — иерархическая база данных, служба каталогов, основанная на Active Directory, применяется для централизованного хранения учетных записей. Учетные данные включают в себя принципалы, по которым происходит проверка валидности пользователя в Kerberos.
-
LDAP — протокол прикладного уровня для доступа к службе каталогов Active Directory, используется при керберизации кластера для заведения принципалов пользователей.
-
LDAPS — активация LDAP с применением протокола SSL/TLS для создания безопасного трафика. Создание паролей для пользователей ADQM с учетными записями в Active Directory при керберизации кластера возможно только с применением LDAPS.
-
Key Distribution Center (KDC) — компонент системы управления доступом, отвечающий за обслуживание запросов пользователей на доступ к ресурсам путем предоставления тикетов доступа и сеансовых ключей. Использует Active Directory в качестве базы данных учетных записей.
-
DN (Distinguished Name) — учетная запись в Active Directory. DN должно быть уникальным в пределах дерева. В DN описывается содержимое атрибутов в дереве (путь навигации) для доступа к конкретной записи.
DN состоит из серии RDN (Relative Distinguished Names), определяемых путем перемещения вверх по дереву в направлении его корневой записи. RDN записываются слева направо.
Подготовка к запуску Active Directory на кластере ADQM
-
Настройте сервер Active Directory (LDAP-сервер).
-
Создайте учетную запись пользователя для подключения кластера к LDAP-серверу по протоколу LDAP.
-
Создайте сертификат для пользователя, активировав протокол LDAP через протокол SSL с использованием стороннего центра сертификации.
-
Установите пароль для учетной записи.
-
Привяжите к учетной записи имя принципала пользователя (например,
ad_admin@EXAMPLE.COM
) и сформируйте файл keytab с этими принципалом и ключами.
Включение Active Directory на кластере ADQM
Для керберизации кластера с помощью Active Directory выполните описанные ниже шаги:
-
В интерфейсе ADCM на странице Clusters выберите установленный и подготовленный кластер ADQM.
-
Инициируйте включение Kerberos для кластера — нажмите на иконку Actions и выберите действие Manage Kerberos.
Включение Kerberos в кластере ADQM -
В открывшемся окне включите опцию Existing Active Directory и укажите параметры Active Directory в соответствии со значениями, установленными при настройке LDAP-сервера.
Параметры Active Directory -
Нажмите Run и дождитесь завершения керберизации. Процесс и результат выполнения задачи Manage Kerberos отображается на странице Jobs.
После того, как Kerberos успешно установлен на кластере ADQM, соответствующие настройки Kerberos появятся на странице конфигурации кластера (секция Kerberos) и сервиса ADQMDB (секция Kerberos configuration).
Kerberos-параметры Active Directory
Следующая таблица содержит описания параметров, необходимых для керберизации кластера ADQM с помощью Active Directory.
Параметр | Описание |
---|---|
KDC hosts |
Адрес сервера KDC (при керберизации c применением LDAP этот адрес совпадает с адресом LDAP-сервера) |
Realm |
Область для аутентификации в Kerberos |
Kadmin server |
Адрес сервера, на котором установлена система администрирования Kerberos (часто этот адрес совпадает с адресом сервера KDC) |
Kadmin principal |
Имя принципала пользователя, созданного для подключения кластера к Active Directory с правами создания пользователей и групп в контейнере Container DN |
Kadmin password |
Пароль принципала пользователя Kadmin principal |
Admin DN |
Учетная запись в Active Directory для пользователя, используемого для подключения кластера к Active Directory |
LDAP URL |
Адрес LDAP-сервера ( |
Container DN |
DN контейнера, где хранятся сервисные принципалы |
TLS CA certificate Path (опционально) |
Локальный путь, по которому на всех хостах кластера хранится сертификат CA для пользователя Admin DN (если сертификат актуальный, параметр TLS CA certificate указывать не нужно) |
TLS CA certificate (опционально) |
Содержимое сертификата CA для пользователя Admin DN, которое запишется на хост в файл по пути, указанному в TLS CA certificate Path |
Проверка аутентификации пользователя через Kerberos
После успешной керберизации выполнение ADQM-команд на узлах кластера возможно только после получения соответствующего тикета Kerberos. Ниже приведен пример доступа к кластеру, керберизованному с помощью Active Directory:
-
Создайте пользователя ADQM, который имеет запись в базе данных службы каталогов Active Directory и принципал для заданной области (realm). Для этого используйте выражение
IDENTIFIED WITH kerberos
в запросеCREATE USER
:CREATE USER adqm_kerb_ad IDENTIFIED WITH kerberos;
-
Создайте для принципала пользователя тикет Kerberos:
$ kinit -V adqm_kerb_ad@EXAMPLE.COM
Введите пароль:
Password for adqm_kerb_ad@EXAMPLE.COM:
Опции команды
kinit
описаны в статье kinit документации MIT Kerberos. -
Проверьте тикет:
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: adqm_kerb_ad@EXAMPLE.COM Valid starting Expires Service principal 05/05/2023 09:05:36 05/06/2023 09:05:36 krbtgt/EXAMPLE.COM@EXAMPLE.COM
-
Для проверки аутентификации через Kerberos отправьте в ADQM тестовую команду, используя утилиту
curl
с поддержкой механизма SPNEGO:$ echo "select currentUser()" | curl --negotiate -u : http://<host_name>:8123/ --data-binary @-
Вывод на экран при успешной аутентификации:
adqm_kerb_ad