Как управлять авторизацией проекта Jenkins с помощью пользователей и групп Active Directory?

У меня установлен Jenkins плюс плагин Active Directory. Я могу успешно войти в систему с учетными записями домена, и я установил «Администраторы домена», чтобы иметь полный контроль над Дженкинсом. Я хотел бы удалить некоторые накладные расходы, управляя тем, кто может получить доступ к каким проектам, и делегировать это менеджерам проектов.

Я планировал сделать это, создав группы AD на основе проекта и сделав менеджера проекта владельцем этой группы. Затем я бы создал группу рассылки Exchange на основе этой группы AD. Таким образом, менеджер проекта может определить, кто является членом этой группы, через Outlook или Outlook Web Access, просто удаляя/добавляя людей в список рассылки.

Я пытаюсь найти, где установить авторизованную группу AD для проекта Jenkins, но, похоже, такой опции нет. Нужны ли мне какие-то специальные плагины или где я могу установить группу AD, которая может получить доступ к проекту?

Наконец, я бы выполнил задание администратора Jenkins, которое создало бы группу AD в разделе OU=Projects,CN=ProjectX. Сделайте его владельцем, а затем создайте проект Jenkins со свежесозданной группой и данными имени проекта.


person user2977023    schedule 03.09.2014    source источник


Ответы (3)


Я не использовал плагин Active Directory, но это может быть то, что вы ищете: Перейдите к Jenkins > Manage Jenkins > Configure Global Security > Enable security (Enable check-box). Теперь в разделе Authorization выберите Project-based Matrix Authorization Strategy, если вы хотите предоставить доступ отдельно для для каждого проекта.

введите здесь описание изображения

Итак, как только вы выберете Project-based Matrix Authorization Strategy, вам нужно будет перейти на страницу конфигурации задания и выбрать вариант Enable project-based security (см. снимок экрана ниже). Там вы можете указать пользователей, которые будут иметь доступ к данному заданию.

введите здесь описание изображения

Вы также должны просмотреть комментарии (особенно от 'pcampbell') на эта ссылка. Это может помочь.

person Technext    schedule 04.09.2014
comment
Это то, что я сделал. Последний вариант, который мне не хватало, — это включить безопасность на основе проекта, которую вы должны настроить внутри своего проекта. - person user2977023; 09.09.2014
comment
Да, поскольку это обеспечивает доступ на основе проекта, его необходимо включить внутри каждого проекта. - person Technext; 09.09.2014

1) Установите подключаемый модуль Active Directory из Jenkins --> Диспетчер подключаемых модулей --> Загрузить подключаемый модуль --> active-directory.hpi.

2) Управление Jenkins -> Настройка глобальной безопасности -> выберите активный каталог -> Имя домена: XX.OS.LOCAL Контроллер домена: DC-IP: 3268 Привязать DN: Имя учетной записи Привязать пароль: Пароль учетной записи.

person Hasan S Syed    schedule 11.10.2017

https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugin также очень хорошо работает в моей компании.

Для каждого проекта вам необходимо определить регулярное выражение для всех элементов, связанных с проектом (папка/задание/ветвь). Что-то вроде: PROJECTNAME(/.*_PRODUCTION(/.*)?)?. Это дает разрешение на папку, а также на все ветки всех проектов, оканчивающихся на _PRODUCTION. Это было не тривиально, но это работает, как только вы его настроите.

Затем для каждого пользователя вам нужно добавить его идентификатор и предоставить «аутентифицированное» разрешение, а затем в матрице разрешений вы просто предоставляете доступ к соответствующим проектам.

person Raúl Salinas-Monteagudo    schedule 07.11.2019