PPEM поддерживает аутентификацию с помощью служб каталогов OpenLDAP и Active Directory. В рамках интеграции роли назначаются LDAP-пользователям в веб-приложении с помощью групп из службы каталогов.
За подробной информацией об аутентификации и авторизации обратитесь к Подразделу 1.6.5.
Процесс интеграции состоит из следующих этапов:
Создание группы пользователей в службе каталогов
Создайте группу пользователей в OpenLDAP или Active Directory. Для Active Directory поддерживаются два способа создания группы пользователей:
Пользователи, которых вы добавляете в группы, должны быть созданы в OpenLDAP или Active Directory со следующими обязательными для PPEM параметрами:
first_name: имя пользователя.
last_name: фамилия пользователя.
email: адрес электронной почты пользователя.
login: логин пользователя.
password: пароль пользователя.
Для каждого параметра необходимо указать значение в формате string.
За подробной информации о создании групп пользователей обратитесь к официальной документации OpenLDAP или к официальной документации Microsoft по Active Directory.
Создание группы пользователей в OpenLDAP
Создайте файл конфигурации группы пользователей в формате LDIF и укажите следующие параметры:
dn:отличительное_имя_группы_пользователейobjectClass: posixGroup cn:имя_группы_пользователейgidNumber:идентификатор_группы_пользователейmemberUid:идентификатор_пользователя
Где:
dn: отличительное имя (distinguished name) группы пользователей.
Вы можете указать следующие атрибуты:
cn: уникальное имя группы пользователей.
ou: организационная единица, в которую будет помещена группа пользователей.
dc: компоненты домена, который будет связан с группой пользователей. Например, example.com.
cn: уникальное имя группы пользователей.
gidNumber: уникальный идентификатор группы пользователей.
memberUid: уникальные идентификаторы пользователей, которые будут добавлены в группу.
Создайте группу пользователей в OpenLDAP:
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f example-group.ldif
Где:
-D: отличительное имя администратора OpenLDAP.
-W: запрос пароля.
-f: имя файла конфигурации группы пользователей.
Убедитесь, что группа пользователей успешно создана:
ldapsearch -x -b "ou=groups,dc=example,dc=com" "(cn=examplegroup)"
Создание группы пользователей в Active Directory с помощью ADUC
В графическом интерфейсе Active Directory перейдите к организационной единице (organizational unit, OU), в которую будет помещена группа пользователей.
Нажмите Создать → Группа.
В открывшемся окне укажите параметры группы пользователей.
Нажмите OK.
Добавьте пользователей в группу:
Перейдите к свойствам группы пользователей, дважды щёлкнув по ней.
Выберите Члены групп и добавьте пользователей в группу.
Создание группы пользователей в Active Directory с помощью PowerShell
Создайте группу пользователей:
New-ADGroup -Path "OU=Groups,OU=Example,DC=example,DC=com" -Name "GROUPMSAD" -GroupScope Global -GroupCategory Distribution
Где:
-Path: отличительное имя группы пользователей.
Вы можете указать следующие атрибуты:
OU: организационная единица, в которую будет помещена группа пользователей.
DC: компоненты домена, который будет связан с группой пользователей.
-Name: уникальное имя группы пользователей.
Добавьте пользователей в группу:
Add -ADGroupMember GROUPMSAD -Members user1,user2,user3
Где:
-ADGroupMember: уникальное имя группы, в которую будут добавлены пользователи.
-Members: уникальные идентификаторы пользователей, которые будут добавлены в группу.
Настройка интеграции со службой каталогов
В файле конфигурации менеджера ppem-manager.yml добавьте раздел ldap и укажите параметры интеграции:
OpenLDAP:
ldap: type:тип_службы_каталоговurl:сетевой_адрес_службы_каталоговuse_ssl: trueилиfalse base_dn:корневое_отличительное_имя_службы_каталоговbind_username:имя_пользователя_службы_каталоговbind_password:пароль_пользователя_службы_каталоговgroup_class:класс_для_объекта_группы_пользователейgroup_members_attr:атрибут_члена_группы_пользователейgroup_name_attr:атрибут_имени_группы_пользователейprefix_group_dn:префикс_отличительного_имени_для_групп_пользователейprefix_user_dn:префикс_отличительного_имени_для_пользователейuser_class:класс_для_объекта_пользователяuser_display_name_attr:атрибут_отображаемого_имени_пользователяuser_email_attr:атрибут_электронной_почты_пользователяuser_name_attr:атрибут_учётной_записи_пользователяuser_first_name_attr:атрибут_имени_пользователяuser_last_name_attr:атрибут_фамилии_пользователяuser_job_title_attr:атрибут_должности_пользователяuser_membership_attr:атрибут_списка_групп_пользователяuser_phone_attr:атрибут_номера_телефона_пользователяuser_sync_interval:время_синхронизации_между_менеджером_и_службой_каталогов
Active Directory:
ldap: type:тип_службы_каталоговurl:сетевой_адрес_службы_каталоговbase_dn:корневое_отличительное_имя_службы_каталоговbind_username:имя_пользователя_службы_каталоговbind_password:пароль_пользователя_службы_каталоговuser_sync_interval:время_синхронизации_между_менеджером_и_службой_каталогов
Где:
type: тип службы каталогов.
Возможные значения:
openldap
ms_active_directory
url: сетевой адрес службы каталогов.
bind_username: имя пользователя службы каталогов для интеграции с PPEM.
Формат значения зависит от службы каталогов:
Для OpenLDAP обычно необходимо полностью указать полное отличительное имя, например cn=admin,ou=users,dc=example,dc=com.
Для Active Directory обычно необходимо указать значение в формате , например имя_пользователя@доменadmin@example.com.
bind_password: пароль пользователя службы каталогов для интеграции с PPEM.
base_dn: корневое отличительное имя службы каталогов.
prefix_user_dn: префикс отличительного имени для пользователей.
Если этот параметр указан, поиск пользователей выполняется с помощью отличительного имени . Чтобы выполнять поиск пользователей по всему каталогу, укажите значение префикс_отличительного_имени_для_пользователей,корневое_отличительное_имя"".
Необязательный параметр.
prefix_group_dn: префикс отличительного имени для групп пользователей.
Если этот параметр указан, поиск групп пользователей выполняется с помощью отличительного имени . Чтобы выполнять поиск групп пользователей по всему каталогу, укажите префикс_отличительного_имени_для_групп_пользователей,корневое_отличительное_имя"".
Необязательный параметр.
group_class: имя класса для объекта пользователя.
Необязательный параметр для Active Directory.
user_name_attr: название атрибута учётной записи (логина) пользователя.
Значение по умолчанию: для OpenLDAP — cn, для Active Directory — sAMAccountName.
Необязательный параметр для Active Directory.
user_first_name_attr: название атрибута имени пользователя.
Значение по умолчанию: givenName.
Необязательный параметр.
user_last_name_attr: название атрибута фамилии пользователя.
Значение по умолчанию: sn.
Необязательный параметр.
user_display_name_attr: название атрибута отображаемого имени пользователя.
Значение по умолчанию: displayName.
Необязательный параметр.
user_email_attr: название атрибута адреса электронной почты пользователя.
Значение по умолчанию: mail.
Необязательный параметр.
user_phone_attr: название атрибута номера телефона пользователя.
Значение по умолчанию: telephoneNumber.
Необязательный параметр.
user_job_title_attr: название атрибута должности пользователя.
Значение по умолчанию: title.
Необязательный параметр.
user_membership_attr: название атрибута списка групп пользователя.
Значение по умолчанию для Active Directory: memberOf.
Необязательный параметр.
group_class: имя класса для объекта группы пользователей.
Значение по умолчанию для Active Directory: group.
group_name_attr: название атрибута имени группы пользователей.
Значение по умолчанию: cn.
Необязательный параметр.
group_members_attr: название атрибута списка пользователей группы.
group_filter: фильтр для поиска групп пользователей. Например, (&(objectClass=group)(cn=*PPEM*)).
Необязательный параметр.
group_membership_filter: фильтр для поиска групп, в которых состоит указанный пользователь. Например, (&(objectClass=group)(uniqueMember=%USER_DN%)).
Необязательный параметр.
group_list_size_limit: максимальное количество групп пользователей, которые можно получить из службы каталогов.
Необязательный параметр.
user_sync_interval: время синхронизации между менеджером и службой каталогов.
Значение по умолчанию: 5m.
Необязательный параметр.
ssl_cert_skip_verify: указывает, следует ли пропустить проверку сертификата сервера службы каталога.
Возможные значения:
true
false
Необязательный параметр.
ssl_root_ca: путь к файлу в формате PEM с корневым сертификатом (CA certificate) на сервере службы каталогов.
Необязательный параметр.
Перезагрузите службу PPEM:
systemctl restart ppem.service
Настройка авторизации в PPEM
Войдите в веб-приложение, используя учётную запись пользователя с ролью System administrator role.
За подробной информацией о ролях обратитесь к Подразделу 5.4.3.
Создайте группу пользователей.
При этом из выпадающего списка Группа LDAP выберите LDAP-группу, для которой необходимо настроить авторизацию. Если LDAP-группа не отображается, убедитесь, что вы правильно настроили интеграцию со службой каталогов.
Роли, назначенные группе пользователей при её создании, будут автоматически назначены пользователям из указанной LDAP-группы при входе в веб-приложение.
Проверка аутентификации и авторизации в PPEM
Войдите в веб-приложение, используя учётную запись пользователя службы каталогов. Пользователь должен состоять в LDAP-группе, указанной при настройке авторизации в PPEM.
Формат логина зависит от службы каталогов:
Для OpenLDAP обычно необходимо указать короткий логин пользователя, например i.ivanov.
Для Active Directory обычно необходимо указать логин в формате , например имя_пользователя@доменi.ivanov@example.com.
Если аутентификация прошла успешно, проверьте авторизацию одним из следующих способов:
В правом верхнем углу страницы нажмите на имя пользователя.
Откроется личный кабинет, в котором отображаются адрес электронной почты и должность пользователя, а также назначенные пользователю роли.
Если вы вошли в веб-приложение от имени пользователя с ролью System administrator, в навигационной панели перейдите в Пользователи.
Отобразится таблица пользователей. Отличительные имена LDAP-пользователей отображаются в столбце Логин.
Устранение проблем с аутентификацией
Для устранения проблем с аутентификацией используйте журнал менеджера.
Параметры журналирования можно указать в файле конфигурации менеджера ppem-manager.yml. Журналирование может выполняться в отдельном файле или системном журнале (journalctl).
Чтобы устранить проблемы с аутентификацией:
Подключитесь к серверу, на котором установлен менеджер.
Просмотрите журнал менеджера:
Если журналирование выполняется в отдельном файле:
-- Вывести недавние ошибки PPEM -- tail -n 1000 "path_to_the_PPEM_log_file" | grep ERROR
Если журналирование выполняется в системном журнале:
-- Вывести ошибки PPEM за последние 5 минут -- journalctl --since "5m ago" -u ppem.service -g ERROR
Выполните необходимые действия по устранению проблем с аутентификацией.