Loading
保护您的 Salesforce 组织
排除密钥提示和单点登录的问题

排除密钥提示和单点登录的问题

用户通过单点登录 (SSO) 身份提供商登录,例如 Okta 或 Microsoft Entra ID,并完成多重身份验证。在用户访问 Salesforce 之前,另一个提示会要求他们创建密钥。排除导致此问题的身份验证信号。本指南包括安全声明标记语言 (SAML) 和 OpenID Connect 的故障排除步骤。

所需的 Edition

适用于 Salesforce Classic 和 Lightning Experience

联合身份验证适用于:所有版本

验证提供商适用于:ProfessionalEnterprisePerformanceUnlimitedDeveloper Edition

所需用户权限
监视登录:

监视登录历史

管理用户

要使用安全声明标记语言 (SAML) 声明验证器:

查看设置和配置

以及

自定义应用程序

修改所有数据

要绕过此密钥提示,Salesforce 要求 SSO 身份提供商在登录期间发送身份验证信号,以证明他们满足 MFA 要求。如果用户在完成 MFA 后看到密钥提示,这表示 Salesforce 不会从 SSO 身份提供商处收到接受的信号。有关 SSO 身份提供商如何发送身份验证信号的概述,请参见具有 SSO 身份提供商的 MFA。

Salesforce 要求特权用户使用防网络钓鱼 MFA。没有这些权限的员工用户(非特权用户)可以通过防网络钓鱼或标准 MFA 来满足他们的 MFA 要求。有关防网络钓鱼和标准 MFA 验证方法的更多信息,请查看 MFA 验证方法层

通过 SSO 登录和检查密钥提示

在您或用户通过 SSO 登录时,检查密钥提示,这可以帮助您了解用户为何看到此提示。

查找显示“您的帐户需要密钥以增强安全性”的消息。或者,设置单点登录提供商,以满足 Salesforce 安全要求。了解更多信息。”只有特权用户 — 具有系统管理员简档或修改所有数据、查看所有数据、自定义应用程序或作者 Apex 用户权限的用户 — 才能看到此消息。此消息表示 Salesforce 不会从 SSO 身份提供商收到防网络钓鱼身份验证信号。因此,Salesforce 要求特权用户为防网络钓鱼 MFA 创建密钥。

在 SSO 提供商未发送防网络钓鱼身份验证信号时,为特权用户创建密钥提示

非特权用户会看到此提示,其中不包括关于加强安全性需要密钥的消息。此提示表示 Salesforce 未收到来自 SSO 身份提供商的防网络钓鱼或标准身份验证信号。因此,Salesforce 要求用户创建密钥或设置其他验证方法,例如 Salesforce Authenticator 或一次性密码应用程序。

当 SSO 提供商不使用公认的 MFA 方法(防网络钓鱼或标准)时,为非特权用户创建密钥提示

检查登录历史

对于 SAML 和 OpenID Connect SSO,使用登录历史记录查看您的 SSO 身份提供商发送的身份验证信号。

