Создать SAML-приложение в Yandex Identity Hub для интеграции с Jenkins
Jenkins
Чтобы пользователи вашей организации могли аутентифицироваться в Jenkins с помощью технологии единого входа по стандарту SAML
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin или выше.
Примечание
Для интеграции с помощью SAML для вашего экземпляра Jenkins должен быть настроен корректный SSL-сертификат.
Чтобы дать доступ пользователям вашей организации в Jenkins:
- Создайте приложение в Yandex Identity Hub.
- Настройте интеграцию.
- Убедитесь в корректной работе приложения.
Создайте приложение в Yandex Identity Hub
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:-
Выберите метод единого входа SAML (Security Assertion Markup Language).
-
В поле Имя задайте имя создаваемого приложения:
jenkins-saml. -
(Опционально) В поле Описание задайте описание приложения.
-
(Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
-
Нажмите Создать приложение.
-
- Сохраните значение поля Metadata URL, оно понадобится на следующем шаге.
Настройте интеграцию
Установите плагин SAML в Jenkins
Чтобы настроить аутентификацию в Jenkins с помощью SAML, установите плагин SAML:
- Войдите в Jenkins под пользователем с правами администратора.
- В меню слева выберите Manage Jenkins > Plugins.
- Перейдите на вкладку Available и в строке поиска введите
SAML. - Найдите плагин SAML Plugin
и установите его, нажав Install. - Дождитесь завершения установки и перезапустите Jenkins, если это потребуется.
После установки плагина в разделе Manage Jenkins > Security появится новый вариант Security Realm – SAML 2.0.
Настройте SAML-приложение на стороне Yandex Identity Hub
Настройте эндпоинты поставщика услуг
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное SAML-приложение. - Справа сверху нажмите
Редактировать и в открывшемся окне:- В поле SP EntityID вставьте любое значение, например
<адрес_инстанса_jenkins>/. - В поле ACS URL вставьте значение
<адрес_инстанса_jenkins>/securityRealm/finishLogin. - (Опционально) В поле SP Logout URL вставьте значение
<адрес_инстанса_jenkins>/securityRealm/finishLogin. - Нажмите Сохранить.
- В поле SP EntityID вставьте любое значение, например
Настройте аутентификацию на стороне Jenkins
- Войдите в Jenkins под пользователем с правами администратора.
- В меню слева выберите Manage Jenkins > Security.
- В разделе Security Realm выберите
SAML 2.0. - В поле IdP Metadata URL введите адрес файла с метаданными, скопированный ранее.
- В поле Display Name Attribute введите
fullname. - В поле Username Attribute введите
preferred_username. - В поле Email Attribute введите
emailaddress. - Включите опцию Advanced Configuration и в поле SP Entity ID введите значение, которое вы указали в поле SP EntityID на стороне Yandex Identity Hub, например
<адрес_инстанса_jenkins>/. - Нажмите Save.
Настройте атрибуты пользователей
Добавьте пользователям атрибут preferred_username, который будет использоваться в качестве имени пользователя при аутентификации в Jenkins. Для этого:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное приложение. -
Перейдите на вкладку Атрибуты.
-
В правом верхнем углу страницы нажмите
Добавить атрибут и в открывшемся окне:- В поле Имя атрибута введите
preferred_username. - В поле Значение выберите
SubjectClaims.preferred_username. - Нажмите Добавить.
- В поле Имя атрибута введите
Подробнее о настройке атрибутов см. Настройте атрибуты пользователей и групп.
Добавьте пользователя
Чтобы пользователи вашей организации могли аутентифицироваться в Jenkins с помощью SAML-приложения Yandex Identity Hub, необходимо явно добавить в SAML-приложение нужных пользователей и/или группы пользователей.
Примечание
Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена роль organization-manager.samlApplications.userAdmin или выше.
-
Добавьте пользователей в приложение:
Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите Добавить.
- Войдите в сервис Yandex Identity Hub
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе SAML-приложения и интеграции с Jenkins, выполните аутентификацию в Jenkins от имени одного из добавленных в приложение пользователей. Для этого:
- В браузере перейдите по адресу вашего экземпляра Jenkins.
- Вы будете перенаправлены на страницу аутентификации Yandex Cloud. Укажите почту и пароль пользователя, которого вы добавили в приложение. Также у пользователя должна быть указана почта.
- Убедитесь, что вы аутентифицировались в Jenkins.