mod_lookup_identity#
Описание#
mod_lookup_identity предназначен для поиска идентификатора пользователя, получения дополнительной информации об аутентифицированном пользователе из внешних источников (например, LDAP или базы данных) и сохранения этих данных в переменных окружения или заметках (notes) сервера. Это позволяет расширить функциональность аутентификации, предоставляя веб-приложениям доступ к дополнительным атрибутам пользователя, таким как роли, группы или другие метаданные.
Модуль часто используется в корпоративных средах для интеграции с системами управления идентификационными данными - удостоверениями (Identity Management, IdM), такими как FreeIPA или Active Directory.
Примечание
Для корректной работы mod_lookup_identity могут понадобиться:
SSSD (System Security Services Daemon) версии 1.13 или выше - для взаимодействия с системами управления удостоверениями, такими как FreeIPA или Active Directory (для получения подробной информации о
sssdизучите соответствующую страницу справочникаman, выполнивman sssd). Убедитесь в наличии установленного пакетвsssd-dbusи включите службуifpв разделе[sssd]файла/etc/sssd/sssd.conf.PAM (Pluggable Authentication Modules) - для аутентификации пользователей перед вызовом
mod_lookup_identity(подробнее - в разделе «Файлы каталога /etc/pam.d/*» и с помощьюman pam).LDAP-библиотеки - если данные о пользователях хранятся в LDAP, необходим пакет
openldap-clients.Дополнительные модули:
mod_auth_kerb- для аутентификации через Kerberos;mod_authnz_pam- для аутентификации через PAM;mod_ssl- для обеспечения безопасного соединения (HTTPS) при передаче данных через защищенные каналы.
Пример конфигурации#
Пример конфигурации, настроенной с помощью модуля mod_lookup_identity:
<VirtualHost *:443>
ServerName example.com
# Включение SSL
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/example.com.key
# Аутентификация через Kerberos
<Location /protected>
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthRealms example.com
Krb5KeyTab /etc/httpd/conf/krb5.keytab
Require valid-user
# Использование mod_lookup_identity для получения дополнительных данных
LookupUserAttr mail <remote_user_mail>
LookupUserAttr givenname <remote_user_firstname>
LookupUserAttr sn <remote_user_lastname>
LookupUserGroups <remote_user_groups>
</Location>
</VirtualHost>
Директивы#
Список директив модуля представлен в таблице ниже.
Синтаксис |
Значение по умолчанию |
Контекст |
Описание |
|---|---|---|---|
|
|
|
Включает поиск пользователя по сертификату. Использует оригинальное значение |
|
|
|
Указывает, будут ли выполнены запросы и где будут храниться результаты поиска. Возможные значения: |
|
Нет |
|
Указывает имя заметки и/или переменной окружения для значения GECOS. Если имя начинается с символа |
|
Нет |
|
Указывает имя заметки и/или переменной окружения для списка групп, полученных с помощью вызова |
|
Нет |
|
Указывает имя заметки и/или переменной окружения, в которую будет сохранено количество групп, в которых состоит пользователь (возвращается вызовом |
|
Нет |
|
Указывает имя атрибута, который будет извлечен с помощью вызова |
|
Нет |
|
Указывает имя атрибута, значения которого будут извлечены с помощью вызова |
|
|
|
Указывает время ожидания (в миллисекундах) для операций, связанных с D-Bus. Если время ожидания превышено, операция будет прервана |
|
Нет |
|
Задает имя параметра для строки запроса HTTP. Значение из строки запроса (если оно есть) отправляется в SSSD вместе с сертификатом. Это полезно, когда один сертификат назначен нескольким учетным записям пользователей. По умолчанию параметры не забираются из строки запроса |