Создать OIDC-приложение в Yandex Identity Hub для интеграции с Selectel
Чтобы пользователи вашей организации могли входить в Selectel по стандарту OpenID Connect (OIDC), создайте OIDC-приложение в Yandex Identity Hub и настройте интеграцию с Selectel.
Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.
Чтобы настроить единый вход в Selectel:
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - Нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа OIDC (OpenID Connect).
-
В поле Тип приложения выберите тип Web Application.
OIDC-приложения типа
Web Applicationоптимально подходят для аутентификации пользователей во внешних веб-приложениях, имеющих серверную часть (бэкенд), в которой может безопасно храниться секрет приложения. Подробнее о типах OIDC-приложений читайте в разделе Типы OIDC-приложений в Yandex Identity Hub. - В поле Имя задайте имя приложения:
selectel-oidc. - В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.
- (Опционально) В поле Описание задайте описание приложения.
- Нажмите Создать приложение.
Настройте интеграцию
Получите учетные данные приложения
- Откройте созданное OIDC-приложение.
- На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) разверните секцию Дополнительные атрибуты и скопируйте значение поля ClientID.
-
Создайте секрет приложения (действие доступно только для приложений типа
Web Application).Для этого в блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
-
(Опционально) Добавьте произвольное описание создаваемого секрета.
-
Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить. -
Создайте федерацию в Selectel
Примечание
Создать федерацию в Selectel может владелец аккаунтаiam.admin
Чтобы настроить федерацию:
-
Войдите в панель управления Selectel
. -
В верхнем меню выберите IAM и перейдите в раздел Федерации.
-
Нажмите Добавить федерацию и выберите OpenID Connect (OIDC).
-
В блоке Настройки федерации:
- В поле Имя задайте имя федерации, например
identity-hub-oidc. - (Опционально) В поле Описание задайте описание федерации.
- В поле Время жизни сессии задайте время жизни сессии или оставьте значение по умолчанию — 24 часа.
- В поле Имя задайте имя федерации, например
-
В блоке Настройки IDP укажите параметры интеграции:
- IdP Issuer —
https://auth.yandex.cloud. - Client ID — значение поля ClientID, скопированное на предыдущем этапе.
- Client secret — секрет приложения, сохраненный на предыдущем этапе.
- Auth URL —
https://auth.yandex.cloud/oauth/authorize. - Token URL —
https://auth.yandex.cloud/oauth/token. - JWKS URI —
https://auth.yandex.cloud/oauth/jwks/keys.
- IdP Issuer —
-
Отключите опцию Автосоздание пользователей, если она включена.
-
Нажмите Создать федерацию.
-
На странице созданной федерации скопируйте ее идентификатор из поля ID.
Настройте приложение в Yandex Identity Hub
- Вернитесь в Yandex Identity Hub
, выберите раздел Приложения и откройте приложениеselectel-oidc. - Справа сверху нажмите
Редактировать и в открывшемся окне:-
В поле Redirect URI укажите адрес:
https://api.selectel.ru/v1/auth/federations/oidc/<идентификатор_федерации>/callbackГде
<идентификатор_федерации>— идентификатор федерации, созданной в Selectel на предыдущем этапе. -
В блоке Безопасность OAuth/OIDC в поле Authentication methods оставьте выбранными оба способа передачи секрета:
Client secret basicиClient secret post. -
В блоке Безопасность OAuth/OIDC отключите опцию Требовать PKCE.
Внимание
Для интеграции с Selectel приложение Yandex Identity Hub не должно требовать использования расширения безопасности PKCE при обмене данными.
-
В поле Scopes выберите атрибуты
openid,emailиprofile. -
Нажмите Сохранить.
-
Добавьте пользователей
Добавьте пользователей в OIDC-приложение Yandex Identity Hub и в федерацию Selectel.
Примечание
Управлять пользователями и группами, добавленными в OIDC-приложение, может пользователь с ролью organization-manager.oauthApplications.userAdmin или выше.
Добавьте пользователей в OIDC-приложение
Совет
Если вы хотите более тонко настроить аутентификацию пользователей в приложениях, в том числе разрешить аутентификацию только с определенных IP-адресов, используйте политики аутентификации.
Политики аутентификации — это инструмент Yandex Identity Hub, позволяющий гибко настраивать доступ к приложениям, запрещая или разрешая аутентификацию определенным пользователям в определенных приложениях и/или с определенных IP-адресов. Подробнее читайте в разделе Политики аутентификации в Yandex Identity Hub.
Чтобы добавить пользователей:
- Откройте приложение
selectel-oidcв Yandex Identity Hub . - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите пользователя или группу пользователей.
- Нажмите Добавить.
Добавьте пользователей в Selectel
Чтобы добавить пользователя в федерацию Selectel:
- Получите идентификатор пользователя в Yandex Identity Hub.
- В панели управления Selectel
в верхнем меню выберите IAM и перейдите в раздел Пользователи панели. - Нажмите Добавить пользователя панели.
- В блоке Данные пользователя:
- В поле Способ входа выберите Федерация (<имя_федерации>).
- В поле External ID укажите ID пользователя, полученный на первом шаге.
- В поле Почта укажите адрес электронной почты пользователя.
- В блоке Настройки доступа выберите область доступа и назначьте пользователю необходимые разрешения
. - Нажмите Добавить пользователя.
Проверьте работу единого входа
Чтобы проверить интеграцию, выполните вход в Selectel от имени пользователя, добавленного в OIDC-приложение:
- Откройте страницу входа в Selectel
. - Если вы уже вошли в Selectel, выйдите из учетной записи.
- Нажмите Войти с помощью SSO.
- Введите идентификатор созданной федерации Selectel и нажмите Войти по SSO.
- На странице аутентификации Yandex Cloud войдите в учетную запись пользователя. Пользователь должен быть добавлен в OIDC-приложение или состоять в группе, добавленной в приложение.
- Если при первом входе Selectel запросит ФИО, укажите его и нажмите Войти по SSO.
- Убедитесь, что вы вошли в Selectel.