Дженкинс ограничить просмотр заданий для каждого пользователя
есть ли способ ограничить пользователя для просмотра только определенных заданий в Jenkins.
Дженкинс позволяет ограничить возможности пользователя для каждого проекта с помощью"стратегии авторизации матрицы на основе проекта". Проблема в том, что пользователь не может получить доступ к чему-либо без настройки "общий ""чтение". Это, кажется, позволяет им просматривать все задания.
есть ли другой плагин, который позволит ограничение работы?
7 ответов:
думаю, что это то, что вы ищете: разрешить доступ к конкретным проектам для пользователей
краткое описание без скриншотов:
Используйте Jenkins " стратегия авторизации матрицы на основе проекта "в разделе" Управление Jenkins " = > "настройка системы". На странице конфигурации каждого проекта теперь есть "включить безопасность на основе проекта". Теперь добавьте каждого пользователя, которого вы хотите авторизовать.
только один плагин поможет мне:Ролевая Стратегия:
wiki.jenkins-ci.org/display/JENKINS/Role + стратегия + плагин
но официальная документация (wiki.jenkins-ci.org/display/JENKINS/Role + стратегия + плагин) беден.
Это реальный пример большой документации:
kblearningacademy.com/configure-role-strategy-plugin-in-jenkins
я преобразовал эту страницу в PDF в случае перестает работать:
kblearningacademy_com_jenkins_Role + стратегия + плагин
Я надеюсь, что это кому-то поможет.
вы можете использовать стратегию проверки подлинности матрицы на основе проекта и включить общее разрешение на чтение, но отключить задание чтения на системном уровне. После этого вы должны включить задание чтения для каждого конкретного проекта, который вы хотите сделать видимым для текущего пользователя. Пожалуйста, обратитесь к эта проблема решена для получения дополнительной информации. Некоторая информация оттуда:
я реализую разрешение на чтение на уровне задания. Когда это будет сделано, пользователь, которому не хватает разрешения на чтение для конкретного работа не будет: видеть это задание в любом представлении, иметь возможность напрямую обращаться к странице задания, видеть любую ссылку на задание (например, в зависимостях upstream или downstream)
кроме того, я рекомендую вам пойти дальше и проверить Плагин Ролевой Стратегии. Это может упростить управление пользователями / ролями, вы можете использовать описанное выше, чтобы дать доступ к определенным заданиям.
Я использую комбинацию нескольких плагинов - для основного назначения ролей и разрешения я использую Плагин Ролевой Стратегии.
когда мне нужно разделить некоторую роль в зависимости от параметров (например, все с job-runner могут запускать задания, но пользователь только пользователь UUU может запускать задание развертывания для развертывания на машине MMM), я использую Python Плагин и определить скрипт python как первый шаг сборки и закончить с помощью sys.выход(-1), когда задание запрещено запуск с заданной комбинацией параметров.
Build User Vars Plugin предоставляет мне информацию о пользователе, выполнившем работу в качестве переменных среды.
например:
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)
Как упоминалось выше Вадимом Используйте "стратегию авторизации матриц на основе проекта Дженкинса" в разделе "Manage Jenkins" = > "Настройка Системы". Не забудьте добавить туда своего администратора и дать все разрешения. Теперь добавьте туда ограниченного пользователя и дайте общий доступ для чтения. Затем перейдите на страницу конфигурации каждого проекта, теперь у вас есть опция" включить безопасность на основе проекта". Теперь добавьте каждого пользователя, которого вы хотите авторизовать.
попробуйте перейти в раздел "Управление Дженкинсом"->" управление пользователями "перейдите к конкретному пользователю, отредактируйте его/ее конфигурацию" мой вид " по умолчанию.
вы можете установить плагин "расширенное разрешение на чтение". Затем в "глобальных настройках" или в индивидуальной конфигурации задания вы можете предоставить пользователю разрешение "расширенное чтение".
Comments