Керберизация с предустановленной Active Directory при отсутствии прав администратора
Подготовка хостов кластера
-
Проверьте, что кластер ADH установлен и не имеет ошибок.
-
Добавьте файл krb5.conf в директорию /etc/. Это можно сделать самостоятельно, но также можно запустить действие Manage Kerberos с выбранной опцией Existing Active Directory и установленным флагом Configure Kerberos on hosts в меню Custom kerberization settings. При заполнении полей в форме Existing Active Directory указывайте данные пользователя, не являющегося администратором.
Создание файла конфигурации -
Добавьте принципала для каждого сервиса. В качестве списка сервисов, для которых нужно добавить принципала, используйте столбец Keytab-файл в таблице сопоставления owner-keytab.
$ ldapadd -H <ldap_link> -x -D <username>@<realm> -w <password> -f <ldif_file>.ldif
где:
-
<ldap_link>
— URL LDAP-сервера. -
<username>
— имя пользователя LDAP. -
<realm>
— realm пользователя. -
<password>
— пароль для<username>
. -
<ldif_file>
— имя файла с информацией о принципале. Пример содержимого файла приведен ниже.
DN: CN=HTTP/<principal>,OU=Hadoop,DC=fresh,DC=com changetype: add objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user accountExpires: 0 userPrincipalName: HTTP/<principal>@<realm> servicePrincipalName: HTTP/<principal> distinguishedName: CN=HTTP/<principal>,OU=Hadoop,DC=fresh,DC=com userAccountControl: 514
где
<principal>
— имя принципала для сервиса.Удачное добавление принципала должно завершиться сообщением, похожим на представленное ниже:
adding new entry "CN=HTTP/<principal>,OU=kerberos,ou=adh,DC=ad,DC=ranger-test"
Для более подробного вывода используйте опцию
-v
при запуске ldapadd, включающую режим verbose.Правильность добавления принципалов можно проверить с помощью ldapsearch:
$ ldapsearch -x -H <ldap_link> -D <username>@<realm> -w <password> -b <search_base> <search_filter>
где:
-
<search_base>
— база для поиска. -
<search_filter>
— поисковой фильтр.
-