Технические сведения о системах единого входа на базе SAML

Система единого входа позволяет сотрудникам организации получать доступ к нескольким приложениям, не указывая каждый раз имя пользователя и пароль. SAML – это стандарт XML, позволяющий защищенным веб-доменам обмениваться информацией для аутентификации и авторизации пользователей.

Роли поставщиков услуг и поставщиков идентификационной информации

Google предлагает систему единого входа на базе SAML, с помощью которой компании-партнеры могут выполнять авторизацию и аутентификацию зарегистрированных в ней пользователей при попытке доступа к защищенному контенту. Google выступает в качестве поставщика услуг и предоставляет доступ к сервисам, например к Google Календарю и Gmail. Партнеры Google при этом являются поставщиками идентификационной информации и управляют именами пользователей, паролями и другими данными для идентификации, аутентификации и авторизации пользователей в сервисах Google.

Многие поставщики идентификационной информации – как коммерческие, так и использующие ПО с открытым исходным кодом – могут помочь вам реализовать систему единого входа Google.

При использовании клиентов для компьютера все равно нужно выполнять вход

Обратите внимание, что система единого входа работает только для веб-приложений. Вы можете предоставить пользователям доступ к сервисам Google через клиент на компьютере. Например, чтобы они могли работать с почтой Gmail в Outlook по протоколу POP, создайте пароли аккаунтов и синхронизируйте их с внутренней базой данных пользователей при помощи Directory API из Admin SDK. Рекомендуем ознакомиться с информацией о том, как пользователи могут проходить аутентификацию с помощью URL входа панели управления администратора.

Принцип работы партнерской системы единого входа на базе SAML

На рисунке 1 представлен процесс входа в Gmail с помощью партнерской системы единого входа на базе SAML. Под рисунком вы найдете нумерованный список с подробным описанием каждого этапа.

Важно! Перед началом процесса партнер должен предоставить Google ссылку на свою систему единого входа, а также открытый ключ, с помощью которого Google сможет проверять ответы SAML.

Рисунок 1. Процесс входа в приложение Google с помощью партнерской системы единого входа на базе SAML.

На рисунке представлены следующие этапы входа:

  1. Пользователь пытается перейти к приложению Google, например Gmail, Календарю и т. д.
  2. Google генерирует запрос аутентификации по стандарту SAML. Он шифруется и встраивается в URL партнерской системы единого входа. Вместе с ним встраивается параметр RelayState, содержащий зашифрованный URL приложения Google, к которому пытается перейти пользователь. Этот параметр является скрытым идентификатором, который возвращается в браузер без изменений и без проверок.
  3. Google отправляет браузеру URL переадресации, содержащий зашифрованный SAML-запрос, который будет передан партнерской SSO.
  4. Браузер перенаправляет пользователя по URL системы единого входа.
  5. Партнер расшифровывает SAML-запрос и находит ссылку на сервис Assertion Consumer Service компании Google (ACS) и целевой URL (параметр RelayState).
  6. Затем партнер проводит аутентификацию пользователя, запрашивая пароль или выполняя поиск файлов cookie сеанса.
  7. Партнер генерирует SAML-ответ, содержащий имя пользователя, прошедшего аутентификацию. В соответствии со спецификацией SAML 2.0, ответ подписывается открытым и закрытым ключом DSA или RSA, принадлежащим партнеру.
  8. Партнер шифрует SAML-ответ и параметр RelayState, а затем отправляет данные обратно в браузер. Партнер предоставляет механизм, с помощью которого браузер передает данные в ACS Google. Это может быть как форма с SAML-ответом и целевым URL, которую пользователь отправляет в Google, нажимая кнопку, так и код JavaScript, который отправляет форму в Google.
  9. Браузер отправляет ответ по URL ACS. ACS проверяет SAML-ответ с помощью открытого ключа партнера. Если проверка проходит успешно, ACS переадресует пользователя на целевой URL.
  10. Пользователь выполнил вход в приложение Google.

Статьи по теме

Спецификации SAML 2.0

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
8314444730544884377
true
Поиск по Справочному центру
true
true
true
false
false