配置临时访问密码,以注册无密码身份验证方法

利用无密码身份验证方法(例如 FIDO2,以及通过 Microsoft Authenticator 应用进行无密码手机登录),用户无需密码即可安全登录。

用户可以通过以下两种方式之一来启动无密码方法:

  • 使用现有 Microsoft Entra 多重身份验证方法
  • 使用临时访问密码

临时访问密码 (TAP) 是一种限时密码,可配置为单次使用或多次使用。 用户可以使用 TAP 登录,以采用其他无密码身份验证方法,如 Microsoft Authenticator、FIDO2 或 Windows Hello 企业版。

当用户丢失或忘记自己的强身份验证因素(如 FIDO2 安全密钥或 Microsoft Authenticator 应用),但需要登录以注册新的强身份验证方法时,也可以使用临时访问密码更轻松地进行恢复。

本文介绍了如何通过 Microsoft Entra 管理中心启用和使用 TAP。 还可以使用 REST API 来执行这些操作。

启用临时访问密码策略

TAP 策略定义了多项设置,例如租户中创建的密码的生存期,或者可以使用 TAP 进行登录的用户和组。

在任何人可以使用 TAP 进行登录之前,需要先在身份验证方法策略中启用此方法,并选择哪些用户和组可以使用 TAP 进行登录。

虽然可以为任何用户创建 TAP,但只有策略中包含的用户才能使用 TAP 进行登录。 至少具有身份验证策略管理员角色的那些用户可以更新 TAP 身份验证方法策略。

若要配置 TAP 身份验证方法策略:

  1. 至少以身份验证策略管理员的身份登录到 Microsoft Entra 管理中心

  2. 浏览至“保护”>“身份验证方法”>“策略”。

  3. 从可用身份验证方法列表中,选择“临时访问密码”。

    说明如何管理身份验证方法策略体验的临时访问密码的屏幕截图。

  4. 单击“启用”,然后选择要在策略中包括或排除的用户。

    说明如何启用临时访问密码的身份验证方法策略的屏幕截图。

  5. (可选)选择“配置”以修改默认临时访问密码设置(如设置最长生存期或长度),然后单击“更新”。

    说明如何自定义临时访问密码的设置的屏幕截图。

  6. 选择“保存”以应用策略。

    下表介绍了默认值以及允许值的范围。

    设置 默认值 允许的值 注释
    最短生存期 1 小时 10-43,200 分钟(30 天) TAP 有效的最小分钟数。
    最长生存期 8 小时 10-43,200 分钟(30 天) TAP 有效的最大分钟数。
    默认生存期 1 小时 10-43,200 分钟(30 天) 默认值可以替代为各个密码,但必须是介于策略所配置的最短和最长生存期之间。
    一次性使用 False True/False 当策略设置为“False”时,租户中的密码在其有效期(最长生存期)内可以使用一次或多次。 通过在 TAP 策略中强制要求一次性使用,在租户中创建的所有密码都将成为一次性密码。
    长度 8 8-48 个字符 定义密码的长度。

创建临时访问密码

启用 TAP 策略后,可以在 Microsoft Entra ID 中为用户创建 TAP。 以下角色可以执行与 TAP 相关的各种操作。

  • 全局管理员可以创建、删除和查看任何用户(除了自己)的 TAP。
  • 特权身份验证管理员可以创建、删除和查看管理员和成员(除了自己)的 TAP
  • 身份验证管理员可以创建、删除和查看成员(除了自己)的 TAP。
  • 全局读取者可以查看用户的 TAP 详细信息(无需读取代码本身)。
  1. 至少以身份验证管理员的身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“用户”。

  3. 选择要为其创建 TAP 的用户。

  4. 选择“身份验证方法”并单击“添加身份验证方法”。

    说明如何创建临时访问密码的屏幕截图。

  5. 选择“临时访问密码”。

  6. 定义一个自定义激活时间或持续时间,然后选择“添加”。

    添加方法 - 临时访问传递的屏幕截图。

  7. 添加后,将显示 TAP 的详细信息。

    重要

    记下实际的 TAP 值,因为你将向用户提供此值。 选择“确定”后无法查看此值。

    说明临时访问密码详情的屏幕截图。

  8. 完成后,选择“确定”。

