Единый вход (SSO)
Страница для администраторов. Единый вход позволяет сотрудникам входить в TAktom учётной записью корпоративного провайдера — по протоколу OIDC или SAML 2.0. Подходит любой совместимый провайдер, облачный или развёрнутый в вашем контуре (например, Keycloak, ADFS или Microsoft Entra ID), и их может быть несколько одновременно, в том числе с разными протоколами.
Функция поставляется отдельно
Единый вход не входит в базовую поставку: он должен быть разрешён конфигурацией инстанса. Если раздела Админ → Единый вход нет, начните с этого — см. Функции и настройки.
Что происходит при входе
На странице входа появляется кнопка «Войти через …» для каждого включённого провайдера. Дальше человек попадает на страницу провайдера, а вернувшись — оказывается в TAktom.
Учётная запись при первом входе заводится автоматически (это можно запретить, см. ниже): имя и почта берутся у провайдера, роль — из сопоставления групп, если оно настроено. Такая запись занимает лицензионное место ровно как заведённая руками, и лимит мест на неё распространяется.
У учётных записей, созданных провайдером, пароля в TAktom нет — вход по паролю для них невозможен, пока человек не задаст пароль сам через «Забыли пароль?».
Три рубильника
Кнопка на странице входа появится, только когда сойдутся все три условия. Так сделано намеренно, чтобы функция не включилась сама:
- функция разрешена конфигурацией инстанса и включена в Админ → Плагины;
- конфиг-модуль «Единый вход» включён в Админ → Настройки. Пока он выключен, кнопок нет, как бы ни были настроены провайдеры;
- сам провайдер заполнен и включён на Админ → Единый вход.
Настройка провайдера
Откройте Админ → Единый вход и добавьте провайдера. Ему задаётся идентификатор — строчные латинские буквы, цифры и дефис, до 32 символов: он попадает в адрес входа, и сменить его потом нельзя, только удалить провайдера и завести заново. Поле «Протокол» выбирает OIDC или SAML 2.0; общие для обоих поля — название, разрешённые домены, группы → роли и иконка.
OIDC
На странице показан адрес возврата (redirect URI) вашего инстанса — впишите его в приложение на стороне провайдера символ в символ.
Поля провайдера OIDC:
| Поле | Что задаёт |
|---|---|
| Провайдер | Отображаемое название — из него складывается текст кнопки «Войти через …». |
| Issuer | Базовый адрес провайдера, по которому доступно описание OIDC. Всё остальное — адреса и ключи — берётся оттуда автоматически. |
| Client ID / Client secret | Реквизиты приложения, созданного на стороне провайдера. Секрет наружу не отдаётся: интерфейс показывает лишь, задан он или нет. |
| Scopes | Минимум openid email profile. Добавьте groups, если провайдер отдаёт группы и нужно сопоставление ролей. |
| Разрешённые домены | Список доменов почты через запятую. Пусто — ограничения нет. |
| Доп. параметры авторизации | Параметры, которые ваш провайдер принимает сверх стандартного OIDC. Стандартные параметры перекрыть нельзя. |
| Группы → роли | Сопоставление групп провайдера с глобальными ролями. Порядок задаёт приоритет; совпадений нет — роль по умолчанию (участник). Применяется при создании учётной записи. |
| Доверять email без email_verified | Для собственного провайдера, который не сообщает, подтверждён ли адрес. |
| Иконка (URL) | Картинка на кнопке входа. |
SAML 2.0
Вход всегда начинается на стороне TAktom: запрос уходит провайдеру, ответ возвращается на адрес приёма. Вход, начатый из портала провайдера (IdP-initiated), не принимается.
- Metadata провайдера (IdP). Загрузите файл metadata провайдера или укажите его адрес (только
https) и нажмите «Загрузить по адресу». Из неё берутся entityID провайдера, адрес входа и сертификаты подписи — ответы провайдера проверяются только ими. Автообновления нет: если провайдер сменил сертификат, загрузите metadata заново. Сроки действия сертификатов видны рядом. - Наша сторона (SP) — передайте администратору IdP. Здесь показаны SP entityID (Audience) и адрес приёма ответов ACS URL (HTTP-POST), оба вида
https://<your-host>/auth/sso/saml/<идентификатор>…. Удобнее всего нажать «Скачать metadata SP» и отдать файл администратору провайдера целиком. - Подписывать AuthnRequest — включено по умолчанию и рекомендуется. Ключ подписи заводится автоматически на 10 лет и не покидает сервер; выключайте, только если провайдер не принимает подписанные запросы.
- Атрибуты ответа — имена атрибутов почты, имени и групп. Пусто — используются стандартные имена (
mail/email,displayName/cn,groups/memberOfи их варианты у ADFS и Entra ID). NameID форматаemailAddressтоже годится как почта. - Считать email подтверждённым — в SAML нет признака подтверждения адреса. Включайте для собственного провайдера, иначе вход не свяжется с существующей локальной учётной записью с тем же адресом.
Нужен постоянный NameID
Провайдер должен присылать постоянный идентификатор пользователя (persistent, emailAddress или unspecified). Временный (transient) меняется при каждом входе — вернувшийся сотрудник выглядел бы новым человеком, поэтому такой вход отклоняется с сообщением о временном идентификаторе.
Один провайдер (его entityID) подключается один раз: второе подключение того же провайдера сохранить нельзя.
Проверка
Изменения подхватываются примерно за десять секунд. Кнопка «Проверить» опрашивает провайдера и показывает, отвечает ли он и сходятся ли настройки; у SAML она смотрит metadata, сроки сертификатов и ключ подписи запросов.
Разрешённые домены у публичного провайдера
Если провайдер публичный, пустое поле «Разрешённые домены» означает, что войти сможет любой его аккаунт — и, при включённом автосоздании, получить у вас учётную запись. Ограничивайте домены.
Собственный провайдер с самоподписанным сертификатом
Такой сертификат по умолчанию не принимается, и вход падает с ошибкой TLS. Корневой сертификат нужно добавить в инстанс при развёртывании — см. Конфигурация → Единый вход.
Связывание и автосоздание
Два параметра функции задают, что делать с человеком, который вошёл впервые. В интерфейсе их пока нет — они меняются на стороне установки, в конфигурации конфиг-модуля единого входа; по умолчанию оба включены:
- Связывать по адресу почты (по умолчанию включено) — если локальная учётная запись с таким адресом уже есть, вход привязывается к ней. Работает только для подтверждённого провайдером адреса: иначе чужой непроверенный адрес открыл бы доступ к существующей записи.
- Автосоздание (по умолчанию включено) — заводить учётную запись при первом входе. Выключите, если состав пользователей должен вестись вручную: тогда войдут только те, кому запись уже заведена.
Аварийный доступ
Не отключайте вход по паролю заранее
Сначала убедитесь, что хотя бы один администратор действительно вошёл через провайдера. Отключив пароль до этого, вы рискуете не попасть в инстанс вообще.
Если доступ всё же потерян — провайдер лёг, приложение на его стороне отозвали — есть два пути, и оба не зависят от него:
- токен владельца установки: он даёт административный доступ к API, минуя вход в интерфейс, и позволяет вернуть парольный вход. См. Конфигурация → Токен владельца;
- «Забыли пароль?» — владельцу почтового адреса доступен обычный сброс пароля, даже если учётная запись была создана провайдером.
Если вход не удался
Человек возвращается на страницу входа с сообщением об ошибке. Типичные причины:
| Что видит пользователь | Где искать причину |
|---|---|
| Время на вход истекло | С нажатия кнопки провайдера до возврата прошло больше десяти минут, либо переход повторён по той же ссылке (она одноразовая) — просто начать заново. |
| Провайдер отклонил вход | Отказ на стороне провайдера: человек отменил вход или приложение не одобрено. |
| Провайдер недоступен | Плагин не запущен, провайдер не отвечает или неверный issuer. При выключенной функции ошибки не будет — кнопок на странице входа просто нет. |
| Адрес уже занят локальной учётной записью | Связывание по адресу запрещено или адрес не подтверждён провайдером. Включите связывание и добейтесь подтверждённого адреса (для собственного провайдера — «Доверять email без email_verified», у SAML — «Считать email подтверждённым») либо освободите адрес: ручного связывания записей в интерфейсе нет. |
| Адрес принадлежит клиенту портала | Контуры сотрудников и клиентов Service Desk не смешиваются — нужен другой адрес. |
| Провайдер не передал адрес почты | В приложении на стороне провайдера не выданы нужные scopes (OIDC) или не настроен атрибут почты (SAML). |
| Провайдер передал временный идентификатор | SAML: в настройках провайдера выбран transient NameID — нужен постоянный. |
| Автосоздание выключено | Заведите учётную запись заранее либо включите автосоздание. |
| Учётная запись отключена | Вход этой записи отключён администратором — см. Пользователи и права. |
| Достигнут предел пользователей | Свободных лицензионных мест нет — см. Пользователи и права. |
| Добавление пользователей приостановлено | У инстанса задолженность по оплате — новые учётные записи не создаются, пока она не погашена. |
Что дальше
- Пользователи и права — роли, места и управление входом.
- Функции и настройки — включение функций.
- Конфигурация — секреты провайдеров и сертификаты.
Смотрите также
- Профиль и безопасность → Вход через провайдера организации — что происходит на стороне сотрудника.
- Плагины → Разрешённый набор функций — почему раздела может не быть вовсе.
- Первые шаги — как выглядит страница входа с кнопками провайдеров.