由 AI 翻译,尚未经过社区审校。 阅读英文版

博客 · 2023年9月30日 · Steve Simpson · 身份

理解 Salesforce 安全与身份:何时使用单点登录和 OAuth 引言

在这篇博客中,我们希望理清 Salesforce 的安全与身份,重点关注何时使用单点登录(SSO)和 OAuth。无论是通过直接登录、SSO 还是 OAuth,这些知识对于应对访问 Salesforce 的各种场景都至关重要。

何时使用标准登录、单点登录或 OAuth

直接登录:

**场景:**一个用户想通过浏览器访问 Salesforce,查看它的页面。

**访问方式:**直接登录 Salesforce,或者通过第三方身份提供商进行单点登录,无需再次认证就能顺畅访问。

面向人的 SSO 和 OAuth 总结:使用浏览器的人(直接登录或单点登录)、使用客户端应用的人(带 PKCE 的 OAuth Web 服务器流程),以及使用第三方 Web 服务器的人(带 PKCE 的 Web 服务器流程)

移动应用中的 OAuth:

**场景:**用户使用一个移动应用,通过 API 访问 Salesforce 数据,而不是显示 Salesforce 原生的页面。

**访问方式:**这里使用 OAuth,尤其是当交互通过移动设备进行时,其中可能包括使用浏览器技术的手机或平板电脑。这种方式让移动应用可以安全地与 Salesforce API 交互。

面向客户端进程的 SSO 和 OAuth 总结:集成用户(客户端凭据)、指定的人员用户(JWT 或 SAML 持有者断言)、有人并行审批的设备(设备流程),以及资产设备(资产流程)

第三方服务器中的 OAuth:

场景:用户使用浏览器与一个第三方服务器通信,而这个服务器需要代表用户访问 Salesforce 数据。例子包括电子邮件插件或其他与 Salesforce 集成的系统。

**访问方式:**使用 OAuth,并采用一个名为“Web Server with PKCE”(Proof Key for Code Exchange)的特定协议,以实现安全访问。

不同场景下的 OAuth 流程

**客户端凭据流程:**为使用指定的集成用户账户访问 Salesforce 的客户端进程(比如执行批量加载或导出的外部服务器)而设计。

**JWT、SAML 持有者断言和 SAML 断言流程:**这些流程用于客户端进程需要代表某个特定用户行事、而用户本人并不直接参与的场景。在这里,进程会模拟一个指定的用户,保持该用户文件的安全上下文。

**设备流程:**这个流程由一个需要人工介入审批的设备发起。例如,一个智能电视应用会提示用户输入一个代码来批准访问。

**资产流程:**适用于需要连接 Salesforce 来读取或写入数据的物联网(IoT)设备。

回顾与结论

本质上,你的访问方式在很大程度上取决于场景:

要通过浏览器直接访问 Salesforce,就使用直接登录,或者在你有身份服务时使用单点登录。

对于通过移动设备、第三方服务器或自动化流程进行的间接访问,OAuth 是首选的方法。在这种情况下,你必须决定 OAuth 是代表一个人类用户,还是代表一个集成用户账户来运行。

在后续的文章中,我们会更深入地探讨每个场景和用例,以提供全面的理解。

敬请关注

满怀信心地开启你的 Salesforce 身份之旅吧!想获得更多见解和技巧,请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。订阅,加深你对 Salesforce 身份的理解。

与架构师同行以及正走在架构师之路上的人分享集成知识,一起改变世界!

转录借助了 AI

STA 3.9