С тех пор как все программное обеспечение активно уходит в облака, также активно развиваются технологии единого входа и авторизации для облачных систем.
Войдя на компьютер под своей учетной записью вы можете дальше пользоваться необходимыми облачными приложениями без необходимости придумывать и запоминать пароль к каждой системе
.
Одной из таких технологий единого доступа является SAML это язык разметки (Security Assertion Markup Language), основанный на языке XML.
Эта технология разработана для обмена данными об аутентификации и авторизации.
Очень хорошее видео по знакомству с
SAML . (Подробно о средствах
идентификации в корпоративных сетях)
Подробный документ с описанием
тут.
Язык SAML построен на следующих существующих протоколах:
• XML - Подавляющее большинство утверждений SAML представляется в виде совокупности XML-тегов
• XML Schema - Все утверждения SAML описаны используя XML-схемы
• XML Signature - SAML использует цифровую подпись(основанную на стандарте XMLDSig) для аутентификации и защиты сообщений
• XML Encryption - SAML 2.0 предоставляет возможность использования шифрованных идентификаторов, шифрованных атрибутов и шифрованных утверждений, используя XML Encryption
• HTTP - SAML использует протокол HTTP в качестве транспортного протокола
• SOAP - SAML использует SOAP 1.1
Структура SAML
На рисунке показана взаимосвязь между базовыми понятиями
SAML:
Профиль SAML - конкретное описание сценария, использующего комбинацию выбранных утверждений, протоколов и привязок.
Привязка SAML определяет как запросы и ответы отображаются в стандартные сообщения или коммуникационные протоколы. Одной из важных привязок языка является SOAP-привязка.
Протокол SAML описывает как конкретные элементы SAML инкапсулируются в запросы и ответы,а также правила обработки сущностей SAML.
Утверждения SAML
Утверждения SAML — это высказывания службы идентификации (identity authority) о конечном пользователе — человеке или компьютере. Подобно Active Directory, служба идентификации является доверительным источником заключений об аутентификации и авторизации. Во многих организациях Active Directory используется как служба идентификации, содержащая параметры безопасности многочисленных приложений. Утверждение — это ответ на запрос типа "Может ли Джон Смит получить доступ к серверу отдела кадров?"
Существуют три вида утверждений: авторизации, аутентификации и атрибута. Каждое из них содержит набор общих элементов: предмет, условие и аутентификационное высказывание ("Таблица элементов").