Перекладено ШІ. Спільнота ще не перевірила. Читати англійською

Блог · 26 вересня 2023 р. · Steve Simpson · Ідентичність

Глибоке занурення в автентифікацію SAML

Розуміння SAML у єдиному вході із Salesforce

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

Задаємо контекст

Уявіть сценарій, де у вас є дві Salesforce org: постачальник ідентичності (IDP) і постачальник послуг. У постачальника послуг є дані, до яких ви хочете отримати доступ, але замість кількох облікових даних ви хочете зробити це з одним набором даних для входу. Ідея звучить просто, але механіка за лаштунками може бути складною.

Діаграма: єдиний вхід з однієї Salesforce org в іншу. Браузер перенаправляється в org постачальника ідентичності із SAML-запитом і повертається в org постачальника послуг із SAML-твердженням; кожна org зберігає сертифікат іншої, а користувачів зіставляють за Federation ID

Ключові терміни у світі SAML

Доступ користувача: Коли користувач намагається дістатися захищеного ресурсу постачальника послуг до автентифікації.

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

Автентифікація в IDP: Постачальник ідентичності перевіряє ідентичність користувача, зазвичай за ім’ям користувача, паролем чи багатофакторною автентифікацією.

SAML-твердження: Після автентифікації IDP надсилає постачальникові послуг SAML-твердження.

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

Підсумок SAML: базовий робочий процес (доступ користувача, перенаправлення, автентифікація, твердження, перенаправлення назад, доступ надано), переваги і ключові терміни

Переваги єдиного входу

Спрощений доступ: Користувачам потрібен лише один набір облікових даних, щоб отримати доступ до кількох сервісів.

Безпека: SAML використовує цифрові підписи, щоб гарантувати цілісність даних і запобігати підробці.

Сумісність: Як стандартний протокол, SAML може взаємодіяти з різними IDP і постачальниками послуг на різних технологічних стеках.

Глибше: розглядаємо потоки SAML

SAML-запит: Ініціюється постачальником послуг до IDP з проханням автентифікувати користувача.

Приклад SAML-запиту (AuthnRequest) від org постачальника послуг до org постачальника ідентичності

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

Приклад SAML-відповіді від постачальника ідентичності з емітентом і цифровим підписом

Твердження: Це заяви IDP про користувача, що охоплюють атрибути, як-от ім’я користувача чи email.

Цифрові підписи: Використовуються для перевірки тверджень, щоб гарантувати, що їх не змінили незаконно.

Relay state: URL глибокого посилання, що гарантує перенаправлення користувача назад до початково запланованого місця після автентифікації.

Коли користувач ініціює доступ, до IDP надсилається SAML-запит; після перевірки IDP надсилає назад SAML-твердження. Коли постачальник послуг перевіряє це твердження, користувач отримує запланований доступ.

Діаграма послідовності: вхід SAML, ініційований постачальником послуг. Користувач запитує сторінку, перенаправляється до постачальника ідентичності для входу, повертається із 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