Общие сведения
В статье описывается настройка двухфакторной аутентификации (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из тегаServiceProviderXML-файлаSAMLConfigurationна стороне CRM Creatio; - значение параметра
AssertionConsumerServiceUrlизServicePorviderXML-файла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>
