Як створити/додати користувачів у Jenkins & Керування дозволами
⚡ Розумний підсумок
Створення користувачів у Jenkins займає чотири кліки, але для призначення різних дозволів кожному з них потрібен плагін Role-based Authorization Strategy, який замінює єдину глобальну роль, що використовується кожною вбудованою Jenkins рахунок в іншому випадку акції.
Зазвичай, у великій організації існує кілька окремих команд для управління та виконання завдань. JenkinsАле керування цим натовпом користувачів та призначення їм ролей може виявитися проблематичним.
За замовчуванням Jenkins постачається з дуже базовими опціями створення користувачів. Ви можете створити кілька користувачів, але призначати їм лише однакові глобальні ролі та привілеї. Це не ідеально, особливо для великої організації.
Команда Плагін рольової стратегії дозволяє призначати різні ролі та привілеї різним користувачам. Спочатку вам потрібно буде встановити плагін у вашому Jenkins середовище, тому наведене нижче покрокове керівництво спочатку охоплює створення користувача, потім плагін, а потім екрани ролей, які він розблоковує.
Як створити/додати користувача в Jenkins
Нижче наведено кроки для створення нового користувача в Jenkins:
Крок 1) Увійти Jenkins Інформаційна панель
Вхід в свій файл Jenkins інформаційну панель, відвідавши http://localhost:8080/
Якщо ви не встановили Jenkins на вашому локальному сервері перейдіть до відповідного URL та отримайте доступ до своєї інформаційної панелі, використовуючи свої облікові дані для входу. Інформаційна панель, на яку ви потрапите, показана нижче.
Крок 2) Виберіть варіант
Тепер ви побачите опції для створення та додавання користувача в Jenkins та керувати поточними користувачами.
Крок 3) Створіть нового користувача
- У розділі «Керування» Jenkins, Натисніть «Створити користувача»
- Enter Jenkins додати дані користувача, такі як пароль, ім'я, електронна пошта тощо.
- Натисніть Створити користувача
Крок 4) Створено користувача
Ви побачите на панелі інструментів новий Jenkins Користувача створено відповідно до введених даних, як у списку користувачів нижче.
⚠️ Примітка до версії: ток Jenkins у випусках цей екран позначено як керувати Jenkins > Користувачі а не Керувати користувачами, Створити користувача кнопка та поля на ній залишаються незмінними, а екран існує лише під час JenkinsВласна база даних користувачів — це область безпеки, а область LDAP або єдиного входу керує обліковими записами зовні.
Як встановити плагін Role Strategy у Jenkins
Вбудований екран користувача створює облікові записи, але не може надавати їм різні дозволи. Ця можливість постачається з плагіном Role-based Authorization Strategy, який встановлюється наступним чином.
Існує два способи встановлення плагінів у Jenkins:
- Встановлення його через ваш Jenkins приладова панель
- Завантаження плагіна з Jenkins веб-сайт та його встановлення вручну.
Крок 1)
- Перейдіть до керувати Jenkins
- Натисніть на опцію «Керування плагінами»
Крок 2)
- На екрані доступних розділів знайдіть «роль».
- Виберіть рольстратегія авторизації підключати
- Натисніть на "Встановити без перезавантаження” (переконайтеся, що у вас активне підключення до Інтернету)
⚠️ Примітка до версії: шлях зараз керувати Jenkins > Плагіни а вкладка має назву Доступні плагіниПоле пошуку та назва плагіна однакові, тому два вищезазначені кроки все ще застосовуються.
Крок 3)
Після встановлення плагіна з’явиться статус «успішно», як показано на екрані встановлення нижче.
Натисніть Повернутися на першу сторінку.
Крок 4) Перейдіть до керувати Jenkins -> Налаштувати глобальну безпеку -> під авторизація, вибрати Рольова стратегія. Натисніть на ЗберегтиРозділ «Авторизація» виглядає так.
В нинішній Jenkins посилання на цю сторінку є керувати Jenkins > Безпека, а сама сторінка все ще має заголовок Налаштування глобальної безпеки з тим самим випадаючим списком «Авторизація».
Типи ролей у плагіні Role Strategy
Після активації стратегії на основі ролей плагін пропонує три окремі області дії ролей. Вибір неправильної області дії є найпоширенішою причиною, чому дозвіл не має ефекту, тому варто знати, що охоплює кожна з них, перш ніж щось створювати.
| Тип ролі | Сфера | Типове використання |
| Глобальні ролі | Цілий Jenkins контролер, і вони перевизначають будь-що, встановлене в ролях елементів | адміністратор, автентифікована роль лише для читання, анонімний |
| Ролі елементів | Завдання, конвеєри та папки, повне ім'я яких відповідає шаблону регулярного виразу | Надання одній команді прав на створення та налаштування лише для власних завдань |
| Ролі агентів | Створення агентів, що відповідають шаблону | Дозвіл команді підключати або відключати власних агентів |
У наведеному нижче посібнику використовується глобальна роль для розробник та роль елемента для тестерЗверніть увагу на назву: плагін тепер викликає другу область видимості. Ролі елементів, оскільки він охоплює як папки та конвеєри, так і звичайні завдання. Старіші випуски — і знімки екрана далі на цій сторінці — позначають ту саму таблицю Ролі в проєкті.
Як керувати користувачами та ролями в Jenkins
Нижче наведено кроки щодо керування ролями та їх призначення в Jenkins:
Крок 1)
- Перейдіть до керувати Jenkins
- Виберіть Керування та призначення ролей
Примітка: який Керування та призначення ролей Опція буде видимою, лише якщо ви встановили плагін стратегії ролей та переключили «Авторизація» на «Стратегія на основі ролей».
Крок 2) Натисніть Управління ролями щоб додати нові ролі на основі вашої організації.
Крок 3) Щоб створити нову роль під назвою «розробник»,
- У полі «роль» введіть «розробник».
- Натисніть «Додати», щоб створити нову роль.
- Тепер виберіть Jenkins дозволи користувача, які ви хочете призначити ролі «Розробник».
- Натисніть "Зберегти"
Сітка з позначками, що з’явиться, показана нижче.
Jenkins Групи дозволів, які можна призначити ролі
Прапорці на екрані «Керування ролями» згруповані за об’єктом, на який діє кожен дозвіл. У таблиці нижче пояснюється, що контролює кожна група, що значно спрощує надання мінімальних дозволів, необхідних команді.
| Група дозволів | Що це надає |
| Загальний | Адміністрування, читання та інші права для всього контролера. Адміністратор має повний контроль, тому надавайте його обережно. |
| Повноваження | Перегляд, створення та оновлення збережених облікових даних |
| Агент | Налаштування, підключення, відключення та видалення агентів збірки |
| робота | Збірка, скасування, налаштування, створення, видалення, читання, робочий простір та переміщення завдань |
| прогін | Видалення, відтворення та оновлення окремого запису збірки |
| вид | Створення, налаштування, видалення та читання подань панелі інструментів |
| SCM | Запуск збірки з перехоплювача системи керування версіями |
Починайте кожну нову роль з Загальне/Читання plus Робота/ЧитанняБез цих двох параметрів користувач, що ввійшов у систему, бачить порожню панель інструментів, навіть якщо інші дозволи позначені, що є найпоширенішою плутаниною з цим плагіном.
Як розподілити ролі в Jenkins
Крок 1) Тепер, коли ви створили ролі, давайте призначимо їх конкретним користувачам.
- Перейдіть до керувати Jenkins
- Виберіть «Керувати та призначати ролі».
Крок 2) Ми додамо нову роль «розробник» для користувача «гуру99"
- Установіть прапорець для ролі розробника
- Натисніть "Зберегти"
Ви можете призначити будь-яку роль будь-якому користувачеві відповідно до ваших потреб.
Як створити ролі проекту в Jenkins
Глобальні ролі застосовуються всюди. Якщо дозвіл має застосовуватися лише до одного набору завдань, створіть замість нього роль проекту — область дії, яку плагін тепер називає роллю елемента.
Ви можете створити ролі для конкретного проекту Ролі в проекті.
Крок 1) In JenkinsКерування та призначення ролей
- Введіть роль «тестер»
- Додайте до цього візерунок, додаючи тестер.*, тож будь-яке ім’я користувача, що починається з «тестер», буде призначено вказану вами проектну роль.
- Натисніть кнопку Додати
- Виберіть привілеї
- Натисніть "Зберегти"
Заповнена таблиця ролей проекту наведена нижче.
Шаблон — це регулярний вираз, який зіставляється з повною назвою елемента, тому tester.* також відповідає папці з назвою набір тестувальників і все, що в ньому. Випробуйте новий візерунок на одноразовому завданні, перш ніж застосовувати його до реального проєкт у фрістайлі або робота з трубопроводу.
Матрична безпека проти рольової стратегії
Стратегія на основі ролей – не єдиний варіант авторизації в цьому випадаючому списку. Jenkins постачається з вбудованою матричною системою безпеки, і для невеликої установки цього може бути достатньо.
| Точка порівняння | Матрична безпека | Рольова стратегія |
| Встановлення | Вбудований Jenkins | Потрібен плагін Role-based Authorization Strategy |
| Одиниця призначення | Кожному користувачеві або групі надаються дозволи безпосередньо | Дозволи належать до іменованої ролі, а користувачі прив'язані до цієї ролі |
| Додавання десятого користувача | Весь рядок дозволів повторюється вручну | Поставте позначку в одному полі для ролі |
| Контроль кожного завдання | Матрична авторизація на основі проекту, налаштована для кожного завдання окремо | Одна роль елемента зі шаблоном охоплює кожне відповідне завдання |
| Найкраще підходить | Кілька користувачів з майже однаковим доступом | Кілька команд, багато робочих місць, доступ, який змінюється в міру переміщення людей |
Емпіричне правило — це кількість разів, коли дозвіл повторюється. Після того, як той самий шаблон галочок вводиться для третього користувача, роль дешевше підтримувати — той самий аргумент, який підштовхує команди від спеціальних завдань до перевірених. Конвеєр CI/CD.