以下命令显示如何使用 PowerShell 创建和获取 TAP。

# Create a Temporary Access Pass for a user
$properties = @{}
$properties.isUsableOnce = $True
$properties.startDateTime = '2022-05-23 06:00:00'
$propertiesJSON = $properties | ConvertTo-Json

New-MgUserAuthenticationTemporaryAccessPassMethod -UserId user2@contoso.com -BodyParameter $propertiesJSON

Id                                   CreatedDateTime       IsUsable IsUsableOnce LifetimeInMinutes MethodUsabilityReason StartDateTime         TemporaryAccessPass
--                                   ---------------       -------- ------------ ----------------- --------------------- -------------         -------------------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee 5/22/2022 11:19:17 PM False    True         60                NotYetValid           23/05/2022 6:00:00 AM TAPRocks!

# Get a user's Temporary Access Pass
Get-MgUserAuthenticationTemporaryAccessPassMethod -UserId user3@contoso.com

Id                                   CreatedDateTime       IsUsable IsUsableOnce LifetimeInMinutes MethodUsabilityReason StartDateTime         TemporaryAccessPass
--                                   ---------------       -------- ------------ ----------------- --------------------- -------------         -------------------
00aa00aa-bb11-cc22-dd33-44ee44ee44ee 5/22/2022 11:19:17 PM False    True         60                NotYetValid           23/05/2022 6:00:00 AM

有关详细信息,请参阅 New-MgUserAuthenticationTemporaryAccessPassMethodGet-MgUserAuthenticationTemporaryAccessPassMethod

使用临时访问密码

TAP 的最常见用途是让用户在首次登录或设备设置期间注册身份验证详细信息,而无需完成额外的安全提示。 身份验证方法在 https://aka.ms/mysecurityinfo 上注册。 用户还可以在此处更新现有的身份验证方法。

  1. 打开 Web 浏览器,访问 https://aka.ms/mysecurityinfo

  2. 输入为其创建了 TAP 的帐户的 UPN,如 tapuser@contoso.com

  3. 如果用户已在 TAP 策略的涵盖范围内,则屏幕将提示他们输入 TAP。

  4. 输入 Microsoft Entra 管理中心内显示的 TAP。

    说明如何输入临时访问密码的屏幕截图。

注意

对于联合域,TAP 优先于联合身份验证。 使用 TAP 的用户将在 Microsoft Entra ID 中完成身份验证,并且系统不会将其重定向到联合标识提供者 (IdP)。

用户现已登录,可以更新或注册方法,例如 FIDO2 安全密钥。

如果是因丢失凭据或设备而要更新其身份验证方法,用户应确保删除原先的身份验证方法。

用户还可以使用其密码继续登录;临时访问密码不会替换用户的密码。

临时访问密码的用户管理

https://aka.ms/mysecurityinfo 上管理其安全信息的用户将看到临时访问密码的条目。 如果用户没有任何其他已注册方法,他们将在屏幕顶部看到一个横幅,指示他们添加新的登录方法。 用户还可以查看 TAP 过期时间,并可在不再需要 TAP 时将其删除。

说明如何在“我的安全信息”页管理临时访问密码的屏幕截图。

Windows 设备设置

使用 TAP 的用户可以在 Windows 10 和 11 上导航完成设置过程,以执行设备加入操作并配置 Windows Hello 企业版。 用于设置 Windows Hello 企业版的 TAP 的用法因设备的加入状态而异。

对于联接到 Microsoft Entra ID 的设备:

  • 在域加入设置过程中,用户可以通过 TAP 进行身份验证(无需密码)来将设备加入,并注册 Windows Hello 企业版。
  • 在已加入的设备上,用户必须先使用其他方法(例如密码、智能卡或 FIDO2 密钥)进行身份验证,然后才能使用 TAP 设置 Windows Hello 企业版。
  • 如果 Windows 上的 Web 登录功能也已启用,则用户可以使用 TAP 登录到设备。 这仅适用于完成初始设备设置,或者在用户不知道密码或没有密码时进行恢复。

