Подтвердить что ты не робот

Дженкинс ограничивает просмотр заданий на пользователя

Есть ли способ ограничить пользователя просмотром только определенных заданий в Jenkins.

Дженкинс допускает ограничение возможностей пользователя на один проект через "Стратегию авторизации матрицы на основе проектов". Проблема в том, что пользователь не может получить доступ к чему-либо без настройки "Общий" "Чтение". Это позволяет им просматривать все задания.

Есть ли еще один плагин, который позволил бы ограничить работу?

4b9b3361

Ответ 1

Подумайте, это то, что вы ищете: Разрешить доступ к конкретным проектам для пользователей

Краткое описание без скриншотов:
Используйте Jenkins "Project Matrix Authorization Strategy" в разделе "Управление Jenkins" => "Настроить систему". На странице конфигурации каждого проекта у вас теперь есть "Включить безопасность на основе проекта". Теперь добавьте каждого пользователя, которого вы хотите авторизовать.

Ответ 2

Только один плагин поможет мне: ролевая стратегия:

wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

Но официальная документация (wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin) недостаточна.

Следующие конфигурации помогли мне:

http://kblearningacademy.com/configure-role-strategy-plugin-in-jenkins

В основном вам просто нужно создавать роли и сопоставлять их с именами заданий с помощью регулярных выражений.

Ответ 3

Вы можете использовать стратегию Matrix Auth Strategy, основанную на проектах, и включить разрешение "Читать полное", но отключите "Чтение задания" на системном уровне. После этого вы должны включить Read Job для каждого конкретного проекта, который вы хотите сделать видимым для текущего пользователя. Для получения дополнительной информации см. эту разрешенную проблему. Некоторая информация оттуда:

Я использую READ-разрешение на уровне задания. Когда это будет сделано, пользователь, которому не хватает разрешения READ для конкретной работы не будет: видеть это задание в любом представлении, иметь возможность напрямую обращаться к странице задания, видеть любую ссылку на задание (например, в зависимостях выше или ниже по течению)

Кроме того, я рекомендую вам пойти дальше и проверить Плагин стратегии ролей. Он может упростить управление пользователями/ролями, вы можете использовать описанное выше, чтобы предоставить доступ к определенным заданиям.

Ответ 4

Я использую комбинацию нескольких плагинов - для основного назначения ролей и разрешения я использую Плагин стратегии ролей.

Когда мне нужно разделить какую-то роль в зависимости от параметров (например, каждый, у кого есть рабочий, может запускать задания, но пользовательский пользователь UUU разрешает запускать задание развертывания для развертывания на машинной MMM), я использую Python Plugin и определить python script как первый шаг сборки и завершить с помощью sys.exit(-1), когда задание запрещено работать с заданной комбинацией параметров.

Создавать плагин для пользовательских Vars предоставляет мне информацию о пользователе, выполняющем задание в качестве переменных среды.

например:

import os
import sys

print os.environ["BUILD_USER"], "deploying to", os.environ["target_host"]

# only some users are allowed to deploy to servers "MMM"
mmm_users = ["UUU"]

if os.environ["target_host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users:
    print "access granted"
else:
    print "access denied"
    sys.exit(-1)

Ответ 5

Как упомянуто выше Вадимом Дженкинсом "Стратегия авторизации матрицы на основе проекта" в разделе "Управление Дженкинсом" => "Настроить систему". Не забудьте добавить туда своего администратора и дать все разрешения. Теперь добавьте туда пользователя с ограниченными правами и предоставьте общий доступ для чтения. Затем перейдите на страницу конфигурации каждого проекта, теперь у вас есть опция "Включить безопасность на основе проекта". Теперь добавьте каждого пользователя, которого вы хотите авторизовать.

Ответ 6

Попытайтесь перейти на "Управление Jenkins" → "Управление пользователями", перейдите к конкретному пользователю, отредактируйте его/ее конфигурацию в разделе "Мои представления" по умолчанию.

Ответ 7

Вы можете установить плагин расширенного разрешения на чтение. Затем в "Глобальных настройках" или в отдельной конфигурации заданий вы можете предоставить пользователю разрешение "Расширенное чтение".