Общие сведения
В статье описывается настройка двухфакторной аутентификации (2FA), многофакторной аутентификации (MFA) и Single-Sign On (SSO) для 1С:Предприятие посредством OpenID Connect-механизма системы Avanpost Identity Cloud. Функциональность доступна для веб-интерфейса и тонкого клиента 1С:Предприятие версии 8.3.14 и выше (за исключением 1С:Предприятие версий 8.3.26 - 8.3.27, в которых присутствуют неисправности с протоколом OIDC).
Для 1С:Предприятия, подключенного по OpenID Connect, с целью 2FA/MFA/SSO могут использоваться следующие факторы аутентификации:
- Push+TOTP в мобильном приложении Avanpost Authenticator;
- Сканирование QR-кода мобильным приложением Avanpost Authenticator;
- Усиленный TOTP в мобильном приложении Avanpost Authenticator;
- Пароль;
- Программный TOTP;
- Аппаратный TOTP;
- E-mail OTP;
- FIDO WebAuthn/U2F;
- Электронная подпись, в том числе с проверкой на аппаратных ключевых носителях;
- Сторонние SAML/OIDC IdP в режиме Federation.
Можно обеспечить использование как двухфакторной аутентификации, так и многофакторной аутентификации в зависимости от группы пользователя.
1С:Предприятие версии 8.3.14 и выше поддерживает функциональность SSO (Signle Sign-On), обеспечиваемую протоколом OpenID Connect: если пользователь прошёл аутентификацию в веб-приложение в соответствии с настроенным сценарием, то система не будет запрашивать повторного подтверждения аутентификации при аутентификации в другое веб-приложение. Обеспечивается реализация функций SLO (Single Logout)/Backchannel Logout в рамках протокола OpenID Connect.
Системные требования для интеграции 1С:Предприятие с Avanpost Identity Cloud по протоколу OpenID Connect:
- корректно настроенный тенант в облачном сервисе Identity Cloud;
- сервер 1С:Предприятие версии 8.3.14 или выше; настройка MFA/SSO для версии 1С:Предприятие 8.3.13 или ниже описана в статье по настройке MFA/SSO для 1С:Предприятие 8.3.13 и ниже через механизм Enterprise SSO;
- веб-клиент 1С:Предприятие или тонкий клиент 1С:Предприятие совместимой с сервером 1С:Предприятие версии.
Для выполнения настройки 2FA/MFA/SSO для 1С:Предприятие в соответствии с текущей инструкцией необходимо выполнить следующие предварительные условия:
- Установить и развернуть в сети сервер 1С:Предприятие.
- Установить и развернуть в сети тенант Avanpost Identity Cloud.
- Обеспечить на стороне АРМ пользователя сетевую доступность сервера 1С:Предприятие.
- Обеспечить на стороне АРМ пользователя сетевую доступность сервера Avanpost Identity Cloud.
- Обеспечить на стороне сервера 1С:Предприятие сетевую доступность сервера Avanpost Identity Cloud.
Если необходимо выполнить аутентификацию в тонком клиенте 1С:Предприятие, то развернуть на АРМ пользователя тонкий клиент 1С:Предприятие.
При необходимости аутентификации:
- через E-mail – настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений;
- посредством электронной подписи – настроить криптопровайдер и установить плагин в браузер;
- посредством FIDO WebAuthn/U2F – настроить сертификат;
- посредством Federation через OpenID Connect-провайдер – настроить подключение к OpenID Connect-провайдеру;
- посредством Federation через SAML-провайдер – настроить подключение к SAML-провайдеру.
Для выполнения настройки подключения подготовить следующие сведения:
- URL сервера 1С:Предприятие со схемой протокола (
http://илиhttps://); например – «http://10.10.17.57»; - имя информационной базы (dbname) на стороне сервера 1С:Предприятие (например, «
ZUP»).
Настройка на стороне Identity Cloud
В административной консоли Avanpost Identity Cloud требуется выполнить следующую настройку:
- Открыть административную консоль и перейти в форму создания приложения, нажав кнопку "Добавить приложение" режима "Приложения".
- На этапе "Основные настройки" требуется задать следующие параметры (более подробно параметры OIDC-приложений описаны в статье Управление OpenID Connect-приложениями):
Параметр Значение Наименование Ввести наименование. Тип OAuth/OpenID ConnectПоказывать приложение пользователям Выключить чекбокс (рекомендуется) - На этапе "Настройки интеграции" заполнить указанные поля в соответствии с таблицей:
Параметр Значение Secret Задать секрет (конфиденциальный ключ, который используется для аутентификации клиентского приложения), установленный на стороне целевого приложения. Base URL Базовый URL. Указать значение, равное значению параметра
Redirect URIs– например, «http://10.10.17.57/ZUP/authform.html».Redirect URIs Указать адрес, состоящий из конкатенации через символ «
/» URL сервера 1С:Предприятие, имени информационной базы 1С:Предприятие и строки «authform.html»; например - «http://10.10.17.57/ZUP/authform.html».Logout Допускается не заполнять. Используется для реализации выхода пользователя без перенаправления в браузере (серверный выход). - На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (особенности настройки шага описаны в разделе Управление приложениями и Управление OIDC-приложениями).
- На этапе "Завершение" следует сохранить приложение, делая его активным сразу после создания.
- Перейти в профиль приложения из режима "Приложения" административной консоли. Во вкладке "Настройки интеграции" в разделе настроить следующие параметры:
Публичный Установить флаг Allowed grant types Установить следующие флаги:
- «
Authorization Code». - «
Implicit». - «
Refresh Token».
- «
- Убедиться, что прочие настройки указаны верно и нажать "Сохранить".
Настройка на стороне 1С:Предприятие
На стороне сервера 1C:Предприятие выполнить следующую настройку:
- Перейти в каталог опубликованной базы 1С на веб-сервере IIS и начать редактировать файл
default.vrd. - Добавить секцию с настройками подключения к Identity Cloud по OpenID Connect на основе примера из Приложения А текущей инструкции.
- Указать нижеперечисленные параметры:
Параметр Значение nameУказать произвольное уникальное имя.
titleУказать произвольную надпись, которая будет выводиться пользователям в процессе аутентификации. authenticationUserPropertyNameПараметр в настройках пользователя 1С, используемый для сравнения с передаваемым идентификатором пользователя:
name– имя пользователя из информационной базы 1С;OSUser– имя доменного пользователя;email– адрес электронной почты пользователя;matchingKey– идентификатор пользователя в системе 1С.
- Для всех параметров в секции
providerconfigнеобходимо скопировать из Discovery-документа, доступного по пути.well-known/openid-configuration, за исключениемauthorization_endpoint– к значению параметра из Discovery добавить «?response_mode=query». - Для секции
clientconfigзадать значения:Параметр Значение authorityURL системы аутентификации client_id Значение Client ID из секции «Настройки» приложения, созданного в административной консоли Identity Cloud. redirect_uriЗначение Redirect URIs из секции «Настройки» приложения, созданного на предыдущем шаге. scopeВвести значение: «
openid profile email».response_typeУказать значение «
id_token token».filterProtocolClaimsУказать значение
false.loadUserInfoУказать значение
false. - Для параметра
allowStandardAuthentication–указать значениеtrue илиfalse, на усмотрение администратора 1С:Предприятие. При отключении этого параметра аутентификация через внутренние УЗ 1С будет недоступна.
Проверка настройки
Для выполнения аутентификации в 1С:Предприятие через Identity Cloud должны быть выполнены следующие условия:
- УЗ пользователя существует на стороне сервера 1С:Предприятие, где:
Имя–содержит значение E-mail пользователя;Полное имя– содержит значение имени, используемое для отображения.
- Логин пользователя на стороне 1С:Предприятие содержит значение E-mail, соответствующее УЗ в профиле пользователя Identity Cloud.
- Пользователь состоит в группе на стороне Identity Cloud, которая предоставляет доступ к настроенному приложению.
Предварительное создание УЗ на стороне 1С:Предприятия осуществляется или вручную администратором системы, или сторонними средствами. 1С:Предприятие не выполняет автоматическое создание УЗ в информационной базе 1С:Предприятия на основе JWT-токена, выпущенного в рамках протокола OpenID Connect.
Для проверки в веб-интерфейсе системы 1С:Предприятие необходимо:
- Перейти в браузере на 1С:Предприятие и инициировать аутентификацию через доверенный провайдер Avanpost Identity Cloud. Дождаться перенаправления на интерфейс аутентификации.
- Выполнить аутентификацию в соответствии с настроенным для 1С:Предприятие на стороне Identity Cloud в соответствии с настроенным сценарием многофакторной аутентификации.
- Убедиться, что пользователь успешно аутентифицировался в веб-клиент 1С:Предприятие.
Для проверки в Тонком клиенте системы 1С:Предприятие необходимо:
- Запустить Тонкий клиент 1С:Предприятие и инициировать аутентификацию через доверенный провайдер Identity Cloud. Дождаться перенаправления на интерфейс аутентификации.
- Выполнить аутентификацию в соответствии с настроенным для 1С:Предприятие на стороне Identity Cloud в соответствии со сценарием многофакторной аутентификации.
- Убедиться, что пользователь успешно аутентифицировался в Тонкий клиент 1С:Предприятие.
Сценарии использования
Загрузка пользователей 1С:Предприятие из домена (LDAP)
Чтобы пользователи из домена проходили 2FA/MFA или пользовались SSO при аутентификации в 1С:Предприятие, необходимо использовать встроенную в Identity Cloud функцию интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, OpenLDAP и т.д.). В рамках этой функции можно настроить LDAP-фильтры, которые обеспечат загрузку в Identity Cloud только тех пользователей, которые будут использовать 2FA/MFA/SSO в 1С:Предприятие. Таким образом можно подключить несколько доменов.
Контроль попыток аутентификации пользователей к 1С:Предприятие через Avanpost Identity Cloud
Для контроля попыток аутентификации необходимо использовать журнал событий безопасности. Журнал событий безопасности доступен в разделе "Отчеты".
Управление доступом пользователей к 1С:Предприятие через Avanpost Identity Cloud
Для предоставления доступа пользователю его необходимо включить в группу, которая имеет доступ к созданному приложению. Доступна реализация автоматического включения и исключения пользователя из группы в рамках синхронизации с LDAP-каталогом.
Для отзыва доступа у пользователя необходимо исключить его из группы, которая имеет доступ к созданному приложению.
Управление доступом пользователей к 1С:Предприятие через домен (LDAP)
Avanpost Identity Cloud в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, OpenLDAP и т.д.) обеспечивает автоматизацию управления членством пользователей в группах Avanpost Identity Cloud, предоставляющих доступ к 1С:Предприятию, путём синхронизации членства пользователей в группах Identity Cloud на основе членства пользователей домена в доменных группах.
Управление сценарием аутентификации (2FA/MFA) для 1С:Предприятие через Avanpost Identity Cloud
Для настройки второго фактора, который будет использоваться для приложения 1С:Предприятие, необходимо перейти в административной консоли в карточку приложения и открыть вкладку MFA. В качестве первого шага – указать метод аутентификации Password. В качестве второго шага можно выбрать один из следующих факторов:
- Мобильное приложение Avanpost Authenticator;
- TOTP;
- E-mail;
- Электронная подпись;
- FIDO WebAuthn/U2F;
- OpenID Connect-провайдер;
- SAML-провайдер.
Управление сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников, подключающихся к 1С:Предприятие, через Avanpost Identity Cloud
Для управления сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников необходимо в административной консоли Avanpost Identity Cloud в карточке группы на вкладке «MFA» настроить дополнительный сценарий аутентификации. В этом случае пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на вкладке. Таким образом можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к 1С:Предприятие.
Для авторизации нужно также установить вычисляемое значение, состоящее из ‘DOMAIN\\’+user.userName, во вкладку Scopes.
Значение user.userName при этом должно также быть скопировано из атрибутов соответствующей вкладки Attributes.
Приложение А. Пример файла default.vrd на стороне IIS-сервера 1С:Предприятие
Пример настроенного конфигурационного файла default.vrd на стороне 1С:Предприятие для подключения к Identity Cloud после выполнения настройки параметров подключения к Identity Cloud:
<openidconnect>
<providers>
<![CDATA[
[
{
"name": "fam_oidc",
"title": "log in via FAM",
"authenticationClaimName": "email",
"authenticationUserPropertyName": "email",
"discovery": "https://fam1c.avanpost.ru/.well-known/openid-configuration",
"clientconfig": {
"authority": "https://avanpost-fam-hostname",
"client_id": "162327be-49c1-4d9d-b24a-baf372f85e4e",
"redirect_uri": "https://1c.avanpost.ru/OIDCtest/authform.html",
"scope": "openid email",
"response_type": "code",
"response_mode": "query",
"filterProtocolClaims": false,
"loadUserInfo": false
}
},
]]]>
</providers>
<allowStandardAuthentication>true</allowStandardAuthentication>
</openidconnect>
При настройке конфигурационного файла следует обратить внимание на следующие параметры:
| Параметр | Значение |
|---|---|
| Наименование OIDC-провайдера. |
| Отображаемое имя кнопки или ссылки входа для пользователя. |
| Сlaim (утверждение) из ID-токена, используемый в качестве идентификатора пользователя. Если поле не заполнено, используется email. |
| Поле в настройках пользователя на стороне 1С, сравниваемое с идентификатором пользователя от OIDC-провайдера (параметр
|
| URL-адрес Discovery Document, который содержит метаданные OIDC-провайдера (во избежание ошибки указывать в формате " |
| Базовый URL OIDC-сервера. Следует использовать базовый URL (Base URL) сервиса аутентификации Avanpost Identity Cloud (в данном примере: |
| Уникальный идентификатор клиентского приложения, зарегистрированного в Avanpost Identity Cloud |
| Использовать базовый URL веб-сервиса аутентификации по OpenID Connect сервера 1С:Предприятие (в данном примере: |
| Запрашиваемые области (scopes). |
| Тип ответа при авторизации. Допускаются следующие значения:
|
| Способ передачи параметры в redirect_uri. Используется во избежание проблемы, когда 1С не может добавить "authorization_endpoint": "/oauth2/authorize? |
| Использование фильтрации для служебных (протокольных) claims:
|
| Использование загрузки дополнительных данных о пользователе через endpoint:
|
| Использование стандартной формы входа (логин и пароль), помимо OIDC:
|
Приложение Б. Пример настройки интеграции 1С:Предприятие на стороне административной консоли Avanpost Identity Cloud
Пример карточки OpenID Connect-приложения 1С:Предприятие в Avanpost Identity Cloud:
Приложение В. Пример корректно настроенной карточки пользователя в 1С:Предприятие
Пример предварительно настроенной УЗ в 1С:Предприятие (необходимо включить флаг "Аутентификация OpenID Connect"):
Приложение Г. Процесс аутентификации в 1С:Предприятие через Avanpost Identity Cloud
Выбор метода аутентификации на стороне 1С:Предприятие:
Приложение Д. Методы интеграции и аутентификации для различных версий 1С
| Платформа рабочей станции | Метод интеграции, платформа | Методы аутентификации | 1С:Предприятие 8.3.13 и младше | 1С:Предприятие 8.3.14 и старше | ||||
|---|---|---|---|---|---|---|---|---|
| Тонкий клиент | Веб-клиент | Толстый клиент | Тонкий клиент | Веб-клиент | Толстый клиент | |||
| Microsoft Windows | ESSO | - | + | - | + | + | - | + |
| Пароль | + | - | + | + | - | + | ||
| Программный TOTP (Яндекс.Ключ и т.д.) | + | - | + | + | - | + | ||
| Аппаратный TOTP (Рутокен ОТП и т.д.) | + | - | + | + | - | + | ||
| Push в Avanpost Authenticator | + | - | + | + | - | + | ||
| Усиленный TOTP в Avanpost Authenticator | + | - | + | + | - | + | ||
| QR в Avanpost Authenticator | + | - | + | + | - | + | ||
| E-mail OTP | + | - | + | + | - | + | ||
| FIDO WebAuthn/U2F/Passkeys | - | - | - | - | - | - | ||
| ЭП на USB-токене/смарт-карте (Рутокен ЭЦП и т.д.) | + | - | + | + | - | + | ||
| ЭП через КриптоПро Browser Plugin | - | - | - | - | - | - | ||
| Push в мессенджер Telegram | + | - | + | + | - | + | ||
| OIDC | - | - | - | - | + | + | - | |
| Пароль | - | - | - | + | + | - | ||
| Программный TOTP (Яндекс.Ключ и т.д.) | - | - | - | + | + | - | ||
| Аппаратный TOTP (Рутокен ОТП и т.д.) | - | - | - | + | + | - | ||
| Push в Avanpost Authenticator | - | - | - | + | + | - | ||
| Усиленный TOTP в Avanpost Authenticator | - | - | - | + | + | - | ||
| QR в Avanpost Authenticator | - | - | - | + | + | - | ||
| E-mail OTP | - | - | - | + | + | - | ||
| FIDO WebAuthn/U2F/Passkeys (Рутокен MFA, Yubikey и т.д.) | - | - | - | +¹ | + | - | ||
| ЭП на USB-токене/смарт-карте (Рутокен ЭПЦ и т.д.) | - | - | - | +² | +² | - | ||
| ЭП через КриптоПро Browser Plugin | - | - | - | - | + | - | ||
| Push в мессенджер Telegram | - | - | - | + | + | - | ||
| Linux (Astra Linux, Alt Linux) | ESSO | - | - | - | - | - | - | - |
| OIDC | - | - | - | - | + | + | - | |
| Пароль | - | - | - | + | + | - | ||
| Программный TOTP (Яндекс.Ключ и т.д.) | - | - | - | + | + | - | ||
| Аппаратный TOTP (Рутокен ОТП и т.д.) | - | - | - | + | + | - | ||
| Push в Avanpost Authenticator | - | - | - | + | + | - | ||
| Усиленный TOTP в Avanpost Authenticator | - | - | - | + | + | - | ||
| QR в Avanpost Authenticator | - | - | - | + | + | - | ||
| E-mail OTP | - | - | - | + | + | - | ||
| FIDO WebAuthn/U2F/Passkeys (Рутокен MFA, Yubikey и т.д.) | - | - | - | +¹ | + | - | ||
| ЭП на USB-токене/смарт-карте (Рутокен ЭЦП и т.д.) | - | - | - | - | - | - | ||
| ЭП через КриптоПро Browser Plugin | - | - | - | - | + | - | ||
| Push в мессенджер Telegram | - | - | - | + | + | - | ||
¹ - возможна несовместимость с определёнными версиями Тонкого клиента 1С;
² - работа только через компонент Avanpost Authenticator Desktop для Windows.




