Общие сведения
В статье описывается настройка двухфакторной аутентификации (2FA), многофакторной аутентификации (MFA) и Single-Sign On (SSO) для CRM Creatio (ранее – Terrasoft bpm'online) посредством SAML-механизма системы Avanpost FAM в режиме интеграции с ADFS. Функциональность доступна для веб-интерфейса CRM Creatio.
Для CRM Creatio с целью 2FA/MFA/SSO могут использоваться следующие факторы аутентификации:
- Мобильное приложение Avanpost Authenticator (push + TOTP);
- SMS;
- TOTP;
- E-mail;
- Мессенджер Telegram;
- Электронная подпись;
- FIDO WebAuthn/U2F;
- Доменная Kerberos-аутентификация;
- ЕСИА (Единая система идентификации и аутентификации) в режиме Federation;
- OpenID Connect-провайдер в режиме Federation;
- SAML-провайдер в режиме Federation.
Можно обеспечить использование как двухфакторной аутентификации, так и многофакторной аутентификации при доступе в CRM Creatio в зависимости членства пользователя в определённой группе.
CRM Creatio поддерживает функциональность SSO (Signle Sign-On), обеспечиваемую протоколом SAML: если пользователь прошёл аутентификацию в веб-приложение в соответствии с настроенным сценарием, то система не будет запрашивать повторного подтверждения аутентификации при аутентификации в другое веб-приложение. Также обеспечивается реализация функциональности SLO (Single Logout) в рамках протокола SAML.
Системные требования для интеграции CRM Creatio с Avanpost FAM:
- сервер Avanpost FAM 1.3.0 или выше;
- сервер CRM Creatio.
Для выполнения настройки 2FA/MFA/SSO в соответствии с инструкцией необходимо выполнить следующие предварительные условия:
- Установить в сети сервер CRM Creatio.
- Установить в сети компонент Avanpost FAM Server.
При необходимости аутентификации:
- через мобильное приложение Avanpost Authenticator – установить компонент Avanpost FAM Mobile Authenticator Service;
- через мобильное приложение SafeTech PayControl – установить сервер SafeTech PayControl;
- через SMS – настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений;
- через E-mail – настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений;
- через Telegram – настроить подключение к Telegram Bot API;
- посредством электронной подписи – настроить криптопровайдер и установить плагин в браузер;
- посредством FIDO WebAuthn/U2F – настроить сертификат;
- посредством Kerberos – настроить keytab-файл;
- посредством ЕСИА настроить подключение к ЕСИА;
- посредством OpenID Connect-провайдера – настроить подключение к OpenID Connect-провайдеру;
- посредством SAML-провайдера – настроить подключение к SAML-провайдеру.
Настройка
Для выполнения настройки подключения подготовить следующие сведения:
- значение параметра
Name
из тегаServiceProvider
XML-файлаSAMLConfiguration
на стороне CRM Creatio; - значение параметра
AssertionConsumerServiceUrl
изServicePorvider
XML-файлаSAMLConfiguration
на стороне CRM Creatio; - значение параметра адреса завершения сессии.
На стороне Avanpost FAM в административной консоли:
- Создать новое приложение с типом SAML.
- В карточке приложения на вкладке «Настройки» для параметра:
Issuer –
указать значение параметраName
, полученное на этапе подготовки сведений.ACS
– указать значение параметраName
, полученное на этапе подготовки сведений.Подпись –
«Подписывать сообщение».NameID Format
– «Не указан».NameID –
«Адрес электронной почты».Signing Algorithm
– «SHA256».Post Logout Redirect URL
– значение параметра адреса завершения сессии.
На стороне CRM Creatio:
- В конфигурационном XML-файле
SAMLConfiguration
создать XML-тегPartnerIdentityProvider
внутри тегаPartnerIdentityProviders
в тегеSAMLConfiguration
в соответствии с примером из приложения А, где указать для параметров:Name –
значение URL Avanpost FAM Server;Description –
константу «Avanpost FAM»;SignAuthnRequest –
константу «false»;SignLogoutRequest
–
константу «false»;WantSAMLResponseSigned –
константу «false»;WantAssertionSigned –
константу «false»;WantAssertionEncrypted –
константу «false»;SingleSignOnServiceUrl –
значение URL Avanpost FAM Server с добавлением к нему постфикса/saml2
;SingleLogoutServiceUrl –
значение URL Avanpost FAM Server с добавлением к нему постфикса/saml2/logout
.
- Указать в качестве файла сертификата .cer-файл, сформированный на стороне Avanpost FAM Server.
- Проверить, что структура и наполнение конфигурационного XML-файла
SAMLConfguration
соответствует примеру, указанному в приложении Б.
Проверка настройки
- Перейти в браузере на CRM Creatio и инициировать аутентификацию через доверенный провайдер Avanpost FAM. Дождаться перенаправления на интерфейс аутентификации Avanpost FAM.
- Выполнить аутентификацию в соответствии с настроенным для CRM Creatio на стороне Avanpost FAM сценарием.
В результате пользователь должен успешно пройти аутентификацию в CRM Creatio.
Сценарии использования
Загрузка пользователей CRM Creatio из домена (LDAP)
Чтобы пользователи из домена смогли проходить 2FA/MFA или пользоваться SSO при аутентификации в CRM Creatio, необходимо использовать встроенную в Avanpost FAM функциональность интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т.д.). В рамках этой функции можно настроить LDAP-фильтры, которые позволят обеспечить загрузку в Avanpost FAM только тех пользователей, которые будут использовать 2FA/MFA/SSO в CRM Creatio. Таким образом можно подключить несколько доменов.
Контроль попыток аутентификации пользователей к CRM Creatio через Avanpost FAM
Для контроля попыток аутентификации необходимо использовать журнал событий безопасности, доступный в административном интерфейсе системы и посредством syslog.
Управление доступом пользователей к CRM Creatio через Avanpost FAM
Для предоставления доступа пользователю, его необходимо включить в группу, которая имеет доступ к созданному приложению. Доступна реализация автоматического включения и исключения пользователя из группы в рамках синхронизации с LDAP-каталогом.
Для отзыва доступа у пользователя необходимо исключить его из группы, которая имеет доступ к созданному приложению.
Управление доступом пользователей к CRM Creatio через домен (LDAP)
Avanpost FAM в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т. д.) обеспечивает автоматизацию управления членством пользователей в группах Avanpost FAM, предоставляющих доступ к CRM Creatio, путём синхронизации членства пользователей в группах Avanpost FAM на основе членства пользователей домена в доменных группах.
Управление сценарием аутентификации (2FA/MFA) для CRM Creatio через Avanpost FAM
Для настройки второго фактора, который будет использоваться для приложения CRM Creatio, необходимо перейти в административной консоли в карточку приложения и открыть вкладку MFA. В качестве первого шага – указать метод аутентификации Password. В качестве второго шага можно выбрать один из следующих факторов:
- Мобильное приложение Avanpost Authenticator;
- Мобильное приложение SafeTech PayControl;
- SMS;
- TOTP;
- E-mail;
- Мессенджер Telegram;
- Электронная подпись;
- FIDO WebAuthn/U2F;
- Kerberos;
- Провайдер ЕСИА;
- OpenID Connect-провайдер;
- SAML-провайдер.
Управление сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников, подключающихся к CRM Creatio, через Avanpost FAM
Для управления сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников необходимо в административной консоли Avanpost FAM перейти в карточке группы на вкладке «MFA» и настроить дополнительный сценарий аутентификации. В этом случае пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на вкладке. Таким образом можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к CRM Creatio.
Приложение А. Пример секции PartnerIdentityProvider для XML-файла SAMLConfiguration на стороне CRM Creatio
Пример секции конфигурационного файла SAMLConfiguration, настраиваемого на стороне CRM Creatio для подключения к Avanpost FAM:
<SAMLConfiguration xmlns="urn:componentspace:SAML:2.0:configuration"> ... <PartnerIdentityProviders> <!-- Avanpost FAM--> <PartnerIdentityProvider Name="https://avanpost-fam-hostname/" Description="Avanpost FAM" SignAuthnRequest="false" SignLogoutRequest="false" WantSAMLResponseSigned="false" WantAssertionSigned="false" WantAssertionEncrypted="false" SingleSignOnServiceUrl="https://avanpost-fam-hostname/saml2" SingleLogoutServiceUrl="https://avanpost-fam-hostname/saml2/logout" PartnerCertificateFile="AvanpostFAM.cer"/> </PartnerIdentityProviders> </SAMLConfiguration>
Приложение Б. Пример настроенного XML-файла SAMLConfiguration на стороне CRM Creatio
Пример настроенного XML-файла SAMLConfiguration после выполнения шагов, указанных в разделе «Настройка»:
<SAMLConfiguration xmlns="urn:componentspace:SAML:2.0:configuration"> <ServiceProvider Name="https://creatio-hostname/" Description="Example bpm'online Service Provider" AssertionConsumerServiceUrl="~/ServiceModel/AuthService.svc/SsoLogin" LocalCertificateFile="Certificates\example.pfx" LocalCertificatePassword="password" /> <PartnerIdentityProviders> <!-- Avanpost FAM--> <PartnerIdentityProvider Name="https://avanpost-fam-hostname/" Description="Avanpost FAM" SignAuthnRequest="false" SignLogoutRequest="false" WantSAMLResponseSigned="false" WantAssertionSigned="false" WantAssertionEncrypted="false" SingleSignOnServiceUrl="https://avanpost-fam-hostname/saml2" SingleLogoutServiceUrl="https://avanpost-fam-hostname/saml2/logout" PartnerCertificateFile="AvanpostFAM.cer"/> </PartnerIdentityProviders> </SAMLConfiguration>