Создать OIDC-приложение в Yandex Identity Hub для интеграции с Jenkins
Jenkins
Чтобы пользователи вашей организации могли аутентифицироваться в Jenkins с помощью технологии единого входа по стандарту OpenID Connect, создайте OIDC-приложение в Yandex Identity Hub и настройте его на стороне Yandex Identity Hub и на стороне Jenkins.
Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.
Примечание
Для интеграции с помощью OIDC для вашего экземпляра Jenkins должен быть настроен публичный домен и корректный SSL-сертификат.
Чтобы дать доступ пользователям вашей организации в Jenkins:
- Создайте приложение в Yandex Identity Hub.
- Настройте интеграцию.
- Убедитесь в корректной работе приложения.
Создайте приложение в Yandex Identity Hub
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения. -
В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:-
Выберите метод единого входа OIDC (OpenID Connect).
-
В поле Имя задайте имя создаваемого приложения:
jenkins-oidc. -
В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.
-
(Опционально) В поле Описание задайте описание приложения.
-
(Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
-
Нажмите Создать приложение.
-
-
В открывшемся окне на вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте и сохраните значение параметров
ClientIDиOpenID Configuration. -
Создайте секрет приложения:
В блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
- (Опционально) Добавьте произвольное описание создаваемого секрета.
- Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить.
Настройте интеграцию
Установите плагин OIDC в Jenkins
Чтобы настроить аутентификацию в Jenkins с помощью OIDC, установите плагин OIDC:
- Войдите в Jenkins под пользователем с правами администратора.
- В меню слева выберите Manage Jenkins > Plugins.
- Перейдите на вкладку Available и в строке поиска введите
OpenId Connect Authentication. - Найдите плагин OpenId Connect Authentication
и установите его, нажав Install. - Дождитесь завершения установки и перезапустите Jenkins, если это потребуется.
После установки плагина в разделе Manage Jenkins > Security появится новый вариант Security Realm – Login with Openid Connect.
Настройте OIDC-приложение на стороне Yandex Identity Hub
Настройте Redirect URI
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное OIDC-приложение. - Справа сверху нажмите
Редактировать и в открывшемся окне:- В поле Redirect URI укажите эндпоинт аутентификации для тестового приложения
<адрес_инстанса_jenkins>/securityRealm/finishLogin. - Нажмите Сохранить.
- В поле Redirect URI укажите эндпоинт аутентификации для тестового приложения
Настройте аутентификацию на стороне Jenkins
- Войдите в Jenkins под пользователем с правами администратора.
- В меню слева выберите Manage Jenkins > Security.
- В разделе Security Realm выберите
Login with Openid Connect. - В поле Client id введите значение, скопированное при настройке OIDC-приложения в Yandex Identity Hub в поле ClientID.
- В поле Client secret введите значение, скопированное при настройке OIDC-приложения в Yandex Identity Hub в блоке Секреты приложения.
- В поле Well-known configuration endpoint введите URL, скопированный при настройке OIDC-приложения в Yandex Identity Hub в поле OpenID Configuration.
- Нажмите Advanced и в поле Override scopes введите
openid email profile. - Нажмите User fields и заполните поля:
- User name field name:
preferred_username - Full name field name:
name - Email field name:
email
- User name field name:
- Нажмите Save.
Добавьте пользователя
Чтобы пользователи вашей организации могли аутентифицироваться в Jenkins с помощью OIDC-приложения Yandex Identity Hub, необходимо явно добавить в OIDC-приложение нужных пользователей и/или группы пользователей.
Примечание
Управлять пользователями и группами, добавленными в OIDC-приложение, может пользователь, которому назначена роль organization-manager.oidcApplications.userAdmin или выше.
-
Добавьте пользователей в приложение:
Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите Добавить.
- Войдите в сервис Yandex Identity Hub
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе OIDC-приложения и интеграции с Jenkins, выполните аутентификацию в Jenkins от имени одного из добавленных в приложение пользователей. Для этого:
- В браузере перейдите по адресу вашего экземпляра Jenkins.
- Вы будете перенаправлены на страницу аутентификации Yandex Cloud. Укажите почту и пароль пользователя, которого вы добавили в приложение. Также у пользователя должна быть указана почта.
- Убедитесь, что вы аутентифицировались в Jenkins.