# Настройки IdP Раздел «Настройки IdP» включает встроенный провайдер идентификации локального инстанса и задаёт его общие параметры: адрес выдачи, сроки жизни токенов и сессий, поставщиков первого фактора для страницы входа, вход по Kerberos и ключи подписи. Настройки действуют на все [приложения SSO](sso-applications.md); отдельному приложению часть сроков можно переопределить в его карточке. ## Основные ![Включение IdP, Issuer URL, адреса эндпоинтов и сроки жизни токенов](../assets/img/idp-settings/nastrojki-idp-osnovnye.png) - **Включить IdP** — публикует OIDC- и SAML-эндпоинты на локальном инстансе. С выключенной отметкой приложения SSO не работают; - **Issuer URL** — базовый адрес IdP, например `https://2fa.company.local/idp`. Должен совпадать с тем адресом, по которому страницу входа видит браузер пользователя: он попадает в метаданные и в сами токены, и приложение сверяет его при проверке; - **Эндпоинты** — адреса, которые понадобятся при настройке приложений. Появляются, как только заполнен Issuer URL: **OpenID Configuration** (`/.well-known/openid-configuration`) и **SAML-метаданные IdP** (`/saml/metadata`). Рядом с каждым — кнопки **«Скопировать»** и **«Скачать»**. Сроки жизни задаются в минутах: - **Время жизни SSO-сессии** — сколько действует сессия единого входа. Пока она активна, пользователь входит в приложения без повторной аутентификации; - **Время жизни access-токена** — срок действия токена доступа, который приложение предъявляет за данными; - **Время жизни ID-токена** — срок действия токена с профилем пользователя; - **Время жизни refresh-токена** — по умолчанию совпадает со сроком SSO-сессии. Обновление работает, только пока сессия активна: с её завершением refresh-токены отзываются; - **Время жизни Authorization Code** — от 1 до 30 минут. Это короткий код, который приложение обменивает на токены (OIDC); - **Время жизни SAML assertion** — от 1 до 60 минут, значение `NotOnOrAfter` в assertion; - **Время жизни SAML SessionNotOnOrAfter** — подсказка приложению о том, сколько держать сессию на своей стороне. Последний параметр блока — **«Макс. одновременных SSO-сессий на пользователя»**. Значение `0` снимает ограничение. Если лимит задан и достигнут, пользователю после подтверждения второго фактора показывается экран выбора сессии, которую нужно завершить. Список активных сессий — в разделе [«SSO-сессии»](sso-sessions.md). ## Аутентификация ![Выбор поставщиков учётных записей для страницы входа IdP](../assets/img/idp-settings/nastrojki-idp-autentifikacziya.png) - **Поставщики учётных записей** — [поставщики первого фактора](account-providers.md) (LDAP или Keycloak), по которым проверяется пароль на странице входа IdP. При проверке используются все выбранные поставщики. ## Пользователи ![Автоматическое создание пользователей при входе через IdP](../assets/img/idp-settings/nastrojki-idp-polzovateli.png) - **Автоматическое создание пользователей** — пользователь, которого ещё нет в Simple2FA, создаётся при первом входе через IdP; - **Группа пользователей по умолчанию** — [группа](user-groups.md), которая назначается таким пользователям. От неё зависят и доступные способы второго фактора, и доступ к приложениям. ## Kerberos / SPNEGO ![Параметры входа по Kerberos: keytab и SPN](../assets/img/idp-settings/nastrojki-idp-kerberos-spnego.png) Блок включает прозрачный вход по доменной сессии: браузер пользователя, вошедшего в домен, проходит страницу входа IdP без ввода логина и пароля. - **Kerberos / SPNEGO** — включает Negotiate на странице входа IdP. Без keytab браузер увидит обычную форму входа; - **Путь к keytab** — файл keytab внутри контура. Если задана переменная окружения `IDP_KERBEROS_KEYTAB`, путь из окружения важнее указанного здесь; - **SPN** — имя участника службы, например `HTTP/idp.company.local@COMPANY.LOCAL`. Это SPN хоста страницы входа IdP — того, что указан в Issuer URL, а не панели администратора. Записывается так же, как в `setspn` и `ktpass`. Пропуск второго фактора после входа в операционную систему настраивается не здесь, а на стороне RADIUS-клиента (флаг «Вход в ОС», `pam_radius`); такая отметка действует столько же, сколько SSO-сессия. ## Ключи подписи ![Список ключей подписи с отпечатками и статусами](../assets/img/idp-settings/nastrojki-idp-klyuchi-podpisi.png) Ключами подписываются токены OIDC и assertion SAML; открытые части публикуются в JWKS, по ним приложения проверяют подпись. В JWKS отдаётся не больше двух ключей. Таблица содержит колонки **ID ключа**, **Отпечаток SHA-256**, **Создан** и **Статус**; у каждой записи есть **«Скачать сертификат»** и кнопка удаления. Статусы: - **Подписывает** — ключ подписывает новые токены OIDC и SAML; - **Только проверка** — ключ отдаётся в JWKS, но новым подписям не служит. В этом состоянии остаётся прежний ключ, пока по нему ещё проверяются выданные токены; - **Выведен** — ключ убран из JWKS; запись о нём остаётся в списке. Кнопка **«Сгенерировать новый ключ»** добавляет ключ. Если активных ключей уже два, самый старый из них уйдёт из JWKS — панель запросит подтверждение, потому что выданные по этому ключу токены перестанут приниматься. Обычный порядок ротации: сгенерировать новый ключ, дождаться, пока истекут токены, подписанные старым, и только потом выводить старый ключ. ## Смотрите также - [Приложения (SSO)](sso-applications.md) - [SSO-сессии](sso-sessions.md) - [Поставщики учётных записей](account-providers.md)