Создать SAML-приложение в Yandex Identity Hub для интеграции с SonarQube
Примечание
Функциональность находится на стадии Preview.
SonarQube
Чтобы пользователи вашей организации могли аутентифицироваться в SonarQube с помощью технологии единого входа по стандарту SAML
Управлять SAML-приложениями может пользователь, которому назначена роль organization-manager.samlApplications.admin или выше.
Чтобы дать доступ пользователям вашей организации в SonarQube:
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа SAML (Security Assertion Markup Language).
- В поле Имя задайте имя создаваемого приложения:
sonarqube-app. - (Опционально) В поле Описание задайте описание приложения.
- (Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
- Нажмите Создать приложение.
Настройте интеграцию
Примечание
Настройка SAML-интеграции доступна для SonarQube Developer Edition и выше.
Чтобы настроить интеграцию SonarQube с созданным SAML-приложением в Identity Hub, выполните настройки на стороне SonarQube и на стороне Identity Hub.
Настройте SAML-приложение на стороне SonarQube
Примечание
Настройку SAML-приложения в SonarQube может проводить пользователь с глобальным разрешением Administer System.
- Чтобы настроить аутентификацию по стандарту SAML на стороне SonarQube, в верхней панели выберите раздел Administration, после чего через появившееся меню перейдите в Configuration -> General Settings. В меню General Settings выберите раздел Authentication -> SAML.
- Нажмите кнопку Create configuration.
Далее следуйте шагам, описанным ниже:
Подключите SonarQube к IdP
Настройте связь между SonarQube и Identity Hub:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное SAML-приложение. - На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте значения полей Issuer / IdP EntityID и Login URL.
- На вкладке Обзор в блоке Сертификат приложения нажмите на кнопку Скачать сертификат и сохраните файл на своем устройстве.
- Вернитесь в SonarQube, после чего в меню Edit SAML configuration:
- В поле Application ID оставьте значение по умолчанию —
sonarqube. - Вставьте скопированные значения в поля Provider ID и SAML login url.
- Откройте сохраненный файл сертификата в любом текстовом редакторе, скопируйте его содержимое и вставьте в поле Identity provider certificate.
- В поле Application ID оставьте значение по умолчанию —
Сопоставьте атрибуты пользователей
Настройте соответствие между полями объектов пользователей в SonarQube и Identity Hub:
- В поле SAML user login attribute укажите
login. - В поле SAML user name attribute укажите
fullname. - (Опционально) В поле SAML user email attribute укажите
emailaddress. - Если необходимо, чтобы пользователи в SonarQube при входе добавлялись в одну из групп, добавьте атрибут групп пользователей. Для этого в поле SAML group attribute укажите
groups. - Сохраните настройки, нажав кнопку Save configuration.
- Нажмите кнопку Enable configuration.
Установите публичный URL
В меню General Settings перейдите из раздела Authentication в раздел General. В блоке General введите в поле Server base URL адрес https://<your-domain>.
Сопоставьте группы пользователей
Примечание
Если не настроить сопоставление групп, все пользователи будут при входе добавлены в группу по умолчанию — sonar-users.
Вы можете настроить, в какую группу будут добавлены пользователи при входе, для этого необходимо создать группы на стороне SonarQube:
- Вверху страницы из раздела Configuration перейдите в Security -> Groups.
- Нажмите кнопку Create Group.
- В поле Name введите имя группы, например,
test-group. Группу необходимо будет создать при настройке приложения на стороне Identity Hub. - Нажмите кнопку Create.
- Чтобы настроить разрешения для группы:
- В меню Security перейдите из раздела Groups в раздел Global Permissions.
- Справа от группы
test-groupотметьте нужные разрешения.
Настройте SAML-приложение на стороне Yandex Identity Hub
Настройте эндпоинты поставщика услуг
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное SAML-приложение. - В правом верхнем углу нажмите
Редактировать и в открывшемся окне:- В поле SP EntityID укажите значение
sonarqube. - В поле ACS URL укажите адрес
https://<your-domain>/oauth2/callback/saml. - Нажмите Сохранить.
- В поле SP EntityID укажите значение
Настройте атрибуты пользователей
Важно
Для интеграции с SonarQube необходимо, чтобы у пользователей был атрибут login.
Если у пользователей нет атрибута login, добавьте его:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Атрибуты.
- В правом верхнем углу страницы нажмите
Добавить атрибут и в открывшемся окне:- В поле Имя атрибута введите
login. - В поле Значение выберите
SubjectClaims.preferred_username. - Нажмите Добавить.
- В поле Имя атрибута введите
Если вы настроили сопоставление групп пользователей на стороне SonarQube, добавьте атрибут группы пользователей. Для этого:
- В правом верхнем углу страницы нажмите
Добавить атрибут группы и в открывшемся окне: - В поле Имя атрибута укажите
groups. - В поле Передаваемые группы выберите
Только назначенные группы. - Нажмите Добавить.
Подробнее о настройке атрибутов см. Настройте атрибуты пользователей и групп.
Добавьте пользователей
Чтобы пользователи вашей организации могли аутентифицироваться в SonarQube с помощью SAML-приложения Identity Hub, необходимо явно добавить в ваше SAML-приложение нужных пользователей и/или группы пользователей.
Примечание
Управлять пользователями и группами, добавленными в SAML-приложение, может пользователь, которому назначена роль organization-manager.samlApplications.userAdmin или выше.
-
Если вы настроили сопоставление групп пользователей на стороне SonarQube, создайте необходимую группу:
Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Группы. - В правом верхнем углу страницы нажмите
Создать группу. - Задайте название
test-group. - Нажмите Создать группу.
- Добавьте пользователей в группу:
- Перейдите на вкладку Участники.
- Нажмите Добавить участника.
- В открывшемся окне выберите нужных пользователей.
- Нажмите Сохранить.
- Войдите в сервис Yandex Identity Hub
-
Добавьте пользователей в приложение:
Интерфейс Cloud Center- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите Добавить.
- Войдите в сервис Yandex Identity Hub
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе SAML-приложения и интеграции с SonarQube, выполните аутентификацию в SonarQube от имени одного из добавленных в приложение пользователей. Для этого:
- В браузере перейдите по адресу вашего экземпляра SonarQube (например,
https://<your-domain>). - Если вы были авторизованы в SonarQube, выйдите из профиля.
- На странице аутентификации SonarQube нажмите Log in with SAML.
- На странице аутентификации Yandex Cloud укажите адрес электронной почты и пароль пользователя. Пользователь должен быть добавлен в приложение или состоять в группе, добавленной в приложение.
- Убедитесь, что вы авторизовались в SonarQube.
- Если вы настроили сопоставление групп, перейдите в профиль пользователя в SonarQube и убедитесь, что в блоке Groups отображается соответствующая группа.