在混合加入的设备上,用户必须先使用其他方法(例如密码、智能卡或 FIDO2 密钥)进行身份验证,然后才能使用 TAP 设置 Windows Hello 企业版。

说明在设置 Windows 时如何输入临时访问密码的屏幕截图。

无密码的手机登录

用户还可以使用自己的 TAP,直接在 Authenticator 应用中注册无密码手机登录。

有关详细信息,请参阅将工作或学校帐户添加到 Microsoft Authenticator 应用

说明如何使用工作或学校帐户输入临时访问密码的屏幕截图

来宾访问

如果 TAP 满足主租户身份验证要求,则来宾用户可以使用其主租户颁发的 TAP 登录到资源租户。

如果资源租户需要多重身份验证 (MFA),来宾用户需要执行 MFA 才能访问资源。

过期日期

过期或删除的 TAP 不能用于交互式或非交互式身份验证。

TAP 过期或删除后,用户需要使用其他身份验证方法重新进行身份验证。

通过 TAP 登录获取的令牌生存期(会话令牌、刷新令牌、访问令牌等)将限制为 TAP 的生存期。 如果 TAP 过期,则关联的令牌也会过期。

删除过期的临时访问密码

在用户对应的“身份验证方法”下,“详细信息”列中会显示 TAP 的过期时间。 可以通过以下步骤删除已过期的 TAP:

  1. 至少以身份验证管理员的身份登录到 Microsoft Entra 管理中心
  2. 浏览至“标识”>“用户”,选择一个用户,例如“Tap User”,然后选择“身份验证方法”。
  3. 在列表中显示的“临时访问密码”身份验证方法的右侧,选择“删除”。

你也可以使用 PowerShell:

# Remove a user's Temporary Access Pass
Remove-MgUserAuthenticationTemporaryAccessPassMethod -UserId user3@contoso.com -TemporaryAccessPassAuthenticationMethodId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee

有关详细信息,请参阅 Remove-MgUserAuthenticationTemporaryAccessPassMethod

替换临时访问密码

  • 每个用户只能有一个 TAP。 在 TAP 的开始和结束时间内,可以使用密码。
  • 如果用户需要新的 TAP:
    • 如果现有的 TAP 有效,管理员可以创建新的 TAP 来替代现有的有效 TAP。
    • 如果现有的 TAP 已过期,新的 TAP 将替代现有 TAP。

若要详细了解有关载入和恢复的 NIST 标准,请参阅 NIST 特别发布 800-63A

限制

请牢记这些限制:

  • 使用一次性 TAP 注册无密码方法(如 FIDO2 安全密钥或电话登录)时,用户必须在使用一次性 TAP 登录后的 10 分钟内完成注册。 此限制不适用于可以多次使用的 TAP。
  • 自助式密码重置 (SSPR) 注册策略 Microsoft Entra ID 保护多重身份验证注册策略涵盖范围内的用户在使用浏览器通过 TAP 登录后,需要注册身份验证方法。 这些策略范围内的用户将会重定向到合并注册的中断模式。 此体验当前不支持 FIDO2 和手机登录注册。
  • TAP 无法与网络策略服务器 (NPS) 扩展和 Active Directory 联合身份验证服务 (AD FS) 适配器配合使用。
  • 复制更改可能需要几分钟时间。 因此,将 TAP 添加到帐户后,可能需要一段时间才能显示提示。 由于同样的原因,在 TAP 过期后,用户仍可能会看到 TAP 提示。

疑难解答

  • 如果在登录期间未向用户提供 TAP,请执行以下操作:
    • 确保用户处于 TAP 身份验证方法策略的涵盖范围内。
    • 确保用户拥有有效的 TAP,并且尚未使用(如果是一次性使用的密码)。
  • 如果在使用 TAP 进行登录的过程中,出现了“由于用户凭据策略原因,临时访问密码登录已被阻止”提示,请执行以下操作:
    • 确保用户没有可多次使用的 TAP,而身份验证方法策略要求使用一次性 TAP。
    • 检查一次性 TAP 是否已使用。
  • 如果因用户凭据策略而导致 TAP 登录受阻,请检查该用户是否位于 TAP 策略的涵盖范围内。

后续步骤