Предоставление информации о группе с помощью mod_authnz_ldap
На этой странице ( https://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html) говорится, что я должен быть в состоянии предоставить информацию, возвращаемую authldapurl, в качестве переменных среды, в которых указан префикс AUTHORZE_. Я не могу найти никаких рабочих примеров, хотя, где кто-то выставил, например, информацию о группе ldap текущего пользователя запросов.
Я ожидаю, что при подделке URL-адреса, подобного этому ldap: // host: port / basedn? Attribute? Scope? Filter, все перечисленные атрибуты результата поиска будут установлены как переменные env, или я ошибаюсь?
Мы хотим использовать mod_auth_kerb для аутентификации, а затем mod_authnz_ldap для авторизации. Может кто-нибудь объяснить, как должен выглядеть AuthLDAPUrl для предоставления информации о группе текущих пользователей?
На втором шаге мы будем использовать информацию, чтобы установить ее в качестве заголовков. В конце я хочу получить 2 заголовка запроса, один для удаленного пользователя и один для членства в группах.
С уважением, Крис
1 ответ
Это моя конфигурация Apache HTTPD, использующая Kerberos для аутентификации и членство в группах LDAP для авторизации:
KrbServiceName HTTP/this.isyour.url.tld@REALM.TLD
KrbAuthRealms REALM.TLD
KrbLocalUserMapping On
Krb5Keytab /path/to/keytabs/keytab.file
AuthBasicAuthoritative On
AuthBasicProvider ldap
AuthLDAPURL "ldaps://ldap.directory.tld/o=BaseDN?uid?sub?(&(cn=*))"
AuthLDAPBindDN "YOUR SERVICE ACCOUNT HERE"
AuthLDAPBindPassword "YOUR BIND PWD HERE"
AuthLDAPGroupAttribute uniqueMember
AuthLDAPGroupAttributeIsDN on
require ldap-group cn=Website Test,ou=groups,o=BaseDN
Имена схем предназначены для чистого сервера LDAP (в данном случае Oracle Unified Directory). Active Directory потребовала бы некоторых изменений - uid - это sAMAccountName, uniqueMember - просто член, и базовый DN, вероятно, будет dc= что-то, dc= что-то другое вместо o = что-то.