Понимаем безопасность и удостоверения Salesforce: когда использовать единый вход и OAuth
В этой статье мы хотим внести ясность в вопросы безопасности и удостоверений Salesforce и разобраться, когда использовать единый вход (SSO), а когда OAuth. Эти знания крайне важны, чтобы ориентироваться в разных сценариях доступа к Salesforce — через прямой вход, SSO или OAuth.
Когда использовать обычный вход, единый вход или OAuth
Прямой вход:
Сценарий: Пользователь хочет через браузер открыть Salesforce и просматривать его страницы.
Способ доступа: Прямой вход в Salesforce или единый вход через стороннего поставщика удостоверений, обеспечивающий беспрепятственный доступ без повторной аутентификации.

OAuth в мобильных приложениях:
Сценарий: Пользователь работает в мобильном приложении, которое обращается к данным Salesforce через API, а не отображает собственные страницы Salesforce.
Способ доступа: Здесь используется OAuth, особенно когда взаимодействие идет через мобильные устройства — телефоны или планшеты с браузерными технологиями. Такой подход позволяет мобильным приложениям безопасно работать с API Salesforce.

OAuth со сторонними серверами:
Сценарий: Пользователь через браузер взаимодействует со сторонним сервером, которому нужен доступ к данным Salesforce от имени пользователя. Примеры — почтовые плагины или другие системы, интегрированные с Salesforce.
Способ доступа: Для защищенного доступа используется OAuth со специальным протоколом «Web Server with PKCE» (Proof Key for Code Exchange).
Потоки OAuth для разных сценариев
Client Credentials Flow: Предназначен для клиентского процесса (например, внешних серверов, выполняющих пакетную загрузку или выгрузку), который обращается к Salesforce под назначенной учетной записью пользователя интеграции.
Потоки JWT, SAML Bearer Assertion и SAML Assertion: Эти потоки предназначены для сценариев, когда клиентскому процессу нужно действовать от имени конкретного пользователя без его непосредственного участия. Процесс выступает от имени назначенного пользователя, сохраняя контекст безопасности файлов этого пользователя.
Device Flow (поток устройства): Этот поток запускается устройством, которому для одобрения нужно участие человека. Например, приложение на смарт-телевизоре просит пользователя ввести код для подтверждения доступа.
Asset Flow (поток активов): Полезен для устройств интернета вещей (IoT), которым нужно подключаться к Salesforce, чтобы читать или записывать данные.
Итоги и выводы
В сущности, способ доступа во многом зависит от сценария:
Для прямого доступа к Salesforce через браузер используйте прямой вход или единый вход, если у вас есть служба удостоверений.
Для непрямого доступа через мобильные устройства, сторонние серверы или автоматизированные процессы предпочтителен OAuth. При этом нужно решить, будет ли OAuth действовать от имени человека или учетной записи пользователя интеграции.
В следующих статьях мы подробнее разберем каждый сценарий и вариант использования, чтобы дать полное понимание.
Следите за новостями
Начните свой путь в Salesforce Identity уверенно! Больше идей и советов ищите здесь, на www.SteveTechArc.com, и на YouTube-канале @SteveTechArc (opens in a new tab). Подписывайтесь и углубляйте свое понимание Salesforce Identity.
Помогаем менять мир, делясь знаниями об интеграции с коллегами-архитекторами и теми, кто идет по пути к профессии архитектора!
Расшифровка сделана с помощью ИИ
STA 3.9