К статье
Практический материал

Администрирование · 12 мин

Аутентификация OpenID Connect в 1С: что это и как её использовать

OpenID Connect в 1С: что это за механизм аутентификации, как работает, чем отличается от OAuth 2.0, как настроить в конфигураторе и какие ошибки бывают.

OpenID Connect (OIDC) — это протокол аутентификации, построенный поверх OAuth 2.0, который позволяет пользователю входить в прикладное решение 1С через внешнего поставщика удостоверений. Вместо того чтобы хранить пароль в самой информационной базе, 1С доверяет проверку личности внешнему сервису: корпоративному Keycloak, Active Directory Federation Services, «1С:Линк», облачному провайдеру или другому серверу, поддерживающему стандарт OpenID Connect.

Механизм особенно востребован в организациях, где сотрудники работают с несколькими системами и нужен единый вход (Single Sign-On). Пользователь один раз проходит проверку у поставщика удостоверений, после чего получает доступ к 1С без повторного ввода логина и пароля. Это снижает нагрузку на службу поддержки, уменьшает риск утечки паролей и упрощает блокировку доступа при увольнении сотрудника.

Поддержка OpenID Connect реализована на уровне платформы «1С:Предприятие»: администратор настраивает параметры подключения к поставщику удостоверений, а пользователи информационной базы сопоставляются с учётными записями внешнего сервиса. Далее разберём, как это работает технически, какие варианты настройки существуют и на что обратить внимание при внедрении.

Что такое OpenID Connect и как он работает в 1С

OpenID Connect — надстройка над протоколом авторизации OAuth 2.0. Если OAuth 2.0 отвечает на вопрос «что разрешено делать приложению», то OIDC добавляет ответ на вопрос «кто этот пользователь». Ключевой элемент протокола — ID-токен, подписанный поставщиком удостоверений и содержащий сведения о пользователе: идентификатор, имя, время входа и другие утверждения (claims).

В контексте 1С схема выглядит так: пользователь запускает клиентское приложение и выбирает вход через OpenID Connect. Платформа перенаправляет его на страницу поставщика удостоверений, где он вводит свои корпоративные учётные данные. После успешной проверки поставщик возвращает токен, платформа валидирует его подпись и ищет в списке пользователей информационной базы запись, сопоставленную с этим внешним идентификатором. Если сопоставление найдено — сеанс открывается.

Важно понимать: пароль пользователя при такой схеме в информационной базе 1С не хранится и не проверяется. База доверяет только подписи поставщика удостоверений, поэтому безопасность всей цепочки определяется защищённостью внешнего сервиса и корректностью настройки доверия.

Чем OpenID Connect отличается от других способов входа в 1С

Платформа «1С:Предприятие» поддерживает несколько видов аутентификации, и выбор между ними зависит от инфраструктуры организации. Встроенная аутентификация 1С хранит хеш пароля в самой базе — это просто, но требует отдельного управления паролями. Аутентификация операционной системы связывает пользователя 1С с учётной записью Windows и работает в доменной сети, но ограничена сценариями, где клиент и сервер находятся в одной доменной среде.

OpenID Connect снимает оба ограничения: он работает через веб-протоколы, подходит для тонкого и веб-клиента, для распределённых команд и для сценариев с внешними пользователями. При этом токен выдаётся на ограниченное время, а отзыв доступа выполняется централизованно на стороне поставщика удостоверений.

Сравнение способов аутентификации

Встроенная аутентификация 1С

Подходит для небольших баз без внешних сервисов. Ограничение: пароли управляются отдельно в каждой базе, нет единого входа.

Аутентификация ОС

Удобна в доменной сети Windows с толстым клиентом. Ограничение: плохо работает для веб-клиента и пользователей вне домена.

OpenID Connect

Подходит для единого входа в несколько систем, веб-клиента и внешних пользователей. Ограничение: требует развёрнутого и доступного поставщика удостоверений.

Когда имеет смысл внедрять OpenID Connect

Переход на OIDC оправдан, если в организации уже есть централизованный поставщик удостоверений и несколько прикладных систем, между которыми нужен единый вход. Типичные сценарии: корпоративный портал и 1С используют одну учётную запись; сотрудники филиалов подключаются через веб-клиент извне; требуется двухфакторная аутентификация, которую реализует внешний сервис; нужно мгновенно блокировать доступ уволенного сотрудника во все системы сразу.

