Можете ли вы использовать подстановочные знаки в авторизации на основе путей в Subversion?

Информация о Subversion: Collabnet Subversion Edge 3.2.2 Версия SVN: 1.8.0 Apache HTTP Server 2.4.4 Использование mod_authz_svn, без ldap

Я пытаюсь предоставить доступ к проекту Subversion всем разработчикам в команде, но у меня есть определенные каталоги, доступ к которым должен иметь только определенный разработчик. Вместо того, чтобы создавать десятки записей примерно так:

@superdevs = trusteddev, projman
@devs = @specdevs, user1, user2, user3

[/]
* = rw

[MyProj:/]
~@devs = 

[MyProj:/trunk/AllDevs/SuperDevsOnly]
~@superdevs = 

[MyProj:/trunk/ManyOtherDirs/SuperDevsOnly]
~@superdevs =

# the list goes on and on...

Можно ли настроить файл авторизации на основе пути для определения шаблона файла вместо явного создания записи для каждого ограниченного пути? Я надеюсь избежать добавления более 200 записей в файл авторизации, так как знаю, что больше записей повлияет на производительность всех операций SVN, размещенных на сервере. Это также кажется большой работой по защите чувствительного кода, необходимого для построения нашего окончательного решения.

TL; DR; Можете ли вы определить общие шаблоны файлов при настройке файла Subversion Path-Based Authorization вместо определения правила для каждого явного файла или каталога, который вы хотите ограничить?

ЕЩЕ КОЕ-ЧТО

Я знаком с внешними объектами, но мы не смогли заставить их работать с нашей системой непрерывной интеграции, а те, кто им нужен, не хотят "тратить время" на его обновление или замену в данный момент.

2 ответа

Решение

Проблема с подстановочными знаками обсуждалась в течение достаточно долгого времени с svn, и для нее есть открытый отчет об ошибке:

http://subversion.tigris.org/issues/show_bug.cgi?id=2662

Последний комментарий (с июня 2013 года) включал следующее утверждение:

Мы пришли к выводу, что эту функцию стоит реализовать в любом случае. Мы можем предупредить пользователей о том, что в некоторых случаях эта функция может снизить производительность сервера и даже может использоваться для атак типа "отказ в обслуживании" (как уже упоминалось в комментариях к этой проблеме выше).

Хук предварительной фиксации svnperms.py имеет ограниченную поддержку подстановочных знаков, только для записей, а не для чтения: https://stackoverflow.com/questions/916758/set-up-svnperms-pre-commit-hook

Предстоящий выпуск Subversion 1.10 будет поддерживать использование подстановочных знаков подстановки при авторизации на основе пути: https://subversion.apache.org/docs/release-notes/1.10.html

Другие вопросы по тегам