Как ограничить доступ к результатам OpenGrok?
Мы создали сервер OpenGrok и проиндексировали наши источники. Проблема в том, что используемый нами SCM (здесь, Perforce, но я полагаю, что это не относится к Perforce только потому, что права на уровне файлов / папок широко используются) ограничивает доступ к файлам или папкам, а OpenGrok - нет!
Поэтому сегодня любой пользователь, выполняющий поиск с помощью OpenGrok, получит все файлы, даже те, к которым у него / нее не должно быть доступа! Который, на мой взгляд, является блокировщиком: мы никогда не выпустим такую брешь в безопасности.
Знаете ли вы какие-либо настройки / обходные пути для реализации такой безопасности?
РЕДАКТИРОВАТЬ: этот OpenGrok должен использоваться кем угодно, я мог бы, конечно, получить источники Perforce с моими разрешениями (поэтому я бы только получил файлы, на которые у меня есть разрешения) для выполнения поиска, но это не отвечало бы этому требованию широкой аудитории.
4 ответа
Ну вот я наконец-то нашел обходной путь:
- найдите XML-файл конфигурации сервера tomcat (мой находится в.../apache-tomcat-8.0.52/conf/server.xml)
Добавьте следующую разметку в Сервер> Сервис> Engine > Хост:
У меня есть ежедневный скрипт, который генерирует этот список IP-адресов с разрешенных рабочих станций и соответственно обновляет этот файл. Этот список похож на "1.2.3.4|5.6.7.8|6.2.5.3".
Рассматривали ли вы создание другого пользователя p4 для простой синхронизации исходного кода для индексации OpenGrok? Этот пользователь может иметь ограниченный доступ на основе записей в таблице защиты P4. Таким образом, вы можете синхронизировать код на уровне папок, скрывая подпапки на основе разрешений таблицы защиты.
Я сделал аналогичную настройку для моего экземпляра opengrok:)
https://github.com/OpenGrok/OpenGrok/issues/503 стесняйтесь присоединиться к дискуссии там (или в аналогичных запросах), ev. отправить патчи
OpenGrok теперь содержит уровень авторизации, позволяющий ограничить доступ. Детализация для каждого проекта.