Что такое SAML? Поставщики идентификации и поставщики услуг
Статьи 23.07.2015
Когда вы сталкиваетесь с задачей выбора протокола взаимодействия систем при построении Single Sign-On (SSO) решения, то можете задаться вопросом — «Как работает протокол SAML и что это такое?».
SAML или Security Assertion Markup Language — это название основанного на XML языка разметки, используемого для обмена идентификационными данными пользователя между информационными системами, а также название крайне распространенного сегодня SSO-протокола.
Технически протокол SAML представляет собой обмен атрибутами между поставщиками идентификации (IdP’s, Identity Providers) и поставщиками услуг (SP’s, Service Providers), между которыми предварительно установлены отношения доверия. В качестве примера можно привести ситуацию: утром придя на работу, вы получаете доступ к своему рабочему компьютеру, осуществив вход в сетевой домен компании (active directory), а затем автоматически, без необходимости повторной проверки вашей учетной записи, получаете доступ к интранет-порталу компании, документам в облаке MS Office 365, корпоративной почте в Google Apps и иным приложениям, развернутым как внутри компании, так и в облаке.
Основные элементы протокола SAML
- Утверждения (Assertions) — в основном используются следующие:
— аутентификационные утверждения — применяются для подтверждения, что пользователь был аутентифицирован (было подтверждено, что пользователь является владельцем учетной записи) и содержат контекст аутентификации;
— атрибутные утверждения — применяются для передачи конкретных данных об учетной записи, например, адреса электронной почты, ФИО, роли. - Протокол — определяется способ запроса и получения утверждений SAML при выполнении различных задач.
- Привязка (Binding) — определяет порядок использования транспортных протоколов (например, HTTP или SOAP) для передачи сообщений SAML.
- Профили — комбинации утверждений, протоколов и привязок для поддержки определенных вариантов применения SAML при решении задач. Например, профиль Web Browser SSO Profile описывает то, каким образом SAML должен использоваться при решении задачи идентификации и аутентификации пользователей в веб-приложения и обеспечения однократности аутентификации.
- Метаданные — конфигурационные данные поставщика услуг и поставщика идентификации. При установлении отношений доверия поставщик услуг и поставщик идентификации, как правило, обмениваются своими метаданными.
При доступе пользователя к веб-сайтам происходит обмен SAML утверждениями между веб-сайтами (поставщиками услуг) и сервисом идентификации и аутентификации (поставщиком идентификации) с использованием протоколов SAML и правил их привязки (binding) к транспортным протоколам, таким как HTTP. В результате такого обмена каждый веб-сайт получает от поставщика идентификации сведения о том, что за пользователь обратился на веб-сайт и каковы атрибуты его учетной записи.
Выгоды от использования SAML сервисов идентификации и аутентификации
Есть разные причины выбора SAML в качестве основы для построения сервиса идентификации и аутентификации. Кроме того, что это один из наиболее распространенных протоколов сегодня, приведем также и другие причины:
- Пользовательские пароли не пересекают контролируемый периметр организации. Для идентификации и аутентификации используется учетная запись внутри организации. Нет необходимости вести множество учетных записей и паролей в каждом приложении.
- Веб-приложения организации становятся мало подвержены взлому, так как для доступа к ним пользователь теперь должен пройти идентификацию и аутентификацию с использованием своей основной и наиболее защищенной учетной записи в организации. К тому же для повышения защищенности учетной записи можно применить механизмы усиленной и строгой аутентификации.
- SAML SSO позволяет обеспечить возможность доступа к веб-приложениям организации пользователям, находящимся за границами контролируемого периметра (например, пользователям, работающим из дома или находящимся в командировке). При обращении к веб-приложению пользователь будет переадресован на веб-страницу сервиса идентификации и аутентификации своей организации и пройдет идентификацию и аутентификацию.
- Построение единого сервиса идентификации и аутентификации компании позволяет централизовать процессы управления доступом, что в свою очередь дает выгоды при проведении аудита безопасности, управлении рисками и в части обеспечения соответствия требованиям регулятора в части обеспечения информационной безопасности.
Опыт применения SAML в России
В России особая популярность применения SAML при обеспечении идентификации и аутентификации обусловлена его применением в государственной информационной системе «Единая система идентификации и аутентификации», разработчиками которой являются сотрудники РЕАК СОФТ. В настоящий момент SAML используется более чем в 500 государственных информационных системах, в том числе в gosuslugi.ru, roi.ru, pfrf.ru, zakupki.gov.ru. Это подтверждает, что многие отечественные разработчики ПО и системные интеграторы успешно справились с использованием SAML для подключения своих систем к внешнему сервису идентификации и аутентификации, основанному на протоколе SAML.
Почему в качестве SAML поставщика идентификации выгодно использовать Blitz Identity Provider
Самостоятельное создание сервиса идентификации и аутентификации требует привлечения высококвалифицированных специалистов и проведения многомесячного проекта внедрения. Это верно даже несмотря на то, что им доступно использование серьезного и проработанного проекта с исходным кодом, например, такого как Shibboleth.
Применение продукта Blitz Identity Provider позволяет существенно сократить срок внедрения (в типовых случаях внедрение можно провести за 1 день), сложности конфигурации и не требует наличия в штате сотрудников, глубоко специализированных в данной предметной области.