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

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

Розуміння безпеки Salesforce: орієнтуємося в OAuth flows за аналогією з пивним садом

Розуміння складних концепцій часто вимагає винахідливого мислення. Цей блог розплутає основи безпеки Salesforce і OAuth flows, провівши незвичне порівняння з походом у пивний сад, щоб ці концепції стали доступними й цікавими для всіх читачів.

Аналогія з пивним садом

Для багатьох аналогії — безцінні інструменти для розуміння й пояснення складних ідей через знайомий досвід. Уявіть, що заходите в пивний сад, — це дуже схоже на спробу зорієнтуватися в OAuth flows у безпеці Salesforce. Ця аналогія допомагає прояснити задіяні процеси й терміни, щоб новачкам у цій сфері було простіше їх зрозуміти.

Розуміння OAuth flows:

OAuth flows критично важливі, коли користувач використовує клієнта-посередника, як-от мобільний пристрій, або підключається до Salesforce через сторонній вебсервер. Ці flows забезпечують різні взаємодії — від простої інтеграції до складніших device flow чи asset flow, гарантуючи захищене передавання даних і доступ на кожному кроці.

Підсумок SSO і OAuth для людей: людина в браузері (прямий вхід чи єдиний вхід), людина в клієнтському застосунку (OAuth web server flow з PKCE) і людина через сторонній вебсервер (web server flow з PKCE) Підсумок SSO і OAuth для клієнтських процесів: інтеграційний користувач (client credentials), призначений користувач-людина (JWT чи SAML bearer assertion), пристрій із паралельним підтвердженням людиною (device flow) і пристрої-активи (asset flow)

Ключові терміни:

У пивному саду (чи в безпеці Salesforce) з’являється кілька ключових термінів і ролей:

Сервер ресурсів (resource server): Це бочка пива, до якої ви хочете дістатися, або, у термінах Salesforce, захищені дані, які ви хочете отримати. Спочатку ви не можете підійти до сервера ресурсів напряму без належної ідентифікації.

Власник ресурсу (resource owner): Це ви — ви вважаєте, що маєте право на доступ до даних (чи пива). Однак напряму спілкуватися із сервером ресурсів неможливо.

Клієнт: Діючи від вашого імені, клієнт (у нашій аналогії — робот-офіціант) отримує ваші облікові дані, щоб розпочати процес отримання даних.

Сервер автентифікації: Клієнт звертається до цього сервера з вашими обліковими даними й отримує токен доступу (в аналогії — браслет на зап’ясті). Цей токен має обмежений строк дії і часто спливає за короткий час.

Токен доступу: Клієнт показує цей токен серверу ресурсів, щоб отримати доступ до потрібних захищених даних, і за потреби ходить кілька разів, доки токен не спливе.

Як проходить flow:

Flow починається з того, що ви передаєте облікові дані клієнтові, який потім звертається до сервера автентифікації. Після успішної перевірки видається токен доступу, і клієнт може отримувати дані із сервера ресурсів від вашого імені. Якщо токен спливає, процес треба почати знову: клієнт знову надає облікові дані, щоб отримати новий токен доступу.

Аналогія OAuth із пивним садом: ви даєте клієнтові свої облікові дані, сервер автентифікації перевіряє їх і повертає токен доступу (браслет), а клієнт показує токен серверу ресурсів, щоб отримати запитані дані

Username Password Flow:

Описаний flow відомий як Username Password Flow. Однак через певні обмеження Salesforce поступово відходить від цього методу, про що йдеться в наступних розділах і відео. Кілька інших OAuth flows, зокрема Web Server Flow, Device Flow і JWT Flow, мають інші переваги, і їх буде детальніше розглянуто в майбутніх матеріалах.

Висновок:

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

Слідкуйте за новинами

Вирушайте в подорож Salesforce Identity впевнено! Більше думок і порад — тут, на www.SteveTechArc.com, і на YouTube-каналі @SteveTechArc (opens in a new tab). Підпишіться й поглиблюйте розуміння Salesforce Identity.

Допомагаю змінювати світ, ділячись знаннями про інтеграцію з колегами-архітекторами і тими, хто йде до архітектури!

Транскрипт оброблено за допомогою ШІ

STA 3.10