Разрешить анонимному пользователю просматривать только список заданий без просмотра рабочего пространства в Jenkins

15

Мы работаем с Дженкинсом CI. Как правило, мы хотели бы предоставить

  1. полный доступ к аутентифицированным пользователям из определенной группы
  2. полный доступ к анонимным пользователям
  3. заблокировать анонимным пользователям доступ к определенным проектам (полностью)

Мы используем пользовательскую / групповую базу данных Unix и матричную стратегию авторизации на основе проектов . Пункты (1) и (2) работают хорошо, но у нас возникают проблемы с достижением (3).

Мы попробовали:

  • в Global Security удаление всех прав на анонимных пользователей с последующим предоставлением их в безопасности на основе проектов, но после этого все анонимные запросы (даже на главную страницу Jenkins) дают страницу входа
  • в Global Security добавляя в пошаговом режиме следующие права: Просмотр-чтение (не работает), Работа-обнаружение (не работает), Работа-чтение (не работает), Общее чтение-это - последнее, казалось, сработало, однако это дало анонимному пользователю слишком много прав, и мы не смогли ограничить доступ к конкретному проекту.

ТЛ; др

мы хотим полностью открыть (для чтения) Jenkins CI с несколькими проектами, полностью скрытыми / заблокированными для анонимных пользователей.

Войтек
источник

Ответы:

20

ОК, так что мне удалось сделать это:

  • вам нужен плагин стратегии авторизации на основе ролей
  • включить эту стратегию аутентификации в Configure Global Security
  • в разделе Управление и назначение ролей / Управление ролями создайте новую роль, анонимную и прошедшую проверку подлинности для глобальных и проектных ролей
  • в глобальных ролях предоставляет анонимную роль только право на Общий / Чтение (по крайней мере, это позволит получить доступ к главному экрану jenkins анонимного пользователя с навигацией и ссылкой на страницу входа, а не с приглашением сразу войти)
  • в роли Project добавьте анонимную роль с шаблоном регулярных выражений, которая будет соответствовать проектам, к которым вы хотите, чтобы анонимные пользователи имели доступ, и после добавления этой роли предоставьте ей право на работу / чтение и работу / обнаружение
  • Перейдите Управление и назначение ролей / назначение ролей и назначить Anonymous группы пользователей к анонимной роли (и идентифицированных пользователей к определенным группам). СПАСТИ
Войтек
источник
С этим связано то, что ролевая стратегия учитывает регистр при сопоставлении имен пользователей. Я ввел имена пользователей в верхнем регистре на странице «Назначить роли». Я вошел в систему с именем пользователя в нижнем регистре, и хотя мое имя пользователя отображается в верхнем регистре, никакие роли не соответствуют моему пользователю. Мои допустимые разрешения откатились на разрешение анонимного пользователя. Если я вхожу с именем пользователя в верхнем регистре, это работает.
s_t_e_v_e
Пока этот ответ работает, вы когда-либо объясняли назначение или конфигурацию «аутентифицированной» роли.
Брэд Вуд
это просто ярлык - он может быть «анонимным» и «привилегированным»; Я использовал «authenticated», потому что подмножество людей, доступных для просмотра и редактирования этих конкретных скрытых задач, было бы равно тем, у которых действительно есть учетная запись.
Войтек
Это видео помогло мне .. savjee.be/videos/get-started-with-jenkins/…
Ананд Варки Филипс
2

С https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Pluginплагином выше

тогда вам не нужно добавлять authenticatedроль на странице управления ролями .

Снимки экрана: Управление ролями и назначение ролей

Яньцзон Ван
источник