你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure AD 中配置临时访问密码,以注册无密码身份验证方法
利用无密码身份验证方法(例如 FIDO2,以及通过 Microsoft Authenticator 应用进行无密码手机登录),用户无需密码即可安全登录。 用户可以通过以下两种方式之一来启动无密码方法:
- 使用现有的 Azure AD 多重身份验证方法
- 使用临时访问密码 (TAP)
临时访问密码是有时间限制的,可配置为多用途或单次使用,以允许用户载入其他身份验证方法,包括无密码方法,如 Microsoft Authenticator、FIDO2 或 Windows Hello 企业版。
当用户丢失或忘记自己的强身份验证因素(如 FIDO2 安全密钥或 Microsoft Authenticator 应用),但需要登录以注册新的强身份验证方法时,也可以使用临时访问密码,更轻松地进行恢复。
本文介绍了如何通过 Azure 门户在 Azure AD 中启用和使用临时访问密码。 还可以使用 REST API 来执行这些操作。
启用临时访问密码策略
临时访问密码策略中定义了多项设置,例如租户中创建密码的生存期,或者可以使用临时访问密码进行登录的用户和组。 在任何人可以使用临时访问密码进行登录之前,你需要先启用身份验证方法策略中的临时访问密码,并选择可以使用临时访问密码进行登录的用户和组。 尽管可以为任何用户创建临时访问密码,但只有策略中包含的用户才能使用该密码进行登录。
公司管理员和身份验证策略管理员角色持有者可以更新临时访问密码身份验证方法策略。 若要配置临时访问密码身份验证方法策略,请执行以下操作:
使用拥有全局管理员权限的帐户登录到 Azure 门户。
搜索并选择“Azure Active Directory”,然后从左侧菜单中选择“安全性”。
在“管理”菜单标题下,选择“身份验证方法”>“策略”。
从可用身份验证方法列表中,选择“临时访问密码”。
将“启用”设置为“是”来启用策略。 然后选择“目标”用户。
(可选)选择“配置”并修改默认临时访问密码设置(如设置最长生存期或时长)。
选择“保存”以应用策略。
下表介绍了默认值以及允许值的范围。
设置 默认值 允许的值 注释 最短生存期 1 小时 10-43,200 分钟(30 天) 临时访问密码保持有效的最短分钟数。 最长生存期 8 小时 10-43,200 分钟(30 天) 临时访问密码保持有效的最长分钟数。 默认生存期 1 小时 10-43,200 分钟(30 天) 默认值可以替代为各个密码,但必须是介于策略所配置的最短和最长生存期之间。 一次性使用 False True/False 当策略设置为“False”时,租户中的密码在其有效期(最长生存期)内可以使用一次或多次。 通过在临时访问密码策略中强制要求一次性使用,在租户中创建的所有密码都将创建为一次性使用。 Length 8 8-48 个字符 定义密码的长度。
创建临时访问密码
启用策略后,可以在 Azure AD 中为用户创建临时访问密码。 这些角色可以执行下列与临时访问密码有关的操作。
- 全局管理员可以创建、删除和查看任何用户(除了自己)的临时访问密码
- 特权身份验证管理员可以创建、删除和查看管理员和成员(除了自己)的临时访问密码
- 身份验证管理员可以创建、删除和查看成员(除了自己)的临时访问密码
- 全局读取者可以查看用户的临时访问密码详细信息(但不能读取代码本身)。
以全局管理员、特权身份验证管理员或身份验证管理员身份登录 Azure 门户。
选择 Azure Active Directory,浏览到“用户”,选择一个用户(如 Chris Green),然后选择“身份验证方法”。
如果需要,请选择相应的选项以“尝试新的用户身份验证方法体验”。
选择“添加身份验证方法”选项。
在“选择方法”下,选择“临时访问密码”。
定义一个自定义激活时间或持续时间,然后选择“添加”。
添加后,将显示临时访问密码的详细信息。 记下临时访问密码的实际值。 将此值提供给用户。 选择“确定”后无法查看此值。
以下命令显示如何使用 PowerShell 创建和获取临时访问密码。
# 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
-- --------------- -------- ------------ ----------------- --------------------- ------------- -------------------
c5dbd20a-8b8f-4791-a23f-488fcbde3b38 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
-- --------------- -------- ------------ ----------------- --------------------- ------------- -------------------
c5dbd20a-8b8f-4791-a23f-488fcbde3b38 5/22/2022 11:19:17 PM False True 60 NotYetValid 23/05/2022 6:00:00 AM
有关详细信息,请参阅 New-MgUserAuthenticationTemporaryAccessPassMethod 和 Get-MgUserAuthenticationTemporaryAccessPassMethod。
使用临时访问密码
临时访问密码的最常见用途是让用户在首次登录或设备设置期间注册身份验证详细信息,而无需完成额外的安全提示。 身份验证方法在 https://aka.ms/mysecurityinfo 上注册。 用户还可以在此处更新现有的身份验证方法。
打开 Web 浏览器,访问 https://aka.ms/mysecurityinfo。
输入为其创建了临时访问密码的帐户所对应的 UPN,例如 tapuser@contoso.com 。
如果用户已包含在临时访问密码策略中,则屏幕中将提示输入其临时访问密码。
输入 Azure 门户中显示的临时访问密码。
注意
对于联合域,优先使用临时访问密码而非联合身份验证。 拥有临时访问密码的用户将在 Azure AD 中完成身份验证,并且不会重定向到联合标识提供程序 (IdP)。
用户现已登录,可以更新或注册方法,例如 FIDO2 安全密钥。 如果是因丢失凭据或设备而要更新其身份验证方法,用户应确保删除原先的身份验证方法。 用户还可以使用其密码继续登录;“点击”操作不会替换用户的密码。
临时访问密码的用户管理
在 https://aka.ms/mysecurityinfo 上管理其安全信息的用户将看到临时访问密码的条目。 如果用户没有任何其他注册方法,他们将在屏幕顶部看到一个横幅,要求他们添加新的登录方法。 用户还可以查看 TAP 过期时间,并在不再需要 TAP 时将其删除。
Windows 设备设置
具有临时访问密码的用户可以在 Windows 10 和 11 上导航完成设置过程,以执行设备加入操作并配置 Windows Hello 企业版。 用于设置 Windows Hello 企业版的临时访问密码的用法因设备的加入状态而异。
对于已加入 Azure AD 的设备:
- 在设置 Azure AD 加入期间,用户可以通过 TAP 进行身份验证(无需密码)来将设备加入,并注册 Windows Hello 企业版。
- 在已加入的设备上,用户必须先使用其他方法(例如密码、智能卡或 FIDO2 密钥)进行身份验证,然后才能使用 TAP 设置 Windows Hello 企业版。
- 如果 Windows 上的 Web 登录功能也已启用,则用户可以使用 TAP 登录到设备。 这仅适用于完成初始设备设置,或者在用户不知道密码或没有密码时进行恢复。
对于已加入混合 Azure AD 的设备:
- 用户必须先使用其他方法(例如密码、智能卡或 FIDO2 密钥)进行身份验证,然后才能使用 TAP 设置 Windows Hello 企业版。
无密码的手机登录
用户还可以使用自己的临时访问密码,直接从 Authenticator 应用中注册无密码手机登录。 有关详细信息,请参阅将工作或学校帐户添加到 Microsoft Authenticator 应用。
来宾访问
如果临时访问密码满足主租户身份验证要求,则来宾用户可以使用其主租户颁发的临时访问密码登录到资源租户。 如果资源租户需要 MFA,来宾用户需要执行 MFA 才能访问资源。
过期时间
过期或删除的临时访问密码不能用于交互式或非交互式身份验证。 临时访问密码过期或删除后,用户需要使用不同的身份验证方法重新进行身份验证。
通过临时访问密码登录获取的令牌生存期(会话令牌、刷新令牌、访问令牌,等等)将被限制为临时访问密码生存期。 因此,临时访问密码过期将导致关联的令牌过期。
删除过期的临时访问密码
在用户对应的“身份验证方法”下,“详细信息”列中显示了临时访问密码的过期时间。 可以使用以下步骤,删除已过期的临时访问密码:
- 在 Azure AD 门户中,浏览到“用户”并选择一个用户(例如“Tap User”),然后选择“身份验证方法”。
- 在列表中显示的“临时访问密码”身份验证方法的右侧,选择“删除”。
你也可以使用 PowerShell:
# Remove a user's Temporary Access Pass
Remove-MgUserAuthenticationTemporaryAccessPassMethod -UserId user3@contoso.com -TemporaryAccessPassAuthenticationMethodId c5dbd20a-8b8f-4791-a23f-488fcbde3b38
有关详细信息,请参阅 Remove-MgUserAuthenticationTemporaryAccessPassMethod。
替换临时访问密码
- 每个用户只能有一个临时访问密码。 在临时访问密码的开始和结束时间内,可以使用密码。
- 如果用户需要新的临时访问密码,请执行以下操作:
- 如果现有临时访问密码有效,管理员可以创建新的临时访问密码,这将替代现有的有效临时访问密码。
- 如果现有的临时访问密码已过期,则新的临时访问密码将替代现有的临时访问密码。
若要详细了解有关载入和恢复的 NIST 标准,请参阅 NIST 特别发布 800-63A。
限制
请牢记这些限制:
- 使用一次性临时访问密码来注册无密码方法(如 FIDO2 或手机登录)时,用户必须在登录 10 分钟内使用一次性临时访问密码完成注册。 此限制不适用于可以多次使用的临时访问密码。
- 自助式密码重置 (SSPR) 注册策略或标识保护多重身份验证注册策略范围内的用户在使用临时访问密码登录后,需要注册身份验证方法。 这些策略范围内的用户将重定向到合并注册的中断模式。 此体验当前不支持 FIDO2 和手机登录注册。
- 临时访问密码无法与网络策略服务器 (NPS) 扩展和 Active Directory 联合身份验证服务 (AD FS) 适配器配合使用。
- 将临时访问密码添加到帐户或该密码过期后,可能需要几分钟才能复制更改。 在此期间,用户仍可能会看到需输入临时访问密码的提示。
疑难解答
- 如果用户在登录期间未向其提供临时访问密码,请检查以下内容:
- 用户是否处于临时访问密码身份验证方法策略的范围内。
- 用户是否拥有还在有效期内的临时访问密码,如果是一次性使用,是否尚未使用。
- 如果在使用临时访问密码进行登录的过程中,出现了“由于用户凭据策略原因,临时访问密码登录已被阻止”提示,请检查以下各项:
- 用户是否拥有可多次使用的临时访问密码,而身份验证方法策略要求的是一次性临时访问密码。
- 一次性临时访问密码已被使用。
- 如果因用户凭据策略而导致临时访问密码登录受阻,请检查该用户是否位于 TAP 策略的范围内。