Завдяки Системі єдиного входу (SSO) користувачі можуть отримувати доступ до багатьох додатків, не вводячи ім’я користувача й пароль для кожного з них. Мова розмітки декларації безпеки (стандарт SAML) – це стандарт XML, який дає захищеним вебдоменам змогу обмінюватися даними автентифікації і авторизації користувачів.
Ролі постачальників послуг і постачальників ідентифікаційної інформації
Google пропонує Систему єдиного входу на основі SAML, за допомогою якої компанії-партнери можуть авторизувати й автентифікувати зареєстрованих користувачів, що намагаються отримати доступ до захищеного контенту. Google діє як постачальник онлайн-послуг і надає такі сервіси, як Google Календар і Gmail. Партнери Google діють як постачальники ідентифікаційної інформації в Інтернеті й керують іменами користувачів, паролями й іншими даними, що використовуються для ідентифікації, автентифікації і авторизації користувачів у вебдодатках, розміщених у Google.
Багато постачальників ідентифікаційної інформації (як комерційні, так і ті, що використовують програмне забезпечення з відкритим кодом) можуть допомогти вам упровадити Систему єдиного входу Google.
Для клієнтів на комп’ютерах усе ще потрібно виконувати вхід
Важливо зауважити, що рішення SSO застосовується лише до вебдодатків. Ви можете надати своїм користувачам доступ до сервісів Google за допомогою клієнтів для комп’ютерів. Наприклад, щоб користувачі могли працювати з Gmail в Outlook за протоколом POP, для них потрібно надати паролі для облікових записів і синхронізувати ці паролі з внутрішньою базою даних користувачів за допомогою Admin SDK Directory API. Синхронізуючи паролі, потрібно знати, як автентифікуються користувачі за допомогою URL-адреси входу в панель керування для адміністраторів.
Як працює партнерська Система єдиного входу (SSO) на основі SAML
На малюнку 1 показано процес того, як користувач входить у додаток Google (наприклад, Gmail) через Систему єдиного входу на основі SAML від партнера. Пронумерований список під зображенням докладно описує кожен крок.
Важливо. Перед початком цього процесу партнер має надати Google URL-адресу своєї Системи єдиного входу, а також відкритий ключ, за допомогою якого Google перевірятиме відповіді SAML.
Малюнок 1. Процедура входу в Google за допомогою Системи єдиного входу на основі SAML.
На зображенні наведено перелічені нижче кроки.
- Користувач намагається отримати доступ до додатка, розміщеного в Google (наприклад, Gmail, Календаря або іншого сервісу Google).
- Google генерує запит автентифікації SAML, який кодується й вбудовується в URL-адресу партнерської Системи єдиного входу. Параметр RelayState, що містить закодовану URL-адресу додатка Google, до якої намагається отримати доступ користувач, також вбудовано в URL-адресу Системи єдиного входу. Цей параметр RelayState є непрозорим ідентифікатором, що передається назад без будь-яких змін чи перевірок.
- Google надсилає переспрямування у вебпереглядач користувача. Переспрямування містить закодований запит автентифікації SAML, який слід надіслати до Системи єдиного входу.
- Вебпереглядач переспрямовує на URL-адресу Системи єдиного входу.
- Партнер розкодовує запит SAML і витягує URL-адресу як для Google ACS (Assertion Consumer Service), так і для цільової URL-адреси користувача (параметр RelayState).
- Потім партнер автентифікує користувача. Партнери можуть автентифікувати користувачів, запитуючи дійсні облікові дані для входу або перевіряючи дійсні файли cookie сеансу.
- Партнер генерує відповідь SAML, яка містить ім’я автентифікованого користувача. Відповідно до специфікації SAML версії 2.0 у цю відповідь додається цифровий підпис за допомогою відкритого й приватного ключів DSA/RSA партнера.
- Партнер кодує відповідь SAML і параметр RelayState та повертає цю інформацію у вебпереглядач користувача. Він надає механізм, за допомогою якого вебпереглядач може передавати цю інформацію в Google ACS. Наприклад, партнер може вставити відповідь SAML і цільову URL-адресу у форму й налаштувати кнопку, щоб користувач міг надіслати форму в Google. Партнер може також додати JavaScript на сторінку, на якій надсилається форма в Google.
- Вебпереглядач надсилає відповідь на URL-адресу ACS. Google ACS перевіряє відповідь SAML за допомогою відкритого ключа партнера. Якщо відповідь успішно перевірено, ACS переспрямовує користувача на цільову URL-адресу.
- Вхід користувача в Google здійснено.