Создать OIDC-приложение в Yandex Identity Hub для интеграции с Cloud.ru
Cloud.ru
Чтобы пользователи вашей организации могли аутентифицироваться в Cloud.ru с помощью технологии единого входа по стандарту OpenID Connect, создайте OIDC-приложение в Identity Hub и настройте его на стороне Identity Hub и на стороне Cloud.ru.
Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.
Чтобы дать доступ пользователям вашей организации в Cloud.ru:
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:-
Выберите метод единого входа OIDC (OpenID Connect).
-
В поле Имя задайте имя создаваемого приложения:
cloud-ru-oidc-app. -
В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.
-
(Опционально) В поле Описание задайте описание приложения.
-
(Опционально) Добавьте метки:
- Нажмите Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите 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 cloud-ru-oauth-client \ --scopes openid,email,profileГде:
--name— имя OAuth-клиента.--scopes— набор атрибутов пользователей, которые будут доступны Cloud.ru. Указаны атрибуты:openid— идентификатор пользователя. Обязательный атрибут.email— адрес электронной почты пользователя.profile— дополнительная информация о пользователе, такая как имя, фамилия, аватар.
Результат:
id: ajeqqip130i1******** name: cloud-ru-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, оно понадобится для настройки Cloud.ru. -
Создайте OIDC-приложение:
yc organization-manager idp application oauth application create \ --organization-id <идентификатор_организации> \ --name cloud-ru-oidc-app \ --description "OIDC-приложение для интеграции с Cloud.ru" \ --client-id <идентификатор_OAuth-клиента> \ --authorized-scopes openid,email,profile \ --group-distribution-type noneГде:
--organization-id— идентификатор организации, в которой нужно создать OIDC-приложение. Обязательный параметр.--name— имя OIDC-приложения. Обязательный параметр.--description— описание OIDC-приложения. Необязательный параметр.--client-id— идентификатор OAuth-клиента, полученный на втором шаге. Обязательный параметр.--authorized-scopes— укажите те же атрибуты, которые были указаны при создании OAuth-клиента.--group-distribution-type— укажитеnone, так как группы пользователей не передаются в Cloud.ru.
Результат:
id: ek0o663g4rs2******** name: cloud-ru-oidc-app organization_id: bpf2c65rqcl8******** group_claims_settings: group_distribution_type: NONE client_grant: client_id: ajeqqip130i1******** authorized_scopes: - openid - email - profile status: ACTIVE created_at: "2025-10-21T10:51:28.790866Z" updated_at: "2025-10-21T12:37:19.274522Z"
Настройте интеграцию
Чтобы настроить интеграцию Cloud.ru с созданным OIDC-приложением в Yandex Identity Hub, выполните настройки на стороне Cloud.ru и на стороне Yandex Identity Hub.
Настройте OIDC-приложение на стороне Yandex Identity Hub
Получите учетные данные приложения
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) разверните секцию Дополнительные атрибуты и скопируйте значения параметров, которые необходимо задать на стороне Cloud.ru:
ClientID— уникальный идентификатор приложения.OpenID Configuration— URL с конфигурацией всех необходимых для настройки интеграции параметров.Authorization endpoint— URL, на который поставщик услуг будет перенаправлять пользователя для прохождения аутентификации.Token endpoint— URL, на который от внешнего приложения поступает запрос на получение ID-токена и токена доступа.Userinfo endpoint— URL, по которому внешнее приложение может получить атрибуты пользователя.
-
В блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
- (Опционально) Добавьте произвольное описание создаваемого секрета.
- Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Получите информацию о созданном OIDC-приложении:
yc organization-manager idp application oauth application get <идентификатор_приложения>Где
<идентификатор_приложения>— это ID OIDC-приложения, полученный при создании.В результате вы получите информацию о приложении, включая:
id: ek0o663g4rs2******** name: cloud-ru-oidc-app organization_id: bpf2c65rqcl8******** client_grant: client_id: ajeqqip130i1******** authorized_scopes: - openid - email - profileСохраните значение
client_id— это Client ID для настройки Cloud.ru. -
Получите URL с конфигурацией OpenID Connect Discovery:
yc organization-manager idp application oauth application get <идентификатор_приложения> \ --format json | jq -r '.client_grant.issuer_uri'Результат будет выглядеть так:
https://auth.yandex.cloud/oauth/<идентификатор_OAuth-клиента>Сохраните этот URL — это OpenID Connect Discovery URL для настройки Cloud.ru.
-
Используйте секрет OAuth-клиента, который был сохранен при создании приложения на предыдущем шаге. Если вы не сохранили секрет, создайте новый:
yc iam oauth-client-secret create \ --oauth-client-id <идентификатор_OAuth-клиента>Сохраните значение
secret_valueиз результата команды — это Client Secret для настройки Cloud.ru.
Настройте OIDC-приложение на стороне Cloud.ru
-
Войдите в консоль
Cloud.ru. -
Перейдите в раздел Администрирование, на вкладку Федерации.
-
Нажмите Создать федерацию и выберите тип протокола OpenID.
-
Заполните название и описание федерации.
-
Задайте длительность сессии.
Примечание
Максимальное время жизни сессии SSO — от 30 минут до 7 дней. При отсутствии активности сессия автоматически завершается, после чего требуется повторная аутентификация.
-
Заполните поля, используя значения из настройки OIDC‑приложения в Yandex Identity Hub:
- Auth URL — значение поля Authorization endpoint.
- Userinfo URL — значение поля Userinfo endpoint.
- Token URL — значение поля Token endpoint.
- Logout URL — значение параметра
end_session_endpointизOpenID Configuration. - Client ID — значение поля ClientID.
- Client Secret — значение блока Секреты приложения.
- JWKS URI — значение параметра
jwks_uriизOpenID Configuration.
-
Нажмите на кнопку Создать.
-
В списке федераций найдите созданную федерацию и скопируйте её ID. Сохраните этот идентификатор — он понадобится в дальнейшем.
Настройте Redirect URI на стороне Yandex Identity Hub
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
Справа сверху нажмите
Редактировать и в открывшемся окне:-
В поле Redirect URI укажите эндпоинт аутентификации для вашего экземпляра Cloud.ru в формате:
https://id.cloud.ru/auth/system/idp/<ID_федерации_Cloud.ru>/callbackНапример:
https://id.cloud.ru/auth/system/idp/5ca1bc33-7e8a-711a-b29a-a8a121eda1cd/callback. -
Нажмите Сохранить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Обновите OAuth-клиент, указав Redirect URI:
yc iam oauth-client update \ --id <идентификатор_OAuth-клиента> \ --redirect-uris "https://id.cloud.ru/auth/system/idp/<ID_федерации_Cloud.ru>/callback"Где:
<идентификатор_OAuth-клиента>— идентификатор OAuth-клиента, полученный при его создании.--redirect-uris— эндпоинт аутентификации для вашего экземпляра Cloud.ru. Например:https://id.cloud.ru/auth/system/idp/5ca1bc33-7e8a-711a-b29a-a8a121eda1cd/callback.
Результат:
id: ajeiu3otac08******** name: cloud-ru-oauth-client redirect_uris: - https://id.cloud.ru/auth/system/idp/5ca1bc33-7e8a-711a-b29a-a8a121eda1cd/callback scopes: - openid - email - profile folder_id: b1gkd6dks6i1******** status: ACTIVE
Добавьте пользователей
Чтобы пользователи вашей организации могли аутентифицироваться в Cloud.ru с помощью OIDC‑приложения Yandex Identity Hub, необходимо явно добавить их учётные записи как в само приложение, так и в федерацию Cloud.ru.
Примечание
Управлять пользователями и группами, добавленными в OIDC-приложение, может пользователь, которому назначена роль organization-manager.oidcApplications.userAdmin или выше.
Добавьте пользователей в OIDC‑приложение Yandex Identity Hub
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения и выберите нужное приложение. - Перейдите на вкладку Пользователи и группы.
- Нажмите
Добавить пользователей. - В открывшемся окне выберите требуемого пользователя.
- Нажмите Добавить.
Если у вас еще нет интерфейса командной строки 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 <идентификатор_пользователя>Где:
--id— идентификатор OIDC-приложения.--subject-id— идентификатор нужного пользователя.
Результат:
assignment_deltas: - action: ADD assignment: subject_id: ajetvnq2mil8********
-
Внимание
Убедитесь, что атрибут email пользователя заполнен и совпадает с адресом, который будет использован при создании учётной записи в федерации Cloud.ru.
Добавьте пользователей в федерацию Cloud.ru
- Войдите в консоль
Cloud.ru. - Откройте раздел Пользователи и перейдите на вкладку Федеративные пользователи.
- В правом верхнем углу нажмите Добавить пользователя федерации.
- Выберите федерацию, в которую нужно включить пользователя.
- Укажите email пользователя.
- Выдайте пользователю необходимые права доступа к проектам и платформам.
- Нажмите Добавить.
Убедитесь в корректной работе приложения
Чтобы проверить корректность работы OIDC‑приложения и его интеграцию с Cloud.ru, выполните аутентификацию в Cloud.ru под учётной записью одного из пользователей, добавленных в приложение.
Для этого:
- В браузере откройте страницу входа в консоль
Cloud.ru. - Если вы были авторизованы, выйдите из профиля.
- На форме входа нажмите кнопку SSO.
- В появившемся диалоге введите ID созданной вами федерации и нажмите Войти.
- На странице аутентификации Yandex Cloud укажите адрес электронной почты и пароль пользователя.
- Убедитесь, что вы успешно аутентифицировались в Cloud.ru.