Если же база одна, пользователей немного и все работают в локальной сети, внедрение OIDC может оказаться избыточным: развёртывание и сопровождение поставщика удостоверений потребует компетенций и ресурсов, которые не окупятся. В таких случаях достаточно встроенной аутентификации с политикой сложных паролей.

Маршрут решения

Как выбрать действие

В организации уже работает Keycloak, ADFS или другой IdP и нужен единый входНастраивайте OpenID Connect — инфраструктура готова, затраты минимальны
Пользователи подключаются через веб-клиент извне и нужна двухфакторная проверкаИспользуйте OIDC: двухфакторную аутентификацию реализует поставщик удостоверений
Одна локальная база, несколько пользователей, внешних сервисов нетОставьте встроенную аутентификацию 1С с политикой сложных паролей
Нужна аутентификация ОС в домене, но часть пользователей работает через вебКомбинируйте: для разных пользователей базы можно задавать разные способы входа

Как настроить OpenID Connect в 1С: порядок действий

Настройка выполняется на двух сторонах: сначала регистрируется клиентское приложение у поставщика удостоверений, затем параметры подключения указываются в свойствах информационной базы. Точные названия полей зависят от версии платформы и используемого IdP, поэтому перед началом работы сверьтесь с документацией на вашу версию платформы и на конкретный поставщик.

На стороне поставщика удостоверений создаётся клиент (client) для 1С: задаются идентификатор клиента, секрет (если требуется), разрешённые адреса перенаправления (redirect URI) и область запроса openid. Поставщик выдаёт адрес метаданных (discovery endpoint), из которого 1С автоматически получает адреса точек авторизации и ключи проверки подписи.

В конфигураторе 1С параметры OpenID Connect указываются в свойствах информационной базы: адрес поставщика, идентификатор клиента, секрет и сопоставление полей токена с реквизитами пользователя. После этого в карточке каждого пользователя включается аутентификация OpenID Connect и указывается внешний идентификатор, по которому выполняется сопоставление.

Порядок настройки
  1. 1
    Разверните или выберите поставщика удостоверений и убедитесь, что он доступен по HTTPS с сервера 1С
  2. 2
    Зарегистрируйте приложение 1С у поставщика: задайте client ID, секрет и redirect URI
  3. 3
    В конфигураторе откройте свойства информационной базы и заполните параметры OpenID Connect
  4. 4
    В карточках пользователей включите аутентификацию OpenID Connect и укажите внешний идентификатор
  5. 5
    Проверьте вход тестовым пользователем через тонкий и веб-клиент
  6. 6
    Убедитесь, что у администратора остаётся резервный способ входа на случай недоступности IdP

Проверка результата и контрольные точки

После настройки проверьте не только сам факт входа, но и корректность сопоставления пользователей. Войдите тестовой учётной записью и убедитесь, что открылась сессия именно того пользователя 1С, который привязан к внешнему идентификатору: проверьте имя пользователя в заголовке приложения и доступные роли.

Отдельно протестируйте негативные сценарии: вход пользователя, которого нет в списке пользователей базы, должен завершаться отказом; отключённый пользователь 1С не должен входить даже при валидном токене; после блокировки учётной записи у поставщика удостоверений вход в 1С должен прекращаться. Эти проверки подтверждают, что контур безопасности работает в обе стороны.

Контрольные точки

Как проверить результат

Вход тестового пользователя
Норма

Открывается сеанс нужного пользователя 1С с корректными ролями

Тревожный признак

Вход не выполняется или открывается чужая учётная запись — проверяйте сопоставление идентификаторов

Вход отключённого пользователя базы
Норма

Доступ отклонён даже при валидном токене

Тревожный признак

Отключённый пользователь входит — нарушена логика проверки, требуется разбор настройки

Доступность поставщика удостоверений
Норма

Сервер 1С стабильно обращается к IdP по HTTPS, сертификат действителен

Тревожный признак

Ошибки TLS или таймауты — вход пользователей будет периодически срываться

Типичные ошибки и ограничения

Чаще всего проблемы возникают из-за несовпадения идентификаторов: значение, которое поставщик помещает в токен (например, sub или email), не совпадает с тем, что указано в карточке пользователя 1С. Вторая частая причина — неверно настроенный redirect URI: поставщик отклоняет запрос, если адрес возврата не совпадает с зарегистрированным в точности, включая схему и порт.

