Общие сведения
В статье описывается настройка двухфакторной аутентификации (2FA), многофакторной аутентификации (MFA) и Single-Sign On (SSO) для 1С:Предприятие посредством OpenID Connect-механизма системы Avanpost FAM. Функциональность доступна для веб-интерфейса и тонкого клиента 1С:Предприятие версии 8.3.14 и выше (за исключением 1С:Предприятие версий 8.3.26 - 8.3.27, в которых присутствуют неисправности с протоколом OIDC).
Для 1С:Предприятия, подключенного по OpenID Connect, с целью 2FA/MFA/SSO могут использоваться следующие факторы аутентификации:
- Мобильное приложение Avanpost Authenticator (push + TOTP);
- SMS;
- TOTP;
- E-mail;
- Мессенджер Telegram;
- Электронная подпись;
- FIDO WebAuthn/U2F;
- Доменная Kerberos-аутентификация;
- ЕСИА (Единая система идентификации и аутентификации) в режиме Federation;
- OpenID Connect-провайдер в режиме Federation;
- SAML-провайдер в режиме Federation.
Можно обеспечить использование как двухфакторной аутентификации, так и многофакторной аутентификации в зависимости от группы пользователя.
1С:Предприятие версии 8.3.14 и выше поддерживает функциональность SSO (Signle Sign-On), обеспечиваемую протоколом OpenID Connect: если пользователь прошёл аутентификацию в веб-приложение в соответствии с настроенным сценарием, то система не будет запрашивать повторного подтверждения аутентификации при аутентификации в другое веб-приложение. Обеспечивается реализация функций SLO (Single Logout)/Backchannel Logout в рамках протокола OpenID Connect.
Системные требования для интеграции 1С:Предприятие с Avanpost FAM по протоколу OpenID Connect:
- сервер Avanpost FAM 1.3.0 или выше;
- сервер 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 FAM Server.
- Обеспечить на стороне АРМ пользователя сетевую доступность сервера 1С:Предприятие.
- Обеспечить на стороне АРМ пользователя сетевую доступность сервера Avanpost FAM Server.
- Обеспечить на стороне сервера 1С:Предприятие сетевую доступность сервера Avanpost FAM Server.
Если необходимо выполнить аутентификацию в тонком клиенте 1С:Предприятие, то развернуть на АРМ пользователя тонкий клиент 1С:Предприятие.
При необходимости аутентификации:
- через мобильное приложение Avanpost Authenticator – установить компоненты Avanpost FAM Mobile Services;
- через мобильное приложение SafeTech PayControl – установить сервер SafeTech PayControl;
- через SMS – настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений;
- через E-mail – настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений;
- через Telegram – настроить подключение к Telegram Bot API;
- посредством электронной подписи – настроить криптопровайдер и установить плагин в браузер;
- посредством FIDO WebAuthn/U2F – настроить сертификат;
- посредством Kerberos – настроить keytab-файл;
- посредством Federation через ЕСИА настроить подключение к ЕСИА;
- посредством Federation через OpenID Connect-провайдер – настроить подключение к OpenID Connect-провайдеру;
- посредством Federation через SAML-провайдер – настроить подключение к SAML-провайдеру.
Настройка
Для выполнения настройки подключения подготовить следующие сведения:
- URL сервера 1С:Предприятие со схемой протокола (
http://илиhttps://); например – «http://10.10.17.57»; - имя информационной базы (dbname) на стороне сервера 1С:Предприятие; например – «
ZUP».
Настройка на стороне Avanpost FAM
На стороне Avanpost FAM в административной консоли:
- Создать новое приложение с типом OpenID Connect, при создании приложения указав:
Secret– придумать значение секрета.Redirect URIs– указать адрес, состоящий из конкатенации через символ «/» URL сервера 1С:Предприятие, имени информационной базы 1С:Предприятие и строки «authform.html»; например - «http://10.10.17.57/ZUP/authform.html».Base URL– указать значение, равное значению параметраRedirect URIs– например, «http://10.10.17.57/ZUP/authform.html».Logout URL– оставить пустым.
- В карточке приложения на вкладке «Настройки» и в режиме редактирования внести корректировки в следующие параметры:
Публичный– включить флажок.Allowed grant types– включить флажки:- «
Authorization Code». - «
Implicit». - «
Refresh Token».
- «
Настройка на стороне 1С:Предприятие
На стороне сервера 1C:Предприятие:
- Перейти в каталог опубликованной базы 1С на веб-сервере IIS, отредактировать файл
default.vrd:- Добавить секцию с настройками подключения к Avanpost FAM по OpenID Connect на основе примера из Приложения А текущей инструкции.
- Указать нижеперечисленные параметры:
name –указать произвольное уникальное имя;title– указать произвольную надпись, которая будет выводиться пользователям в процессе аутентификации.authenticationUserPropertyName– поле в настройках пользователя 1С, используемое для сравнения с передаваемым идентификатором пользователя:name– имя пользователя из информационной базы 1С;OSUser– имя доменного пользователя;email– адрес электронной почты пользователя;matchingKey– идентификатор пользователя в системе 1С.
- Для всех параметров в секции
providerconfigнеобходимо скопировать из Discovery-документа Avanpost FAM, доступного по пути.well-known/openid-configuration, за исключениемauthorization_endpoint– к значению параметра из Discovery добавить «?response_mode=query». - Для секции
clientconfigauthority– URL системы аутентификации Avanpost FAM;client_id–значение Client ID из секции «Настройки» приложения, созданного на предыдущем шаге;redirect_uri– значение Redirect URIs из секции «Настройки» приложения, созданного на предыдущем шаге;scope– значение «openid profile email»;response_type– значение «id_token token»;filterProtocolClaims– значениеfalse;loadUserInfo– значениеfalse.
- Для параметра
allowStandardAuthentication–указать значениеtrue илиfalse, на усмотрение администратора 1С:Предприятие. При отключении этого параметра аутентификация через внутренние УЗ 1С будет недоступна.
Проверка настройки
Для выполнения аутентификации в 1С:Предприятие через Avanpost FAM должны быть выполнены следующие условия:
- УЗ пользователя существует на стороне сервера 1С:Предприятие, где:
Имя–содержит значение E-mail пользователя;Полное имя– содержит значение имени, используемое для отображения.
- Логин пользователя на стороне 1С:Предприятие содержит значение E-mail, соответствующее УЗ в профиле пользователя Avanpost FAM.
- Пользователь состоит в группе Avanpost FAM, которая предоставляет доступ к настроенному приложению.
Предварительное создание УЗ на стороне 1С:Предприятия осуществляется или вручную администратором системы, или сторонними средствами. 1С:Предприятие не выполняет автоматическое создание УЗ в информационной базе 1С:Предприятия на основе JWT-токена, выпущенного в рамках протокола OpenID Connect.
Для проверки в веб-интерфейсе системы 1С:Предприятие необходимо:
- Перейти в браузере на 1С:Предприятие и инициировать аутентификацию через доверенный провайдер Avanpost FAM (выбрать «Войти через FAM»). Дождаться перенаправления на интерфейс аутентификации Avanpost FAM.
- Выполнить аутентификацию в соответствии с настроенным для 1С:Предприятие на стороне Avanpost FAM в соответствии со сценарием многофакторной аутентификации.
В результате пользователь должен успешно пройти аутентификацию в веб-клиент 1С:Предприятие.
Для проверки в Тонком клиенте системы 1С:Предприятие необходимо:
- Запустить Тонкий клиент 1С:Предприятие и инициировать аутентификацию через доверенный провайдер Avanpost FAM (выбрать «Войти через FAM»). Дождаться перенаправления на интерфейс аутентификации Avanpost FAM.
- Выполнить аутентификацию в соответствии с настроенным для 1С:Предприятие на стороне Avanpost FAM в соответствии со сценарием многофакторной аутентификации.
В результате пользователь должен успешно пройти аутентификацию в Тонкий клиент 1С:Предприятие.
Настройка выполнена успешно.
Сценарии использования
Загрузка пользователей 1С:Предприятие из домена (LDAP)
Чтобы пользователи из домена проходили 2FA/MFA или пользовались SSO при аутентификации в 1С:Предприятие, необходимо использовать встроенную в Avanpost FAM функцию интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, openldap и т.д.). В рамках этой функции можно настроить LDAP-фильтры, которые обеспечат загрузку в Avanpost FAM только тех пользователей, которые будут использовать 2FA/MFA/SSO в 1С:Предприятие. Таким образом можно подключить несколько доменов.
Контроль попыток аутентификации пользователей к 1С:Предприятие через Avanpost FAM
Для контроля попыток аутентификации необходимо использовать журнал событий безопасности, доступный в административном интерфейсе системы и посредством syslog.
Управление доступом пользователей к 1С:Предприятие через Avanpost FAM
Для предоставления доступа пользователю, его необходимо включить в группу, которая имеет доступ к созданному приложению. Доступна реализация автоматического включения и исключения пользователя из группы в рамках синхронизации с LDAP-каталогом.
Для отзыва доступа у пользователя необходимо исключить его из группы, которая имеет доступ к созданному приложению.
Управление доступом пользователей к 1С:Предприятие через домен (LDAP)
Avanpost FAM в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, openldap и т. д.) обеспечивает автоматизацию управления членством пользователей в группах Avanpost FAM, предоставляющих доступ к 1С:Предприятию, путём синхронизации членства пользователей в группах Avanpost FAM на основе членства пользователей домена в доменных группах.
Управление сценарием аутентификации (2FA/MFA) для 1С:Предприятие через Avanpost FAM
Для настройки второго фактора, который будет использоваться для приложения 1С:Предприятие, необходимо перейти в административной консоли в карточку приложения и открыть вкладку MFA. В качестве первого шага – указать метод аутентификации Password. В качестве второго шага можно выбрать один из следующих факторов:
- Мобильное приложение Avanpost Authenticator;
- Мобильное приложение SafeTech PayControl;
- SMS;
- TOTP;
- E-mail;
- Мессенджер Telegram;
- Электронная подпись;
- FIDO WebAuthn/U2F;
- Kerberos;
- Провайдер ЕСИА;
- OpenID Connect-провайдер;
- SAML-провайдер.
Управление сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников, подключающихся к 1С:Предприятие, через Avanpost FAM
Для управления сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников необходимо в административной консоли Avanpost FAM в карточке группы на вкладке «MFA» настроить дополнительный сценарий аутентификации. В этом случае пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на вкладке. Таким образом можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к 1С:Предприятие.
Для авторизации нужно также установить вычисляемое значение, состоящее из ‘DOMAIN\\’+user.userName, во вкладку Scopes.
Значение user.userName при этом должно также быть скопировано из атрибутов соответствующей вкладки Attributes.
Приложение А. Пример файла default.vrd на стороне IIS-сервера 1С:Предприятие
Пример настроенного конфигурационного файла default.vrd на стороне 1С:Предприятие для подключения к Avanpost FAM после выполнения настройки параметров подключения к Avanpost FAM:
<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 FAM (в данном примере: |
| Уникальный идентификатор клиентского приложения, зарегистрированного в Avanpost FAM, |
| Использовать базовый URL веб-сервиса аутентификации по OpenID Connect сервера 1С:Предприятие (в данном примере: |
| Запрашиваемые области (scopes). |
| Тип ответа при авторизации. Допускаются следующие значения:
|
| Способ передачи параметры в redirect_uri. Используется во избежание проблемы, когда 1С не может добавить "authorization_endpoint": "/oauth2/authorize? |
| Использование фильтрации для служебных (протокольных) claims:
|
| Использование загрузки дополнительных данных о пользователе через endpoint:
|
| Использование стандартной формы входа (логин и пароль), помимо OIDC:
|
Приложение Б. Пример настройки интеграции 1С:Предприятие на стороне административной консоли Avanpost FAM
Пример карточки OpenID Connect-приложения 1С:Предприятие в Avanpost FAM:
Приложение В. Пример корректно настроенной карточки пользователя в 1С:Предприятие
Пример предварительно настроенной УЗ в 1С:Предприятие (необходимо включить флаг "Аутентификация OpenID Connect"):
Приложение Г. Процесс аутентификации в 1С:Предприятие через Avanpost FAM
Выбор метода аутентификации на стороне 1С:Предприятие:





