用户身份验证

用户身份验证贯穿整个登录链路:先用多因素身份验证(MFA)和 Salesforce Authenticator 应用加固登录,再用 My Domain 定制品牌化的 URL 与登录页,最后为内部用户配置第三方身份提供商的单点登录(SSO)。本文一步步带你完成三项设置,打造更强、更美观、更便捷的登录体验。...

📅 2026/10/11 ✍️ ponybai 🏷️ salesforce, headless

保护用户身份(01 Secure Your Users' Identity)

slide_2
slide_3

本单元关注登录流程的第一步——多因素身份验证(MFA)。你将了解什么是 MFA、为什么用户名加密码不够安全、Salesforce 支持哪些验证方式,然后动手为一个组织开启 MFA,并帮助新员工 Sia 用 Salesforce Authenticator 应用完成注册。

完成本模块后,你将能够:

  • 为用户设置多因素身份验证;
  • 用 Salesforce Authenticator 应用完成 MFA 登录;
  • 获取登录你组织的用户的相关信息。

提示:本单元的动手任务需要一台运行 Android 或 iOS 的移动设备。

用多因素身份验证保护账号访问(一):用户名密码不够(Secure Account Access (1))

slide_4

单靠用户名和密码,不足以抵御网络钓鱼等网络威胁。增强登录流程、保护组织数据的有效办法,是要求用户在登录时提供额外的身份证据。

安全专家把这称为多因素身份验证(Multi-Factor Authentication,MFA)。Salesforce 认为 MFA 极其重要,要求访问我们产品与服务的每个人都必须使用它。你需要一台运行 Android 或 iOS 的移动设备来完成本单元的动手任务。

什么是多因素身份验证?(一):多种因子(What Is MFA (1))

slide_5

MFA 听起来像数学方程式,但它跟代数毫无关系——它关心的是确保用户确实是他们声称的那个人。所谓「多因子」,就是用户登录时提供的不同类型的证据:

  • 你知道的东西(Something you know)——比如 Salesforce 的用户名加密码组合;
  • 你拥有的东西(Something you have)——比如装了身份验证器应用的手机,或一把物理安全密钥。

在 Salesforce 中,MFA 相关的授权可通过「MFA Authorization for User Logins」这样的权限集来管理。

如果你听过双因素身份验证(2FA),别担心——2FA 只是 MFA 的一个子集,本质上是同一回事。

什么是多因素身份验证?(二):你早就用过(What Is MFA (2))

slide_6

你可能不知道它的名字,但几乎肯定用过 MFA。每次你用 ATM 取钱,都用到了:

  • 你拥有的东西——银行卡;
  • 你知道的东西——密码(PIN)。

在用户名密码之外再要求一个因子,为组织增加了重要的一层安全防护。即使用户的密码被盗,攻击者几乎不可能猜中或冒充一个用户物理拥有的因子。

MFA 如何工作(一):额外的登录步骤(How MFA Works (1))

slide_7

MFA 给登录流程增加一步:

  1. 用户照常输入用户名和密码;
  2. 然后系统提示用户提供一种 Salesforce 支持的验证方式。

作为管理员,你可以决定允许哪些方式——可以启用任意一种或全部,取决于你的用户和安全需求。接下来看看可选的方式。

MFA 如何工作(二):可启用的验证方式(How MFA Works (2))

slide_8

Salesforce 支持多种验证方式:

  • Salesforce Authenticator——免费移动应用,通过推送通知快速验证身份;
  • 第三方 TOTP 验证器——生成临时一次性验证码(TOTP),如 Google Authenticator、Microsoft Authenticator、Authy;
  • 安全密钥——像 U 盘一样的物理令牌,支持 FIDO U2F / FIDO2 WebAuthn,如 YubiKey、Titan Security Key;
  • 内置验证器——生物识别,如 Touch ID、Face ID、Windows Hello。

何时要求多因素身份验证(When Are Users Prompted)

slide_9

用户每次登录都必须提供多因子。根据 Salesforce 服务条款,所有客户都必须对用户界面登录使用 MFA。若想进一步加强安全,还可以在更多场景要求 MFA:

  • 用户访问 Salesforce API 时;
  • 访问互联应用、仪表板或报表时——这被称为步进(step-up)或高保障认证;
  • 在自定义登录流程或自定义应用里,例如阅读许可协议之前。

开启 MFA 的选项(Your Options for Turning on MFA)

slide_10

Salesforce 要求每个 UI 登录都使用 MFA,而且对生产组织来说,MFA 是登录流程的默认部分——通常你什么都不用做。但作为管理员,你可以:

  • 在新的生产组织里临时禁用 MFA,给用户准备的时间;
  • 等所有人都准备好后重新启用 MFA。

你也可以轻松地为其他类型的组织开启 MFA:沙箱、开发者组织,甚至 Trailhead Playground。开启它只是 Setup 里勾选一个复选框而已。

确认会话安全级别已设为 MFA(Verify Session Security Level)

slide_11

在大多数生产组织里,MFA 登录方法对应的安全级别已经设置正确,但最好还是复查一下以防万一:

  1. 从 Setup,在 Quick Find 输入 Session Settings,选择 Session Settings;
  2. 在 Session Security Levels 下,确认「多因素身份验证」位于 High Assurance(高保障)类别。

确认之后,你就可以开始 MFA 之旅了。

开启 MFA:Jedeye 任务(Turn on MFA: The Jedeye Mission)

slide_12

来看一个故事。你是 Jedeye Technologies 的 Salesforce 管理员。公司生产组织刚上线时,MFA 被禁用,好让用户有时间准备。现在首席安全官交给你一项任务:所有员工每次登录都必须提供比用户名密码更多的信息。

对了,还有一位新员工 Sia Thripio 刚刚入职。你的计划:先为 Sia 创建一个 Salesforce 用户,再为组织开启 MFA。

准备好动手了吗?(Ready to Get Hands-On)

slide_13

现在启动你的 Trailhead Playground 跟着操作。要打开它,滚动到动手挑战处,点击 Launch。完成动手挑战时也会用到这个 Playground。

再提醒一次:完成本单元部分任务需要一台运行 Android 或 iOS 的移动设备。

步骤 1:创建用户(一):填写基本信息(Step 1: Create a User (1))

slide_14

开始为 Sia 创建用户:

  1. Setup 的 Quick Find 输入 Users,选择 Users,点击 New User;
  2. 名填 Sia,姓填 Thripio;
  3. Email 填你自己的邮箱——Sia 的用户通知会发到那里;
  4. 用户名必须是邮箱格式,但不必是真实可用地址,只需在 Playground 里唯一、好记,例如 SThripio.12202020@trailhead.com;
  5. 编辑或接受昵称。

步骤 1:创建用户(二):许可证、简档与验证(Step 1: Create a User (2))

slide_15

完成用户记录:

  1. User License 选 Salesforce Platform;
  2. Profile 选 Standard Platform User,并取消 Salesforce CRM 内容提醒(避免邮箱被塞满);
  3. 确保勾选 Generate new password and notify user immediately(在页面底部);
  4. 点击 Save——Salesforce 会给你发一封邮件,包含验证用户并设置 Sia 密码的链接;
  5. 以 Sia 身份登录,重置密码。若用户名已存在,换个名字重新创建。

密码设置完成后,就可以为组织开启 MFA 了。

为全员开启 MFA(一):一个复选框(Turn on MFA (1))

slide_16

你只需一个复选框就能为所有用户开启 MFA:

  1. Setup 的 Quick Find 输入 Identity,选择 Identity Verification;
  2. 勾选 Require multi-factor authentication (MFA) for all direct UI logins to your Salesforce org;
  3. 点击 Save。

就这样!现在组织里的每个人——包括新员工 Sia——登录时都必须完成 MFA。

为全员开启 MFA(二):豁免用户怎么办?(Turn on MFA (2))

slide_17

一个合理的问题:有些账号应该豁免 MFA 吗?比如测试自动化工具的账号。Salesforce 的 MFA 要求确实不适用于某些类型的用户。

如果你有豁免用户,可以应用一个用户权限把他们从 MFA 要求中排除。要了解哪些用户类型可以豁免、如何排除,参见 Salesforce Help 的「Exclude Exempt Users from MFA」。

注册 Salesforce Authenticator(一):做好准备(Register (1))

slide_18

要求用户用 MFA 却不帮他们准备好至少一种验证方式,是不明智的——你可能会接到一堆不想接的电话。好办法是让用户下载一个验证器应用,并把它连接到 Salesforce 账号。

如果用户没立刻下载,也不是灾难——他们下次登录时会自动被提示注册一种验证方式。新员工 Sia 想用 Salesforce Authenticator 应用,享受推送通知带来的快速认证。

注册 Salesforce Authenticator(二):在两台设备上连接(Register (2))

slide_19

注意:接下来的步骤要在两台设备之间来回切换。手机端 = 你在 Authenticator 应用里扮演 Sia;桌面端 = 你在 Playground 里以 Sia 登录。

先在手机从 App Store 或 Google Play 安装并打开 Salesforce Authenticator,翻完引导。然后在桌面退出管理员,改用 Sia 的用户名密码登录——系统会提示你连接内置验证器,此时选择其他验证方式,再选 Salesforce Authenticator。

在手机上点 Connect Your Account,应用会显示一个两个词的短语;把这个短语输入到桌面的 Two-Word Phrase 字段,点击 Connect。

随后手机上会显示 Sia 的账号详情(用户名和服务提供商 Salesforce),点 Connect 确认——Sia 就注册成功并已登录!

注册 Salesforce Authenticator(三):它追踪什么(Register (3))

slide_20

现在,每当 Sia 登录 Salesforce,她的手机都会收到一条通知:打开 Salesforce Authenticator,检查活动详情,没问题就点 Approve 完成登录;要是别人用她的用户名密码尝试登录,她也会收到通知,可以拒绝该请求。

Salesforce Authenticator 会记录这些数据:

  1. 正在访问的服务(Salesforce、LastPass 等);
  2. 尝试登录的用户;
  3. 正在验证的动作(启用步进认证时还会出现打开记录、仪表板等动作);
  4. 登录尝试所用的浏览器/应用和设备;
  5. 手机所在的位置。

备份已连接账号(Back Up Connected Accounts)

slide_21

现在 Sia 的账号已连接到 Authenticator,她可以通过验证邮箱来开启账号备份,这样换手机或手机丢失时能恢复已连接账号:

  1. 手机端:点左上角设置图标;
  2. 打开 Back Up Accounts 开关;
  3. 输入 Sia(也就是你的)邮箱,点 Send Code;
  4. 查收邮件,把验证码输入应用;
  5. 设置一个 passcode,以后恢复账号时用它。

确认 Salesforce Authenticator 能发通知(Verify Notifications)

slide_22

Salesforce Authenticator 靠推送通知让 MFA 变得轻松,但 Sia 要确认应用有发送通知的权限:

  1. 手机端:点设置图标回到设置页;
  2. 确认 Push Notifications 显示为 Enabled;
  3. 如果不是,点 Change in Settings 跳到手机系统设置,更新 Salesforce Authenticator 的权限,允许通知。

自动化身份验证流程(一):信任一次登录(Automate (1))

slide_23

如果 Sia 总是从同一个地方(办公室、家里)登录,每次点 Approve 就会变得繁琐。如果她允许应用使用手机的定位服务,就可以让应用在识别出全部细节时自动验证:

  1. 桌面端:退出 Sia 账号,再以 Sia 登录;
  2. 手机端:在提示里选择 Trust and automate this request,点 Approve;
  3. 桌面端:再次退出并登录——这次不再提示!应用识别出相同的设备、浏览器和位置,自动放行。

自动化身份验证流程(二):管理受信任请求(Automate (2))

slide_24

Sia 随时可以管理她的受信任请求。当她用不同的浏览器、设备或位置登录时,可以把新详情加入受信任请求列表,想存多少都行。

点箭头图标打开账号详情页,那里列出了受信任请求和登录历史:Verified Activities 是应用验证登录的次数,Automations 是自动登录的次数。

要删除某条请求,左滑即可;要清空全部,选 Remove All Trusted Requests。如果自动验证失败(比如断网),Sia 可以直接输入应用显示的 TOTP 码。

管理员则可以在组织的 Identity Verification Settings 里,把自动验证限制到受信任的 IP 地址,或完全禁用自动验证。

Sia 手机丢了怎么办?(一):从备份恢复(Lose Phone (1))

slide_25

用户会崩溃、被困在沙漠星球、弄丢手机——这事常发生。如果 Sia 丢了手机、换了新机或误删了 Salesforce Authenticator,她有几种选择。如果她开启过账号备份,那就很轻松:

  1. 在新手机上重新安装 Salesforce Authenticator;
  2. 打开应用,选择从备份恢复账号;
  3. 输入备份时设置的 passcode;
  4. 账号就重新出现在手机上了。

Sia 手机丢了怎么办?(二):断开并重新注册(Lose Phone (2))

slide_26

如果 Sia 没有备份,你可以从管理员这边帮她:

  1. 以管理员登录;
  2. Setup 的 Quick Find 输入 Users,选择 Users;
  3. 点击 Sia 的名字;
  4. 在用户详情页,点 App Registration: Salesforce Authenticator 旁边的 Disconnect。

下次 Sia 登录时(假设她没有其他验证方式),就会被提示重新连接 Salesforce Authenticator。注意:如果你想卸载 Authenticator 应用,请先在 Identity Verification 页禁用「Require MFA for all direct UI logins」,否则以后就无法登录 Playground 了。

监控谁在登录你的组织(Monitor Who's Logging In)

slide_27

管理员工作的重要一环,是知道谁在登录组织——这正是 Identity Verification History 的用途:

  1. 以系统管理员登录 Trailhead Playground;
  2. Setup 的 Quick Find 输入 Verification,选择 Identity Verification History。

查看 Location 列——它默认显示用户的国家,你可以创建自定义视图获取更详细的信息。恭喜,管理员!现在用户已经能轻松设置并用 MFA 登录了。

用 My Domain 定制登录流程(02 Customize Your Login Process with My Domain)

slide_28

本单元学习 My Domain——Salesforce Identity 中用来个性化用户访问方式的特性。你将了解 My Domain 能带来什么,浏览控制路由与登录的策略,然后用公司品牌定制登录页。

完成本单元后,你将能够:解释 My Domain 的好处;说明 My Domain 如何让你控制用户访问组织的方式;定制你的登录页。

用 My Domain 定制 Salesforce 组织 URL(Customize Org URL)

slide_29

是不是很想改改用户的 Salesforce 登录体验?比如把公司名加进登录 URL、在登录页显示你的 logo,甚至让用户用 Google 凭据登录?My Domain 让你做到这些,甚至更多。

本单元将探索 My Domain 是什么,以及它如何让你对用户访问组织的方式拥有更多控制。

什么是 My Domain?(一):你自己的子域名(What Is My Domain (1))

slide_30

My Domain 就像你在 Salesforce 宇宙里的帝国——它是 Salesforce Identity 的一项功能,让你用一个子域名来个性化组织。

有了 My Domain,用户得到个性化的 Salesforce 访问方式。你的登录 URL 不再是难记的实例地址(如 https://na30.salesforce.com),而是 https://somethingReallycool.my.salesforce.com,其中 somethingReallycool 是你的 My Domain 名(通常是公司名),my.salesforce.com 是 Salesforce 域名后缀。注意:Salesforce 里「custom domain」含义不同,它指的是以你自己域名(如 mycompany.com)结尾的 URL。

什么是 My Domain?(二):为什么 Salesforce 要求它(What Is My Domain (2))

slide_31

My Domain 不只是品牌和便利,更关乎控制和简化身份验证。Salesforce 要求拥有 My Domain 才能:

  • 在同一浏览器里使用多个 Salesforce 组织;
  • 与第三方身份厂商设置单点登录(SSO);
  • 设置 Google、Facebook 等身份提供商,让用户用社交凭据登录;
  • 用品牌定制登录页。

因为 My Domain 如此重要,所有组织默认都有一个(生产组织的默认名基于内部组织 ID);不喜欢这个名字还可以改。

设置 My Domain 策略(一):路由与登录策略(Set Policies (1))

slide_32

来看场景:你是 Jedeye 的管理员,已经部署了 My Domain 名 jedeyetech,登录 URL 是 https://jedeyetech.my.salesforce.com,Lightning 页面都用 https://jedeyetech.lightning.force.com。首席营销官不希望用户在地址栏看到 Salesforce 实例。

在 Setup 里逛一下 My Domain 页:搜索 My Domain,在 Routing and Policies 下点 Edit。Login Policy 里可以要求登录必须走你的 My Domain URL(如禁止从 login.salesforce.com 或沙箱的 test.salesforce.com 登录),SOAP API 登录同理。本场景这些选项保持不勾选,点 Cancel 返回。

设置 My Domain 策略(二):记录重定向(Set Policies (2))

slide_33

在 Redirections 下点 Edit。当你上线新的品牌化 My Domain URL 时,会想识别指向旧 URL 的请求,好更新引用。

做法:勾选 Log redirections 并保存。保存后,Salesforce 会为 Hostname Redirects 事件类型生成日志,包含生成时刻之前 24 小时内的重定向信息。你也可以用 Event Monitoring 记录成功和被阻止的重定向。

定制登录页(一):加上你的品牌(Customize Login Page (1))

slide_34

策略设置好了,现在让登录页属于你自己。品牌化登录页能让用户不必看浏览器地址栏就认出你的网站。你可以添加:

  • 公司 logo;
  • 新的背景颜色;
  • 右侧你自己的图片或消息(适合放登录时想展示的公告)。

从 My Domain 页的 Authentication Configuration 下点 Edit 开始。

定制登录页(二):配置并实时查看(Customize Login Page (2))

slide_35

在 Authentication Configuration 里:

  1. 保持 Login Page Type 不变——现在继续用标准用户名密码;
  2. Logo File:上传公司 logo(.jpg/.gif/.png,最多 100 KB,最大 250×125 像素),显示在左上角;
  3. Background Color:用取色器或十六进制码改背景色;
  4. Right Frame URL:右侧内容,约占半页,生产组织须用 https URL,暂可用 Lorem Picsum 的图片;
  5. 不动 iOS/Android 原生浏览器等认证方式(它们不影响品牌化);
  6. 点 Save,退出再登录——迎接你的就是全新登录页。

大功告成!(You're Done!)

slide_36

恭喜,管理员!你已经设置了 My Domain 的重定向策略,并按公司品牌定制了登录页。首席营销官很满意你的 Salesforce 组织终于反映了品牌形象。

下一单元,你将在这个品牌化基础上,为内部用户设置单点登录。

为内部用户设置单点登录(03 Set Up Single Sign-On for Your Internal Users)

slide_37

本单元设置入站单点登录(inbound SSO),让用户能用第三方身份提供商的企业凭据登录 Salesforce。你将创建 Federation ID、在 Salesforce 侧配置 SAML 设置、链接身份提供商,最后验证一次登录是否真的成功。

完成本单元后,你将能够:创建 Federation ID;从第三方身份提供商设置单点登录;熟悉排查 SAML 请求的工具。

单点登录(一):登录一次,访问 Salesforce(SSO (1))

slide_38

My Domain URL 已经让员工能用安全好记的地址登录,而 SSO 让他们根本不用登录。SSO 有很多好处:

  • 你花在管理密码上的时间更少;
  • 员工省时——用户每次手动登录要 5–20 秒,积少成多;
  • 更多人用 Salesforce——共享的记录和报表链接可一键打开;
  • 从一个地方管理敏感信息的访问。

单点登录(二):入站 vs 出站(SSO (2))

slide_39

单点登录有两个方向:

  • 入站 SSO(inbound)——用户先在别处(如本地应用)登录,然后无需再次登录即可访问 Salesforce(本单元的重点);
  • 出站 SSO(outbound)——用户先登录 Salesforce,再无需再次登录访问其他服务。

别忘了 MFA(Keep MFA in Mind)

slide_40

还记得 MFA 要求吗?它同样适用于 SSO 用户——即使员工通过本地应用或 SSO 身份提供商访问 Salesforce,也必须先完成 MFA。有简单的处理办法:

  • 对 SSO 使用 Salesforce 自带的 MFA 服务(见 Help「Use Salesforce MFA for SSO」);
  • 或者,如果你的提供商提供 MFA,就在用户登录提供商时要求 MFA,而不是到 Salesforce 时。

用第三方身份提供商配置入站 SSO:四步(Configure Inbound SSO: 4 Steps)

slide_41

IT 主管 Sean Sollo 要你设置 SSO,让 Salesforce 用户能用 Jedeye 网络凭据登录。我们以新员工 Sia 为例,用 Axiom Heroku web app 作为身份提供商。听起来难,其实不然——拆成四步:

  1. 为每个用户创建 Federation ID;
  2. 在 Salesforce 里设置 SSO 设置;
  3. 在 SSO 提供商里设置 Salesforce 设置;
  4. 确认一切正常。

步骤 1:创建 Federation ID(Step 1: Create a Federation ID)

slide_42

设置 SSO 时,用唯一属性标识每个用户——这是把 Salesforce 用户与第三方身份提供商关联起来的链接。可以用用户名、用户 ID 或 Federation ID(这里用它,它是身份行业对「唯一用户 ID」的称呼)。

  1. Setup 的 Quick Find 输入 Users,选择 Users;
  2. 点 Sia 名字旁的 Edit;
  3. 在 Single Sign On Information 下输入 Federation ID:sia@jedeye-tech.com;
  4. 点 Save。

提示:Federation ID 在组织内每个用户必须唯一;若用户属于多个组织,就在每个组织用同一个 Federation ID。

步骤 2:在 Salesforce 配置 SSO 提供商(一):启用 SAML(Step 2 (1))

slide_43

你的服务提供商(Salesforce)需要了解身份提供商(Axiom),反之亦然。在 Salesforce 侧我们配置 SAML 设置——SAML 是 Salesforce Identity 实现 SSO 所用的协议。建议把 Salesforce 和 Axiom 分别开在两个浏览器窗口,方便复制粘贴。

  1. 新窗口访问 https://axiomsso.herokuapp.com;
  2. 点 SAML Identity Provider & Tester;
  3. 点 Download the Identity Provider Certificate(记住保存位置,稍后上传);
  4. 回到 Salesforce Setup,Quick Find 输入 Single,选 Single Sign-On Settings;
  5. 点 Edit,勾选 SAML Enabled,点 Save。

步骤 2:在 Salesforce 配置 SSO 提供商(二):SAML 设置(Step 2 (2))

slide_44

在 SAML Single Sign-On Settings 里点 New,填入这些值:

  • Name: Axiom Test App;
  • Issuer: https://axiomsso.herokuapp.com;
  • Identity Provider Certificate: 刚才下载的文件;
  • Request Signature Method: RSA-SHA1;
  • SAML Identity Type: Assertion contains the Federation ID from the User object;
  • SAML Identity Location: Identity is in the NameIdentifier element of the Subject statement;
  • Service Provider Initiated Request Binding: HTTP Redirect;
  • Entity ID: 你的 My Domain URL(含 https 且引用 Salesforce 域名)。

点 Save,保持页面打开。

步骤 3:链接身份提供商(一):生成 SAML 响应(Step 3 (1))

slide_45

Salesforce 现在认识了 Axiom。下一步反过来:让身份提供商认识 Salesforce。返回 Axiom web app,点 SAML Identity Provider & Tester,再点 generate a SAML response。

因为要填写 Salesforce 的 SSO 设置,请保持两个浏览器窗口同时打开——一个 Salesforce、一个 Axiom,方便互相复制数值。

步骤 3:链接身份提供商(二):填写提供商字段(Step 3 (2))

slide_46

在 Axiom 表单里填入(其余字段保持不变):

  • SAML Version: 2.0;
  • Username or Federated ID: Sia 的 Federation ID(来自她的 Salesforce 用户页);
  • Issuer: https://axiomsso.herokuapp.com;
  • Recipient URL: Salesforce SAML 设置页底部的 Login URL(Endpoints 段);
  • Entity Id: Salesforce SAML 设置页的 Entity ID。

填完后,Axiom 设置页看起来就绪,可以进行最后测试了。

步骤 4:确认一切正常(Step 4: Make Sure It All Works)

slide_47

一切配置完毕,现在用一次成功登录来证明:

  1. 在 Axiom 设置窗口,点击最底部的 Request SAML Response;
  2. Axiom 以 XML 生成 SAML assertion——初看像机器人语言,但滚动下去就能看到用户和请求的相关信息;
  3. 点 Login。

如果一切正常,你就以 Sia 的身份登录到 Salesforce 主页——Axiom 把你作为持有相应 Federation ID 的用户登录进了 Salesforce。恭喜,你为从其他应用访问 Salesforce 的用户配置好了 SSO!


文章来源:Trailhead - User Authentication