Ещё одна группа ошибок связана с инфраструктурой: недоверенный TLS-сертификат поставщика, расхождение системного времени (токен проверяется по сроку действия, и сдвиг часов приводит к отказам), недоступность discovery endpoint с сервера 1С. Учитывайте и архитектурное ограничение: при недоступности поставщика удостоверений пользователи с OIDC-аутентификацией войти не смогут, поэтому для критичных систем планируйте отказоустойчивость IdP.

Типичные ошибки
01
Несовпадение внешнего идентификатора в токене и в карточке пользователя — вход завершается ошибкой «пользователь не найден»
02
Опечатка в redirect URI у поставщика — поставщик отклоняет запрос ещё до ввода пароля
03
Расхождение системного времени между серверами — токены отклоняются как просроченные или ещё не действующие
04
Отключение локальных паролей у всех администраторов до проверки — риск полной потери доступа к базе
05
Использование HTTP вместо HTTPS для поставщика — перехват токенов и компрометация учётных записей

Безопасность и эксплуатация

При работе с OpenID Connect вся цепочка доверия строится на подписи токенов и защищённости канала. Используйте только HTTPS с действительными сертификатами, храните секрет клиента вне прикладного кода и периодически его меняйте. На стороне поставщика удостоверений включайте многофакторную аутентификацию и политику блокировки при подборе пароля — это автоматически распространится и на вход в 1С.

Планируйте жизненный цикл учётных записей: при увольнении сотрудника блокируйте его у поставщика удостоверений и одновременно отключайте пользователя в 1С, чтобы не оставалось «осиротевших» сопоставлений. Регулярно просматривайте журнал регистрации на предмет неудачных попыток входа через OIDC — всплеск таких событий может указывать на ошибки настройки или на попытки подбора.

Итог

Что важно запомнить

OpenID Connect в 1С — это вход через внешнего поставщика удостоверений по подписанному токену, без хранения пароля в базе. Настройка ведётся на стороне IdP и в свойствах информационной базы, пользователи сопоставляются по внешнему идентификатору. Обязательно оставьте резервный способ входа для администратора и проверьте негативные сценарии до перевода пользователей на новый механизм.

Частые вопросы

Чем OpenID Connect отличается от OAuth 2.0?

OAuth 2.0 — протокол авторизации: он отвечает на вопрос, какие действия разрешено выполнять приложению от имени пользователя. OpenID Connect — надстройка над OAuth 2.0, которая добавляет аутентификацию: поставщик выдаёт ID-токен с подтверждёнными сведениями о личности пользователя. Для входа в 1С нужен именно OIDC, а не «чистый» OAuth.

Можно ли использовать OpenID Connect и пароль 1С одновременно?

Да. В карточке пользователя можно включить несколько видов аутентификации, и тогда вход будет возможен любым из разрешённых способов. Это удобно на переходном периоде и как резервный вариант на случай недоступности поставщика удостоверений.

Что произойдёт, если поставщик удостоверений станет недоступен?

Пользователи, у которых включена только OIDC-аутентификация, войти в базу не смогут: платформе не у кого проверить токен. Поэтому критично иметь резервную учётную запись администратора с локальной аутентификацией и продуманную отказоустойчивость самого поставщика.

Работает ли OpenID Connect в веб-клиенте 1С?

Да, сценарий с веб-клиентом — один из основных для OIDC, поскольку протокол изначально построен на перенаправлениях браузера. Тонкий клиент также поддерживает этот механизм. Конкретную поддержку для вашей версии платформы уточняйте в документации.

Нужно ли создавать пользователей в 1С вручную при входе через OpenID Connect?

В базовом сценарии пользователь должен существовать в списке пользователей информационной базы и быть сопоставлен с внешним идентификатором — автоматического создания с назначением ролей по умолчанию не происходит. Массовое заведение пользователей обычно автоматизируют отдельной обработкой или синхронизацией с каталогом.

Какой поставщик удостоверений выбрать для 1С?

Выбирайте тот, который уже используется в организации или проще всего вписывается в инфраструктуру: для Windows-домена часто применяют ADFS, для гетерогенных сред — Keycloak или аналогичные решения с поддержкой стандарта OpenID Connect. Ключевые критерии — поддержка стандарта OIDC, доступность по HTTPS из контура 1С и наличие компетенций по сопровождению.