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

  • 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.

Комментарии (0)