Введение в технологию единого входа (Single Sign-on)

Copyright © 1997 The Open Group. Оригинал статьи по адресу http://pubs.opengroup.org/onlinepubs/008329799/chap1.htm#tagfcjh_1.

Поскольку количество IT-систем для поддержки бизнес-процессов возрастает, пользователи и системные администраторы при выполнении своих служебных задач сталкиваются со всё более усложняющимися интерфейсами. Как правило, пользователи должны проходить регистрацию в нескольких системах, что требует ввода информации в соответствующее количество диалогов регистрации, причём в каждом из этих диалогов могут вводиться различные имена пользователей и данные аутентификации. Системные администраторы сталкиваются с необходимостью управления учётными записями пользователей в каждой из множества систем, которые должны быть доступны на согласованной основе, для того, чтобы обеспечить целостность применения политики безопасности в этих системах. Данный традиционный подход к регистрации пользователей в нескольких системах проиллюстрирован на следующем рисунке:


Рисунок 1: Традиционный подход к регистрации пользователей в нескольких системах

Исторически распределенная система собиралась из компонентов, которые функционировали как независимые домены безопасности. Такие компоненты включали в себя отдельные платформы с соответствующими операционными системами и приложениями.

Эти компоненты выступали как независимые домены в том смысле, что конечный пользователь должен был отдельно идентифицировать и аутентифицировать самого себя в каждом из доменов, с которым он собирался взаимодействовать. Такой сценарий показан на рисунке 1.

Первоначально конечный пользователь взаимодействует с первичным доменом в целью установления сеанса с этим доменом. В традиционном подходе это называется входом в первичный домен и требует от конечного пользователя предоставления набора аутентификационных данных пользователя, подходящих для этого первичного домена, например, имени пользователя и пароля. Сеанс первичного домена, как правило, предоставляется оболочкой операционной системы, выполняемой на рабочей станции конечного пользователя, в рамках среды, связанной с этим конечным пользователем и описывающей его (эта среда может быть представлена, например, атрибутами процесса, переменными окружения и домашней директорией). Из этой оболочки сеанса первичного домена пользователь может вызывать сервисы других доменов, такие как платформы или приложения.

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

С точки зрения управления в традиционном подходе требуется независимое управление каждым доменом и использование нескольких интерфейсов управления учётными записями пользователей.

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


Рисунок 2: Единый вход пользователя в несколько сервисов

Такой сервис был назван Технологией единого входа (Single Sign-on), что отражает восприятие его работы конечным пользователем. Однако, он не исключает запроса дополнительных сведений от пользователя в случае необходимости. Альтернативный подходящий термин, который мог бы быть использован, — Интегрированный вход (Integrated Sign-on). Необходимо подчеркнуть, что в таком сервисе одинаково важны аспекты работы конечного пользователя и управления.

Подход технологии единого входа продемонстрирован на рисунке 2. При этом подходе система может собирать от пользователя (в рамках первичного входа) все идентификационные и аутентификационные данные, необходимые для поддержки аутентификации этого пользователя на каждом из вторичных доменов, с которыми ему потенциально может понадобиться взаимодействовать. Эти предоставленные пользователем данные впоследствии используются сервисами единого входа в пределах первичного домена для поддержки аутентификации этого конечного пользователя на каждом из вторичных доменов, с которыми ему реально требуется взаимодействовать.

Информация, предоставленная конечным пользователем в рамках процедуры входа в первичный домен, может использоваться для поддержки входа во вторичный домен несколькими способами:

С точки зрения управления, модель единого входа предоставляет единый интерфейс управления учётными записями пользователей, через который все домены могут управляться координированным и синхронизированным способом.

С точки зрения интеграции, важнейшие аспекты безопасности модели единого входа заключаются в следующем: