Общие сведения
В статье описывается настройка двухфакторной аутентификации (2FA), многофакторной аутентификации (MFA) и Single-Sign On (SSO) для 1С:Предприятие посредством OpenID Connect-механизма системы Avanpost FAM. Функциональность доступна для веб-интерфейса и тонкого клиента 1С:Предприятие версии 8.3.14 и выше.
Для 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
– указать произвольную надпись, которая будет выводиться пользователям в процессе аутентификации.
- Для всех параметров в секции
providerconfig
необходимо скопировать из Discovery-документа Avanpost FAM, доступного по пути.well-known/openid-configuration
, за исключениемauthorization_endpoint
– к значению параметра из Discovery добавить «?response_mode=query
». - Для секции
clientconfig
authority
– 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", "title": "Войти через FAM", "providerconfig": { "issuer": "avanpost-fam-issuer", "authorization_endpoint": "http://avanpost-fam-hostname/oauth2/authorize?response_mode=query", "token_endpoint": "http://avanpost-fam-hostname/oauth2/token", "response_types_supported": ["code","code token","code id_token","code token id_token","token","id_token","token id_token"], "scopes_supported": ["openid","profile","email","phone","groups","permissions","fullname","sub:username","name:username","uid"], "jwks_uri": "http://avanpost-fam-hostname/oauth2/public_keys" }, "clientconfig": { "authority": "http://avanpost-fam-hostname/", "client_id": "b0dc2122-0f87-4bd4-9447-6c72573726e0", "redirect_uri": "http://10.10.17.57/ZUP/authform.html", "scope": "openid profile email", "response_type": "id_token token", "filterProtocolClaims": false, "loadUserInfo": false } } ]]]> </providers> <allowStandardAuthentication>true</allowStandardAuthentication> </openidconnect>
, где в качестве примера указаны:
http://avanpost-fam-hostname
– базовый URL (Base URL) сервиса аутентификации Avanpost FAM;http://10.10.17.57/ZUP/authform.html
– базовый URL веб-сервиса аутентификации по OpenID Connect сервера 1С:Предприятие.
Приложение Б. Пример настройки интеграции 1С:Предприятие на стороне административной консоли Avanpost FAM
Пример карточки OpenID Connect-приложения 1С:Предприятие в Avanpost FAM:
Приложение В. Пример корректно настроенной карточки пользователя в 1С:Предприятие
Пример предварительно настроенной УЗ в 1С:Предприятие:
Приложение Г. Процесс аутентификации в 1С:Предприятие через Avanpost FAM
Выбор метода аутентификации на стороне 1С:Предприятие: