Ограничить доступ к репозиторию git на основе групп LDAP
У меня есть Apache и git-http-backend
настроить так, чтобы аутентификация выполнялась с использованием учетных данных LDAP и только членов моего git-users
Группа может получить доступ к домену, который я использую для обслуживания git-репозиториев. Кажется, что все работает нормально. Я хотел бы дополнительно ограничить каждое отдельное хранилище для членов определенной группы, например, cn=super-secret-project,ou=projects,dc=my,dc=domain
, Как я могу сделать это без необходимости изменять мой *.conf
файлы? Можно ли добавить вторую группу LDAP с помощью .htaccess
файлы?
Вот соответствующая часть моей конфигурации Apache.
<VirtualHost *:443>
ServerName git.my.domain
DocumentRoot /home/git
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/git>
Options ExecCGI Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Location />
Order deny,allow
AuthName "Authentication Required"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPUrl ldap://ldap.server/ou=people,dc=my,dc=domain?uid
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
Require ldap-group cn=git-users,ou=functional-roles,dc=my,dc=domain
Satisfy all
</Location>
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /path/to/domain.crt
SSLCertificateKeyFile /path/to/domain.key
SuexecUserGroup git git
ScriptAlias /git /path/to/git-http-backend-wrapper
</VirtualHost>