Переведено ИИ. Сообщество еще не проверило перевод. Читать на английском

Блог · 30 сентября 2023 г. · Steve Simpson · Идентификация

Понимаем безопасность и удостоверения Salesforce: когда использовать единый вход и OAuth

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

Когда использовать обычный вход, единый вход или OAuth

Прямой вход:

Сценарий: Пользователь хочет через браузер открыть Salesforce и просматривать его страницы.

Способ доступа: Прямой вход в Salesforce или единый вход через стороннего поставщика удостоверений, обеспечивающий беспрепятственный доступ без повторной аутентификации.

Сводка SSO и OAuth для людей: человек в браузере (прямой вход или единый вход), человек в клиентском приложении (поток веб-сервера OAuth с PKCE) и человек, работающий через сторонний веб-сервер (поток веб-сервера с PKCE)

OAuth в мобильных приложениях:

Сценарий: Пользователь работает в мобильном приложении, которое обращается к данным Salesforce через API, а не отображает собственные страницы Salesforce.

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

Сводка SSO и OAuth для клиентских процессов: пользователь интеграции (client credentials), назначенный пользователь-человек (утверждение JWT или SAML bearer), устройство, доступ которому параллельно одобряет человек (поток устройства), и устройства-активы (поток активов)

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