Посібник розробника з автентифікації SAML [3 Online Tools]

| | 0 Comments| 6:35 PM
Categories:

У сучасному світі дуже важливо спростити керування паролями. У той час як компанії крокують вперед у цифровізації, співробітники використовують інструменти для співпраці, обміну повідомленнями та зберігання як ніколи.

Це створює виклик для розробників: як забезпечити співробітникам безпечний доступ до внутрішніх програм і даних, що зберігаються в хмарі? Для багатьох відповідь – автентифікація SAML!

Що таке SAML?

Security Assertion Markup Language або SAML — це відкритий стандарт, який спрощує процеси автентифікації. Він заснований на XML (розширювана мова розмітки), яка стандартизує зв’язок між об’єктами, які підлягають автентифікації, та веб-службою чи програмою. Іншими словами, SAML — це те, що дає змогу використовувати один логін для входу в декілька різних програм.

З одного боку, постачальнику послуг потрібна автентифікація постачальника ідентифікаційних даних (IdP), щоб надати авторизацію користувачеві. Наприклад, Salesforce є постачальником послуг, який покладається на постачальника ідентифікаційної інформації для автентифікації користувача.

З іншого боку, постачальник ідентифікаційної інформації засвідчує, що кінцевий користувач – це той, за кого себе видає, і надсилає ці дані постачальнику послуг разом із правами доступу користувача до послуги. Одним із прикладів є AuthO, один із лідерів у наданні рішень ідентифікації.

Як щодо системи єдиного входу SAML?

Однією з головних функцій SAML є ввімкнення SSO. До SAML SSO був можливий, але залежав від файлів cookie та життєздатний лише в тому самому домені.

SAML забезпечує єдиний вхід (SSO), дозволяючи користувачам отримувати доступ до кількох програм за допомогою єдиного входу та набору облікових даних. Хоча SAML не новий, він існує з 2002 року, і багато нових програм і компаній SaaS використовують SAML для SSO. Його остання версія, SAML 2.0, забезпечує міждоменне єдине входження в Інтернеті та є стандартом для авторизації ресурсів.

Які переваги автентифікації SAML?

SAML приносить багато переваг для безпеки, користувачів та інших постачальників послуг (SP).

  Як перенести контакти, журнал викликів і повідомлення з одного телефону на інший за допомогою MobileTrans

Простота: користувачі входять до IdP лише один раз, а потім отримують безперебійний та безпечніший доступ до всіх програм.

Підвищена безпека: багато постачальників послуг не мають часу чи ресурсів для реалізації та забезпечення безпечної автентифікації користувача під час входу. Як правило, IdPs краще обладнані для автентифікації користувачів. Повертаючи автентифікацію до IdP, SAML забезпечує безпечну автентифікацію, яка може застосовувати кілька рівнів безпеки, наприклад MFA.

Покращена взаємодія з користувачем: за допомогою SAML ваші користувачі можуть попрощатися з головним болем від спроб запам’ятати кілька імен користувачів і паролів

Зменшення витрат на керування: постачальники послуг можуть покращити безпеку своєї платформи, не зберігаючи паролі. Немає необхідності вирішувати проблеми із забутим паролем. Довідкова служба зменшує витрати та звільняє технічні команди для вирішення інших термінових запитів.

Що таке Auth0 і як він пов’язаний з автентифікацією SAML?

Auth0 — це платформа, яка надає послугу автентифікації та авторизації користувачів. Це може бути як IdP, так і SP. Auth0 пропонує універсальний вхід, який можна інтегрувати з SAML. Розробники часто використовують Auth0 із SAML, щоб урізноманітнити ризик, маючи кілька IdP.

Auth0 можна використовувати майже з усіма основними мовами та API. Він також може бути інтегрований із соціальними провайдерами, базами даних і каталогами LDAP.

SAML SSO Flow

Однією з головних функцій SAML є увімкнення єдиного входу (SSO). До SAML SSO був можливий, але залежав від файлів cookie та життєздатний лише в тому самому домені.

SAML забезпечує систему єдиного входу, дозволяючи користувачам отримувати доступ до кількох програм за допомогою єдиного входу та облікових даних. SAML не новий, він існує з 2002 року, і багато нових програм і компаній SaaS використовують SAML для SSO. Його остання версія, SAML 2.0, забезпечує міждоменне єдине входження в Інтернеті та є стандартом для авторизації ресурсів.

Конкретно кажучи, це передбачає запит на автентифікацію від користувача лише один раз, коли останній використовує різні програми. Наприклад, ми можемо подумати про автентифікацію Google, спільну для різних служб Gmail, Youtube, Google Apps тощо.

  Найкращі інструменти моніторингу віртуальних машин, щоб стежити за своїми віртуальними машинами

У цьому режимі роботи Google є постачальником ідентифікаційної інформації (IdP) для своїх послуг. Ці послуги називаються «постачальниками послуг» (SP).

Аутентифікація

Під час підключення до зовнішньої програми невідомий користувач надсилається до корпоративного IdP. Цей IdP є веб-службою, доступною через HTTPS. Він може розміщуватися всередині або зовні.

