Глибоке занурення в автентифікацію SAML
Розуміння SAML у єдиному вході із Salesforce
У сфері автентифікації SAML (Security Assertion Markup Language) відіграє ключову роль у забезпеченні безперешкодного доступу між застосунками. Зануримося глибоко в SAML, зрозуміємо його значення для єдиного входу (SSO) і дослідимо його реалізацію із Salesforce.
Задаємо контекст
Уявіть сценарій, де у вас є дві Salesforce org: постачальник ідентичності (IDP) і постачальник послуг. У постачальника послуг є дані, до яких ви хочете отримати доступ, але замість кількох облікових даних ви хочете зробити це з одним набором даних для входу. Ідея звучить просто, але механіка за лаштунками може бути складною.

Ключові терміни у світі SAML
Доступ користувача: Коли користувач намагається дістатися захищеного ресурсу постачальника послуг до автентифікації.
Перенаправлення: Якщо користувач не автентифікований, постачальник послуг перенаправляє його до постачальника ідентичності за допомогою SAML-запиту. За потреби разом із ним може надсилатися relay state (URL, який користувач хотів відвідати спочатку).
Автентифікація в IDP: Постачальник ідентичності перевіряє ідентичність користувача, зазвичай за ім’ям користувача, паролем чи багатофакторною автентифікацією.
SAML-твердження: Після автентифікації IDP надсилає постачальникові послуг SAML-твердження.
Довіра постачальника послуг: Постачальник послуг перевіряє SAML-твердження, витягає інформацію про користувача і надає доступ. Якщо раніше було надано relay state, постачальник послуг переходить на цей конкретний URL.

Переваги єдиного входу
Спрощений доступ: Користувачам потрібен лише один набір облікових даних, щоб отримати доступ до кількох сервісів.
Безпека: SAML використовує цифрові підписи, щоб гарантувати цілісність даних і запобігати підробці.
Сумісність: Як стандартний протокол, SAML може взаємодіяти з різними IDP і постачальниками послуг на різних технологічних стеках.
Глибше: розглядаємо потоки SAML
SAML-запит: Ініціюється постачальником послуг до IDP з проханням автентифікувати користувача.

SAML-відповідь: Повідомлення від IDP після автентифікації, що містить подробиці про користувача.

Твердження: Це заяви IDP про користувача, що охоплюють атрибути, як-от ім’я користувача чи email.
Цифрові підписи: Використовуються для перевірки тверджень, щоб гарантувати, що їх не змінили незаконно.
Relay state: URL глибокого посилання, що гарантує перенаправлення користувача назад до початково запланованого місця після автентифікації.
Коли користувач ініціює доступ, до IDP надсилається SAML-запит; після перевірки IDP надсилає назад SAML-твердження. Коли постачальник послуг перевіряє це твердження, користувач отримує запланований доступ.

За допомогою інструментів на кшталт SAML Tracer для браузерів цей потік можна візуалізувати. Це дає прозорий погляд на процес автентифікації — від початкового запиту до фінального перенаправлення після автентифікації.
Заходи безпеки в SAML-твердженнях
Щоб протидіяти потенційним загрозам безпеці:
Позначки часу використовують, щоб запобігти атакам повторного відтворення: SAML-твердження дійсне лише протягом короткого вікна.
Цифрові підписи гарантують, що дані не підробили під час обміну.
Крім того, твердження можуть містити атрибути користувача, як-от email-адреси чи типи користувачів, що дає змогу детальніше контролювати доступ на боці постачальника послуг.
Висновок
SAML за своєю суттю — протокол на основі XML, що містить ключові елементи для автентифікації. Хоч це може здаватися магією, це результат добре продуманої технології, створеної, щоб зривати атаки на кшталт «людина посередині» чи повторного відтворення.
Його здатність поєднувати кількох постачальників послуг з IDP на різних технологічних стеках робить його наріжним каменем у світі цифрової автентифікації.
Слідкуйте за новинами
Вирушайте в подорож Salesforce Identity впевнено! Більше думок і порад — тут, на www.SteveTechArc.com, і на YouTube-каналі @SteveTechArc (opens in a new tab). Підпишіться й поглиблюйте розуміння Salesforce Identity.
Допомагаю змінювати світ, ділячись знаннями про інтеграцію з колегами-архітекторами і тими, хто йде до архітектури!
Транскрипт оброблено за допомогою ШІ
STA 3.6