Создать OIDC-приложение в Yandex Identity Hub
Примечание
Функциональность находится на стадии Preview.
Чтобы пользователи вашей организации могли аутентифицироваться во внешних приложениях с помощью технологии единого входа по стандарту OpenID Connect
Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:-
Выберите метод единого входа OIDC (OpenID Connect).
-
В поле Имя задайте имя создаваемого приложения. Имя должно быть уникальным в пределах организации и соответствовать требованиям:
- длина — от 1 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.
OAuth-клиент является необходимым компонентом при создании OIDC-приложения, создается и удаляется одновременно с OIDC-приложением и неразрывно с ним связан.
-
(Опционально) В поле Описание задайте описание приложения.
-
(Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
-
Нажмите кнопку Создать приложение.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания OIDC-приложения:
yc organization-manager idp application oauth application create --help -
Создайте OAuth-клиент:
yc iam oauth-client create \ --name <имя_OAuth-клиента> \ --scopes <атрибут>[,<атрибут>]Где:
--name— имя OAuth-клиента.--scopes— набор атрибутов пользователей, которые будут доступны поставщику услуг. Укажите один или несколько атрибутов через запятую в формате<атрибут1>,<атрибут2>. Возможные атрибуты:openid— идентификатор пользователя. Обязательный атрибут.profile— дополнительная информация о пользователе, такая как имя, фамилия, аватар.email— адрес электронной почты пользователя.address— место жительства пользователя.phone— номер телефона пользователя.groups— группы пользователей в организации.
Результат:
id: ajeqqip130i1******** name: test-oauth-client folder_id: b1g500m2195v******** status: ACTIVEСохраните значение поля
id, оно понадобится для создания и настройки приложения. -
Создайте секрет для OAuth-клиента:
yc iam oauth-client-secret create --oauth-client-id <идентификатор_OAuth-клиента>Результат:
oauth_client_secret: id: ajeq9jfrmc5t******** oauth_client_id: ajeqqip130i1******** masked_secret: yccs__939233b8ac**** created_at: "2025-10-21T10:14:17.861652377Z" secret_value: yccs__939233b8ac********Сохраните значение поля
secret_value, оно понадобится для настроек приложения на стороне поставщика услуг. -
Создайте OIDC-приложение:
yc iam organization-manager idp application oauth application create \ --organization-id <идентификатор_организации> \ --name <имя_приложения> \ --description <описание_приложения> \ --client-id <идентификатор_OAuth-клиента> \ --authorized-scopes <атрибут>[,<атрибут>] \ --group-distribution-type all-groups \ --labels <ключ>=<значение>[,<ключ>=<значение>]Где:
-
--organization-id— идентификатор организации, в которой нужно создать OIDC-приложение. Обязательный параметр. -
--name— имя OIDC-приложения. Обязательный параметр. Имя должно быть уникальным в пределах организации и соответствовать требованиям:- длина — от 1 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
--description— описание OIDC-приложения. Необязательный параметр. -
--client-id— идентификатор OAuth-клиента, полученный на втором шаге. Обязательный параметр. -
--authorized-scopes— укажите те же атрибуты, которые были указаны при создании OAuth-клиента. -
--group-distribution-type— если при создании OAuth-клиента вы указали атрибутgroups, укажите, какие группы пользователей будут переданы поставщику услуг. Возможные значения:-
all-groups— поставщику услуг будут переданы все группы, в которые входит пользователь.Максимальное количество передаваемых групп — 1 000. Если количество групп, в которые входит пользователь, превышает это число, на сторону поставщика услуг будет передана только первая тысяча групп.
-
assigned-groups— из всех групп, в которые входит пользователь, поставщику услуг будут переданы только те группы, которые будут явно заданы. -
none— поставщику услуг не будут переданы группы, в которые входит пользователь.
-
-
--labels— список меток. Необязательный параметр. Можно указать одну или несколько меток через запятую в формате<ключ1>=<значение1>,<ключ2>=<значение2>.
Результат:
id: ek0o663g4rs2******** name: oidc-app organization_id: bpf2c65rqcl8******** group_claims_settings: group_distribution_type: NONE client_grant: client_id: ajeqqip130i1******** authorized_scopes: - openid status: ACTIVE created_at: "2025-10-21T10:51:28.790866Z" updated_at: "2025-10-21T12:37:19.274522Z" -
- Воспользуйтесь методом REST API OAuthClient.Create для ресурса OAuthClient или вызовом gRPC API OAuthClientService/Create.
- Воспользуйтесь методом REST API OAuthClientSecret.Create для ресурса OAuthClientSecret или вызовом gRPC API OAuthClientSecretService/Create.
- Воспользуйтесь методом REST API Application.Create для ресурса Application или вызовом gRPC API ApplicationService/Create.
Настройте приложение
Чтобы настроить интеграцию внешнего приложения с созданным OIDC-приложением в Identity Hub, выполните настройки на стороне поставщика услуг и на стороне Identity Hub.
Задайте настройки интеграции на стороне поставщика услуг
Значения настроек интеграции, которые нужно задать на стороне поставщика услуг, доступны на странице с информацией о приложении в интерфейсе Cloud Center
В зависимости от возможностей вашего поставщика услуг вы можете выполнить необходимые настройки вручную или автоматически, указав URL с конфигурацией:
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) разверните секцию Дополнительные атрибуты и скопируйте значения параметров, которые необходимо задать на стороне поставщика услуг:
ClientID— уникальный идентификатор приложения.Authorization endpoint— адрес в Yandex Cloud, на который поставщик услуг будет перенаправлять пользователя для прохождения аутентификации.Token endpoint— адрес, на который от внешнего приложения поступает запрос на получение ID-токена и токена доступа.Userinfo endpoint— адрес, по которому внешнее приложение может получить атрибуты пользователя.
-
В блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
- (Опционально) Добавьте произвольное описание создаваемого секрета.
- Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить. -
На стороне поставщика услуг настройте интеграцию с OIDC-приложением Identity Hub, указав скопированные параметры и сгенерированный секрет. При необходимости обратитесь к документации или в службу поддержки вашего поставщика услуг.
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) скопируйте значение поля OpenID Configuration.
По ссылке доступны значения всех настроек, которые необходимо задать на стороне поставщика услуг (за исключением секрета).
-
В блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
- (Опционально) Добавьте произвольное описание создаваемого секрета.
- Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить. -
Если ваш поставщик услуг поддерживает конфигурирование приложения с помощью URL с конфигурацией, на стороне поставщика услуг настройте интеграцию с OIDC-приложением Identity Hub, указав скопированные ссылку и секрет. При необходимости обратитесь к документации или в службу поддержки вашего поставщика услуг.
Настройте OIDC-приложение на стороне Identity Hub
Прежде чем настраивать OIDC-приложение на стороне Identity Hub, получите адрес (адреса) Redirect URI у вашего поставщика услуг. Затем перейдите к настройкам OIDC-приложения в Identity Hub:
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
Справа сверху нажмите кнопку
Редактировать и в открывшемся окне:-
В поле Redirect URI укажите полученный у поставщика услуг адрес.
Используйте кнопку Добавить URI, чтобы указать одновременно несколько адресов Redirect URI.
-
В поле Scopes выберите набор атрибутов пользователей, которые будут доступны поставщику услуг:
-
openid (идентификатор пользователя)— идентификатор пользователя. Обязательный параметр. -
email (адрес электронной почты)— адрес электронной почты пользователя. -
profile (полное имя, имя, фамилия, аватар и др.)— дополнительная информация о пользователе. -
groups (группы пользователя в организации)— группы пользователей организации, участником которых является аутентифицирующийся пользователь. Возможные значения:-
Все группы— поставщику услуг будут переданы все группы, в которые входит пользователь.Максимальное количество передаваемых групп — 1 000. Если количество групп, в которые входит пользователь, превышает это число, на сторону поставщика услуг будет передана только первая тысяча групп.
-
Только назначенные группы— из всех групп, в которые входит пользователь, поставщику услуг будут переданы только те группы, которые явно заданы на вкладке Пользователи и группы OIDC-приложения.
-
-
-
Нажмите кнопку Сохранить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для настройки OAuth-клиента:
yc iam oauth-client update --help -
Выполните команду:
yc iam oauth-client update \ --id <идентификатор_OAuth-клиента> \ --redirect-uris <адрес>[,<адрес>]Где:
--id— идентификатор OAuth-клиента.--redirect-uris— укажите полученный у поставщика услуг адрес или несколько адресов в формате<адрес1>,<адрес2>.
Результат:
id: ajeqqip130i1******** name: test-oauth-client redirect_uris: - https://example.com - https://example.ru folder_id: b1g500m2195v******** status: ACTIVE
Воспользуйтесь методом REST API OAuthClient.Update для ресурса OAuthClient или вызовом gRPC API OAuthClientService/Update.
Настройте пользователей и группы
Чтобы пользователи вашей организации могли аутентифицироваться во внешнем приложении с помощью OIDC-приложения Identity Hub, необходимо явно добавить в OIDC-приложение нужных пользователей и/или группы пользователей:
Примечание
Управлять пользователями и группами, добавленными в OIDC-приложение, может пользователь, которому назначена роль organization-manager.oauthApplications.userAdmin или выше.
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
Перейдите на вкладку Пользователи и группы.
-
Чтобы добавить в приложение пользователя или группу пользователей:
- Нажмите кнопку
Добавить пользователей. - В открывшемся окне выберите нужного пользователя или группу пользователей.
- Нажмите кнопку Добавить.
- Нажмите кнопку
-
Чтобы удалить пользователя или группу пользователей из приложения:
- В списке пользователей и групп в строке с нужным пользователем или группой нажмите значок
и выберите Удалить. - Подтвердите удаление.
- В списке пользователей и групп в строке с нужным пользователем или группой нажмите значок
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Получите идентификатор пользователя или группы пользователей.
-
Чтобы добавить в приложение пользователя или группу пользователей:
-
Посмотрите описание команды CLI для добавления пользователей в приложение:
yc organization-manager idp application oauth application add-assignments --help -
Выполните команду:
yc organization-manager idp application oauth application add-assignments \ --id <идентификатор_приложения> \ --subject-id ek0omvvcb9vv********Где:
--id— идентификатор приложения.--subject-id— идентификатор нужного пользователя или группы пользователей.
Результат:
assignment_deltas: - action: ADD assignment: subject_id: ajetvnq2mil8********
-
-
Чтобы удалить пользователя или группу пользователей из приложения:
-
Посмотрите описание команды CLI для удаления пользователей из приложения:
yc organization-manager idp application oauth application remove-assignments --help -
Выполните команду:
yc organization-manager idp application oauth application remove-assignments \ --id <идентификатор_приложения> \ --subject-id <идентификатор_пользователя>Где:
--id— идентификатор OIDC-приложения.--subject-id— идентификатор нужного пользователя или группы пользователей.
Результат:
assignment_deltas: - action: REMOVE assignment: subject_id: ajetvnq2mil8********
-
Воспользуйтесь методом REST API Application.UpdateAssignments для ресурса Application или вызовом gRPC API ApplicationService/UpdateAssignments.
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе OIDC-приложения и интеграции с поставщиком услуг, выполните аутентификацию во внешнем приложении от имени одного из добавленных в приложение пользователей.