Вот проблема, которую я хочу решить.
У нас есть ртутный сервер управления версиями (Linux + Apache + mod_auth), который я хочу настроить так, чтобы он работал с LDAP (сейчас это базовая авторизация на apache с паролями, хранящимися в файлах .htpasswd). Я помещаю разработчиков в OU с именем «Developers»
'OU=Developers,DC=us,DC=domain,DC=com'
проблема в том, что у нас есть разные проекты, и некоторые из них должны ограничивать доступ только определенным разработчикам. Я могу поместить внутри разработчиков разные подразделения, но у меня не может быть одна и та же учетная запись пользователя для нескольких подразделений. В то же время я не люблю иметь несколько учетных записей на пользователя (в будущем будет сложнее управлять)
ТАК я думаю, можно ли авторизоваться против OU и определенной логической группы?
Например, я создал подразделение «Разработчики», а затем создал несколько групп Windows, таких как ProjectA, projectB, projectC, и назначил разработчиков в эти группы.
Можно ли настроить LDAP base dn, чтобы он тоже искал группу?
спасибо дмитрий
Итак, у нас есть пользователи в OU в OU=Developers,DC=us,DC=domain,DC=com
, то в определенных местах также должно быть определенное членство в группах - например, CN=ProjectA,OU=Developers,DC=us,DC=domain,DC=com
как группа.
Что-то в этом роде должно помочь ...
<Location />
AuthType basic
AuthName "user message on login"
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
# This is your LDAP server configuration - if you can, use SSL (which requires
# configuring either an LDAPTrustedGlobalCert or to set LDAPVerifyServerCert Off)
# The search base DN is included here.
AuthLDAPURL "ldaps://ldap-server.example.com:636/OU=Developers,DC=us,DC=domain,DC=com?cn"
# This is the user account that will be used by Apache to bind to LDAP for auth checking.
AuthLDAPBindDN "CN=ldapserviceaccount,OU=Developers,DC=us,DC=domain,DC=com"
AuthLDAPBindPassword "passwordhere"
# For just the / location, we'll force a valid login (any user account in the OU)
Require valid-user
</Location>
<Location /project-a>
# And here we'll configure a specific group for this location
Require ldap-group CN=ProjectA,OU=Developers,DC=us,DC=domain,DC=com
</Location>