Внутрішня автентифікація

Потім користувач підтверджує свою особу IdP. Цю фазу можна виконати шляхом явної автентифікації (логін/пароль) або шляхом розповсюдження вже існуючого токена.

Породження твердження

Тоді IdP згенерує «токен», своєрідну ідентифікаційну картку користувача, дійсну лише для запитаної послуги та протягом певного часу. У цьому токені ми знайдемо, зокрема:

  • Ідентифікація користувача: логін, електронна пошта або інші поля
  • Необов’язкові додаткові атрибути: прізвище, ім’я, мова тощо.
  • Термін дії токена
  • Підпис маркера IdP

Передача від IdP до SP

У найбільш практичному режимі твердження не передається безпосередньо від IdP до SP, а через самого користувача. За допомогою механізму відмов HTTP IdP надасть браузеру клієнта маркер для передачі постачальнику послуг. Його можна порівняти з посвідченням особи, яке надається префектурою для пред’явлення будь-якому органу.

Споживання токена SP

Постачальник послуг отримує маркер від користувача. SP вирішив довіряти цьому IdP. Він також перевіряє підпис і цілісність токена, а також термін дії. Якщо тести остаточні, SP відкриває сеанс для користувача.

Джерело: Вікіпедія

Аутентифікація SAML Vs. Авторизація користувача

Часто автентифікацію SAML плутають з авторизацією. Для ясності важливо розрізняти поняття автентифікації та авторизації.

Автентифікація: це підтвердження особи користувача; в основному перевіряється, чи вони ті, за кого себе видають. Прикладом є використання електронної пошти та пароля для доступу до системи – один сеанс або вхід для інших платформ.

Авторизація: це дозволи, які користувач надає сторонньому інструменту для доступу до ресурсів свого облікового запису. Після схвалення користувача протокол авторизації обмінюється токенами без доступу до його облікових даних. Зазвичай ви робите це, коли надаєте платформі (наприклад, Facebook) доступ до певної інформації з вашого облікового запису Google.

Потрібно знати термінологію SAML

Твердження SAML

Твердження SAML зазвичай передаються постачальниками ідентифікаційних даних постачальникам послуг. Твердження містять твердження, які постачальники послуг використовують для прийняття рішень щодо контролю доступу. SAML надає три типи декларацій:

  • Заяви автентифікації стверджують, що постачальник послуг дійсно був автентифікований постачальником ідентифікаційної інформації в певний час за допомогою методу автентифікації.
  • Оголошення атрибута стверджує, що предмет пов’язаний з певними атрибутами. Атрибут — це просто пара ім’я-значення. Довіряючі сторони використовують атрибути для прийняття рішень щодо контролю доступу.
  • Уповноважена заява про рішення стверджує, що суб’єкту дозволено діяти на ресурсі, надавши для цього докази. Виразність станів рішень авторизації в SAML навмисно обмежена.
  Чому ми більше не можемо рекомендувати Wink Hubs

Обслуговування споживачів

Assertion Consumer Service або ACS — це точка, куди постачальник посвідчень переспрямовує після відповіді автентифікації користувача. Точка, до якої переспрямовує постачальник ідентифікаційної інформації, є кінцевою точкою HTTPS, яка передає особисту інформацію.

Стандартний стан реле

Це URL-адреса за умовчанням, на яку буде перенаправлено користувача після автентифікації повідомлення SAML. Стандартний стан ретрансляції використовується для координації повідомлень між IdP та SP.

SAML є широко використовуваним протоколом, і часто потрібно декодувати твердження SAML. Нижче наведено деякі з найкращих інструментів SAML для кодування, декодування та форматування повідомлень і тверджень SAML:

#1. SAMLtool

SAMltool від OneDesign – це колекція онлайн-інструментів і інструментів SAML. Сюди входять різні інструменти для кодування та декодування повідомлень SAML, шифрування та дешифрування тверджень, а також підписання та перевірки повідомлень і тверджень SAML. SAMLtool також надає кілька різних плагінів для інтеграції цих інструментів з кількома CMS.

#2. Samtool.io

Пропонує Auth0, samltool.io це онлайн-інструмент, за допомогою якого ви також декодуєте, перевіряєте та перевіряєте повідомлення й твердження SAML, просто вставляючи необроблені XML або URL-адреси, що містять запити.

#3. Декодер SAM

Декодер SAM це простий онлайн-інструмент для декодування SAML, який пропонує PingIdentity. Декодер SAM можна використовувати для декодування, розширення та форматування повідомлень, тверджень і метаданих SAML.

Заключні слова

Стандарт SAML дуже корисний для реалізації екземпляра центральної автентифікації на основі мови розмітки. Одна з його значних переваг полягає в тому, що він пропонує високу ефективність і високий стандарт безпеки.

Зокрема, кількість можливих витоків безпеки зведена до мінімуму, оскільки окремим програмам не потрібно зберігати або синхронізувати дані користувача. Таким чином досягається одна з основних цілей, яка полягає в поєднанні високого рівня безпеки з найкращим можливим рівнем простоти використання.

Ви також можете переглянути деякі з найкращих платформ автентифікації користувачів.