备注
备注 仅对于 SAML SSO,您也可以使用 SAML 声明验证器来检查身份验证方法的强度。
  1. 要复制导致密钥提示的登录,请通过 SSO 登录。
    如果存在要排除故障的现有登录历史条目,您可以跳过此步骤。
  2. 登录管理员帐户。
  3. 从“设置”中,在快速查找框中,查找并选择登录历史
  4. 编辑当前视图或创建包含这些字段的视图,并保存更改。
    • 身份验证上下文类引用
    • 身份验证方法参考
    登录历史编辑视图,突出显示了身份验证上下文类引用和身份验证方法引用字段
  5. 查找最近 SSO 登录的行。请注意身份验证上下文类参考 (ACR) 和身份验证方法参考 (AMR) 的确切值。
  6. 检查身份验证方法层。
    备注
    备注 Salesforce 仅需要一个身份验证信号,即 ACR 或 AMR,满足用户类型的 MFA 要求。如果 SSO 身份提供商发送多个值,Salesforce 会使用最强的值来确定是否提示用户输入密钥。例如,如果 SSO 身份提供商发送防网络钓鱼和标准值的组合,Salesforce 会将登录接受为防网络钓鱼。
    等级 SSO 身份验证方法参考 (AMR) 信号 SSO 身份验证上下文类参考 (ACR) 信号
    抗网络钓鱼 MFA cert、face、fido、fido2、fpt、hwk、iris、passkey、phr、pki、pop、pwlesspasskey、retina、sc、 smartcard、 smartcardpki、softwarepki、swk、tlsclient、x509 fido、fido2、fpt、hwk、passkey、phr、pki、pwlesspasskey、retina、 smartcard、 smartcardpki、softwarepki、swk、tlsclient、x509
    标准 MFA mfa、mobiletwofactorcontract、okta_verify、pin、pgp、publickey、rsa、timesynctoken、user、vbm mfa、mobiletwofactorcontract、okta_verify、PGP、公钥、rsa、timesynctoken、vbm
    弱或没有 MFA pwd、sms、tel、email
  7. 如果身份验证信号与您期望的 SSO 身份提供商不匹配,请查看 Salesforce 如何评估这些信号。
    协议 索赔 匹配策略 示例
    OpenID Connect AMR Salesforce 比较 OpenID Connect AMR 数组中的每个值,例如 [hwk, mfa],以获得完全匹配。该值区分大小写。

    hwk匹配 ✓

    HWK不匹配 ✗

    OpenID Connect ACR Salesforce 会检查 ACR 元素是否包含该值,因此 mfa 等短令牌匹配完整的统一资源名称 (URN),例如 urn:oasis:names:tc:SAML:2.0:ac:classes:mfa。此值不区分大小写。 urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard → 小写 → 包含 smartcard
    SAML AMR Salesforce 解析并评估分号分隔字符串(例如 hwk;face;mfa)中的属性值。不评估逗号分隔的值。此值不区分大小写。

    hwk 匹配 HWK ✓(不区分大小写)

    urn:custom:auth:mfa → 拆分为分段 → mfa 匹配 ✓

    https://example.com/auth/hwk → 拆分 / → hwk 匹配 ✓

    SAML ACR Salesforce 会检查 ACR 元素是否包含该值,因此 mfa 等短令牌匹配 urn:oasis:names:tc:SAML:2.0:ac:classes:mfa 等完整 URN。此值不区分大小写。 urn:oasis:names:tc:SAML:2.0:ac:classes:MFA → 小写 → 包含 mfa

检查 SAML 声明验证器

仅对于 SAML SSO,您可以使用 SAML 声明验证器查看值是防网络钓鱼、标准还是弱。

  1. 请联系您的 SSO 身份提供商,获取纯 XML、base-64 编码或扁平化和 base-64 编码格式的 SAML 声明。
    备注
    备注 如果用户无法登录 Salesforce,Salesforce 会尽可能自动将无效的 SAML 声明输入验证器。一些错误会阻止 Salesforce 自动输入声明。
  2. “设置”中,使用快速查找框查找并选择单点登录设置
  3. 单击 SAML 声明验证器。
  4. 如果 SAML 声明尚未从失败的登录中输入,请输入来自 SSO 身份提供商的 SAML 声明,然后单击验证
    备注
    备注 如果您的组织有多个 SAML SSO 配置,验证器会尝试检测正确的配置。要选择配置,单击自动检测配置旁边的下拉箭头。
  5. 检查结果 2,了解 Salesforce 检测到的所有网络钓鱼防护、标准和弱 AMR 和 ACR 值的列表。

    在此示例屏幕截图中,Salesforce 检测到防网络钓鱼、标准和弱值。本例中的 SSO 登录具有网络钓鱼防护功能,因为它包含至少一个网络钓鱼防护值。它包含标准和弱值并不重要。使用此 SAML 配置,Salesforce 不会提示任何员工用户输入密钥。

    SAML 声明验证器结果具有弱值和网络钓鱼防护值

配置您的 SSO 身份提供商以发送支持的身份验证信号

与您的 SSO 身份提供商合作,为 Salesforce MFA 要求发送支持的身份验证信号。有关高级设置步骤,请查看使用 SSO 提供商设置 MFA

如果您无法立即更新 SSO 身份提供商,除了 SSO 身份提供商的 MFA 之外,还可以临时使用 Salesforce MFA 服务。

另请参阅:

 
正在加载
Salesforce Help | Article