Интеграция Carbonio с SAML

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

SAML является одним из самых распространенных протоколов аутентификации, который используется для реализации технологии единого входа. Сотрудник предприятия, который авторизовался в корпоративном приложении SAML впоследствии может буквально в один клик входить в другие корпоративные приложения, не запоминая множество сложных паролей и без необходимости постоянно их менять. Это делает аутентификацию пользователей более простой, удобной и безопасной. В данной статье мы расскажем о том, как интегрировать Carbonio с корпоративным приложением SAML.

При аутентификации по протоколу SAML в процессе участвуют три стороны: это сам пользователь, который осуществляет аутентификацию, Service Provider -  корпоративное приложение, в котором происходит аутентификация, а также Identity Provider - хранилище учетных записей, у которого SP запрашивает подтверждение после ввода логина и пароля пользователя. В случае совпадения передаваемых пользователем аутентификационных данных, хранящихся в IdP, Service Provider формирует временный токен, который позволяет пользователю входить во все корпоративные приложения, интегрированные с SAML.

Настройка входа с использованием SAML

Для конфигурации входа с использованием SAML вам потребуется выполнить часть настроек на стороне сервис-провайдера, а часть на стороне почтового сервера. В частности на стороне сервис-провайдера настраиваются

  • sp.entityid - Метаданные приложения SAML. В качестве этой настройки указывается ссылка формата https://SAMLProvider.ru/zx/auth/samlMetadata?domain=carbonio.ru. В конце ссылки указывается имя домена для которого настраивается интеграция с SAML. 

  • sp.assertion_consumer_service.url - Ссылка для входа пользователей. В качестве этой настройки также указывается ссылка формата https://SAMLPorvider.ru/zx/auth/saml

  • sp.nameidformat - формат имени входа. В качестве этой настройки указывается регулярное выражение urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

Во всех приведенных выше примерах настроек SAMLPorvider.ru - это ссылка на провайдера SAML, а carbonio.ru - название почтового домена, для которого проводится интеграция.

Провести интеграцию с приложением SAML можно либо автоматически, либо вручную.

В первом случае вам потребуется получить ссылку на файл метаданных вашего Identity Provider и выполнить следующую команду в командной строке Carbonio.

carbonio auth saml import carbonio.ru URL  https://IDProvider.ru/simplesaml/saml/idp/metadata.php

Если IdP расположен в локальной сети вашего предприятия, можно включить опцию игнорирования подлинности SSL-сертификата.

carbonio auth saml import carbonio.ru URL https://IDProvider.local/app/CarbonioSAML/sso/saml/metadata.php allow_unsecure true

В большинстве случаев этого достаточно для корректной интеграции SAML с Carbonio, однако в отдельных случаях может потребоваться ручная настройка интеграции с SAML.

Для этого экспортируйте параметры SAML из Carbonio в json-файл

carbonio auth saml get carbonio.ru export_to /tmp/saml.json

Откройте файл /tmp/saml.json и вручную замените в нем параметры entityid, assertion_consumer_service.url и nameidformat (2-4 строчки файла),  на те, которые предоставляет провайдер SAML.

Сохраните изменения в файле и импортируйте измененный файл с настройками в Carbonio

carbonio auth saml import carbonio.ru /tmp/saml.json

Можно также изменять эти настройки прямо в командной строке при помощи команд 

  • carbonio auth saml set carbonio.ru entityid https://SAMLPorvider.ru/zx/auth/samlMetadata?domain=carbonio.ru

  • carbonio auth saml set carbonio.ru assertion_consumer_service.url https://SAMLPorvider.ru/zx/auth/saml

  • carbonio auth saml set carbonio.ru sp.nameidformat urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

Узнать текущие значения данных настроек можно при помощи команд 

  • carbonio auth saml set carbonio.ru entityid

  • carbonio auth saml set carbonio.ru assertion_consumer_service.url

  • carbonio auth saml set carbonio.ru sp.nameidformat 

В случае, если все настройки выполнены корректно, на экране входа появится кнопка “Login SAML” с помощью которой можно войти в Carbonio при помощи учетных данных SAML.

Настройка выхода с использованием SAML

Часть провайдеров SAML требуют помимо процедуры входа в учетную запись настроить также и выход из нее. Процесс настройки также включает в себя изменение ряда параметров в json-файле конфигурации. Среди них:

  • sp.single_logout_service.url - ссылка на соответствующий сервис провайдера SAML

  • sp.x509cert - SSL сертификат

  • sp.privatekey - ключ для сертификата

В случае если у вас по какой-то причине нет сертификата и ключа для использования сервиса выхода из учетной записи, вы можете сгенерировать его самостоятельно в OpenSSL и затем просто зарегистрировать у вашего провайдера SAML

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt

Также в зависимости от требований вашего провайдера SAML вам может потребоваться включить шифрование и подпись запроса на выход из учетной записи. Делается это за счет установки настроек security.logoutrequest_signed, 

security.logoutresponse_signed и security.authnrequest_signed на значение true.

По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.

Источник: https://habr.com/ru/company/Zextras/blog/714136/


Интересные статьи

Интересные статьи

В этой статье речь пойдёт о некотором моём предложении для сообщества. Это вдвойне сомнительное предложение из-за того, что мой личный трип на битриксе уже закончился. Две недели безвылазно на учёбе п...
Удобно ли вам играть? Игровой процесс очень сильно зависит от того как гибко можно настроить устройство управления. В этой статье мы немного раскрыли процесс работы над интеграцией геймпадов в игровое...
Настройка любой площадки для CMS — это рутинный процесс, который должен быть доведен до автоматизма в каждой уважающей себя компании. А потому частенько воспринимается, как восход солнца — это происхо...
Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в вер...
Согласно многочисленным исследованиям поведения пользователей на сайте, порядка 25% посетителей покидают ресурс, если страница грузится более 4 секунд.