(Apache + SVN) Групповая/IP-аутентификация/Авторизация

Предположим, что у каждого пользователя есть обычный «тест» учетная запись пользователя и отдельный «тест-адм» учетная запись администратора для выделенной части сервера.

Я хочу предоставить доступ к области на сервере (репозиторий SVN), когда пользователь приходит с "учетная запись администратора" из определенный диапазон IP-адресов. В то же время этот учетная запись администратора не должен иметь права записи на остальную часть сервера.

Этот учетная запись администратора не должен работать для защищенной области из-за пределов диапазон IP-адресов, но существуют другие (LDAP) группы пользователей, которым следует разрешить доступ к защищенной области с их обычный пользовательский аккаунт.

Есть ли способ реализовать концепцию взаимного исключения в рамках ограничения доступа пользователей в Apache?


Доступ Matrix к «защищенному» репо


46
1

Ответ:

Решено

I want to grant access to an area on the server (SVN repository) when the user comes with an "admin-account" from a defined ip adress range

Списки управления доступом на основе IP выходят за рамки SVN Авторизация на основе пути — он знает только объекты «пользователь», «группа», «путь внутри репозитория».

At the same time, this admin-account should have no write access to the rest of the server.

Это также является обязанностью серверной части (Apache), а не части SVN.

This admin-account should not work for the secured area from outside the ip adress range but there are other (LDAP) user groups,

У вас еще хуже - SVN может использовать имена пользователей из других слоев авторизации в authz-файле (даже LDAP|AD), но не имеют доступа к LDAP-группам, вы должны перенести LDAP-группы в SVN (но некоторые решения уже существуют)

И когда один пользователь может иметь две роли (ro или rw), в зависимости от условий, это работа подсистемы авторизации вне SVN, чтобы представить его как разных пользователей, вы должны спросить LDAP-гуру о возможностях (это будет проще и быстрее, чем включать в другую группу и синхронизировать группы с SVN)