> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yahont.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Провайдеры SSO

> Управление несколькими поставщиками SSO из панели администратора

Yahont поддерживает настройку поставщиков SSO прямо из панели администратора. Поставщики Google,
OIDC и SAML хранятся как строки, которые можно добавлять,
изменять и включать без изменения переменных окружения и перезапуска Yahont.
Пользователи выбирают поставщика на странице входа,
поэтому один инстанс Yahont может обслуживать команды с разными поставщиками удостоверений.

> [!NOTE]
>
> Панель администратора — единственный способ настроить SSO. Переменные окружения (`AUTH_TYPE=google_oauth`,
> `AUTH_TYPE=oidc` или `AUTH_TYPE=saml` и сопутствующие переменные) SSO не включают.
> В новой установке создайте первого пользователя с адресом электронной почты и паролем (первый пользователь становится
> администратором), затем добавьте поставщика в панели администратора.

## Управление поставщиками

Откройте **Панель администратора** → **Организация** → **Провайдеры SSO**.

![Страница администратора «Провайдеры SSO»](https://mintcdn.com/yahont-ai/UKtfkv0aQHzrYqTA/assets/deployment/sso_providers_page.png?fit=max\&auto=format\&n=UKtfkv0aQHzrYqTA\&q=85\&s=12dfe205726c2cd4268f8559478868f8)

**1. Добавьте поставщика**

Нажмите **Add Provider** и выберите тип поставщика: **Google**, **OIDC** или **SAML**.

Задайте поставщику **Name** (slug в нижнем регистре, используемый в URL входа) и **Display Name** (подпись,
которую пользователи видят на кнопке входа).

![Окно добавления поставщика SSO](https://mintcdn.com/yahont-ai/UKtfkv0aQHzrYqTA/assets/deployment/sso_providers_modal.png?fit=max\&auto=format\&n=UKtfkv0aQHzrYqTA\&q=85\&s=9aafdeacf33664754137839113123542)

**2. Заполните конфигурацию поставщика**

Каждый тип поставщика запрашивает собственные учётные данные:

* **Google**: Client ID и Client Secret из вашей Google Cloud Console.
* **OIDC**: Client ID, Client Secret и URL конфигурации OpenID
  (конечная точка `.well-known/openid-configuration`).
* **SAML**: IdP entity ID, IdP SSO URL, сертификат IdP x509 и
  SP entity ID. Сертификат SP, закрытый ключ и атрибут электронной почты необязательны в зависимости от вашего IdP.

При желании ограничьте поставщика определёнными **доменами электронной почты**.
Пользователи вне этих доменов не смогут войти через него. (В Yahont Cloud этот список обязателен. См.
[Yahont Cloud](#onyx-cloud) ниже.)

Записи OIDC также содержат переключатель **Require Verified Email Claim** для IdP,
которые передают необязательное утверждение `email_verified`.
Записи Google и OIDC дополнительно предлагают **Enable PKCE** и переопределение **Scopes** для каждого поставщика,
имеющие приоритет над переменными окружения всего развёртывания. Подробности см.
в разделе [Настройка запрашиваемых областей](/deployment/authentication/oidc#customizing-requested-scopes).

**3. Зарегистрируйте callback у вашего поставщика удостоверений**

После сохранения в строке поставщика показывается его **Redirect URI** (OIDC и Google) или **ACS URL** (SAML).
Скопируйте его в консоль вашего поставщика удостоверений как разрешённый callback для приложения.

**4. Проверьте вариант входа**

Новые поставщики включены при создании и появляются как варианты входа на странице входа.
Позже их можно отключить или снова включить переключателем в строке поставщика.

## Yahont Cloud

Yahont Cloud — мультитенантное решение: много рабочих пространств используют одну страницу входа,
поэтому настройка поставщиков и вход работают немного иначе, чем при самостоятельном размещении.

* В выборе типа поставщика доступны только **Google** и **OIDC**. SAML в Yahont Cloud недоступен.
* **Email Domains** обязательны, а не необязательны. Без них поставщик пускал бы каждый аккаунт, который ваш поставщик
  удостоверений аутентифицирует, и каждый занимал бы место.
* На странице входа показывается одна кнопка **Sign in with SSO**. Посетитель сначала вводит адрес электронной почты,
  а Yahont определяет,
  к какому рабочему пространству он относится (или для нового сотрудника — какому рабочему пространству принадлежит его
  домен), и затем показывает варианты входа этого рабочего пространства.

### Подтверждение домена

Поскольку Yahont Cloud обслуживает много компаний из одного инстанса, домен направляет входы,
только когда ваше рабочее пространство докажет, что контролирует этот домен:
указание домена у поставщика заявляет на него права,
но новый сотрудник с этим доменом не сможет войти и быть создан автоматически, пока заявка не подтверждена.
Пользователи, уже созданные в рабочем пространстве,
всегда могут входить через поставщика независимо от статуса подтверждения.

**1. Сохраните поставщика**

Добавьте или обновите поставщика с доменом в **Email Domains** и сохраните.

**2. Опубликуйте запись DNS**

Снова откройте поставщика и найдите домен в **Domain Verification**.
Скопируйте показанные **Name** и **Value** в новую запись **TXT** у вашего DNS-провайдера.

**3. Подтвердите домен**

Нажмите **Verify Domain**. Yahont разрешает запись и при совпадении помечает домен подтверждённым.
Изменения DNS могут распространяться до часа, поэтому если подтверждение сразу не проходит, подождите и повторите.

Yahont регулярно (примерно каждые шесть часов) заново проверяет TXT-запись каждого подтверждённого домена.
Если запись удалена или изменена, домен перестаёт направлять новые входы.
Временный сбой поиска DNS не снимает подтверждение.

> [!NOTE]
>
> Подтверждение домена к Google не относится. Укажите домены электронной почты как обычно,
> но новый сотрудник с доменом Google Workspace может войти и быть создан без TXT-записи DNS,
> так как его вход через Google уже доказывает, что он контролирует адрес в этом домене.

## Отключение входа по паролю

Когда SSO работает, можно полностью закрыть вход и регистрацию по паролю,
чтобы единственным способом входа был ваш поставщик удостоверений.
Откройте **Панель администратора** → **Организация** → **Безопасность и защита** и включите **Disable Password Login &
Signup**.

* Сохранение отклоняется, если не включён ни один поставщик SSO, чтобы
  вы не заблокировали себя.
* При включённом переключателе страница входа показывает только варианты входа через SSO,
  страница регистрации перенаправляет на вход, а бэкенд отклоняет вход по паролю независимо от способа вызова.
* Отключение последнего включённого поставщика SSO отклоняется, пока переключатель включён.
* Только для развёртываний с самостоятельным размещением (single-tenant).

## Доступность в Yahont CE и Enterprise Edition

В Yahont CE доступны вход по электронной почте и паролю и поставщики SSO Google, OIDC и SAML.
Их настраивают в панели администратора.

Одновременно можно включить несколько поставщиков. В Yahont CE нет ограничения на их число:
проверку тарифа выполняет код Enterprise Edition, которого в CE нет.

## Примечания

* Секреты доступны только для записи. После сохранения учётные данные показываются замаскированными и
  никогда не возвращаются API полностью.
* **Тип** и **имя** поставщика фиксируются после создания. Чтобы их изменить,
  добавьте нового поставщика и отключите старого.
* Поставщики отключаются, а не удаляются, поэтому аккаунты, входившие
  через поставщика, сохраняются при отключении и повторном включении.
* Входы через Google и OIDC не привязываются к существующему аккаунту с тем же адресом электронной почты.
  Вход завершается ошибкой, а не объединяет аккаунты. Чтобы перевести пользователя на поставщика Google или OIDC,
  попросите администратора деактивировать и затем удалить аккаунт,
  чтобы пользователь мог заново зарегистрироваться через него.
  Входы через SAML сопоставляют пользователей по адресу электронной почты,
  поэтому существующий аккаунт может входить через нового поставщика SAML напрямую.
* Если открытая регистрация ограничена (настройка **Ограничить открытую регистрацию** в
  **Панель администратора** → **Разрешения** → **Пользователи**), регистрация через SSO тоже закрыта.
  Новые пользователи, которых не приглашали, отклоняются при входе,
  пока администратор не пригласит их адрес электронной почты.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.