在 Microsoft Entra ID 中,自助密码重置写回是如何工作的?

Microsoft Entra 自助服务密码重置(SSPR)允许用户在云中重置其密码,但大多数公司也为用户提供了本地 Active Directory 域服务(AD DS)环境。 密码写回允许使用 Microsoft Entra ConnectMicrosoft Entra Connect 云同步将云中的密码更改实时写回到本地目录。当用户在云中使用 SSPR 更改或重置其密码时,更新的密码也会写回到本地 AD DS 环境。

重要

此概念性文章向管理员介绍了自助密码重置写回的工作原理。 如果你是已注册自助式密码重置的最终用户并且需要返回到你的帐户,请转到 https://aka.ms/sspr

如果你的 IT 团队尚未启用重置自己密码的功能,请联系支持人员以获得更多帮助。

在使用以下混合标识模型的环境中支持密码写回:

密码写回提供以下功能:

  • 强制实施本地 Active Directory 域服务(AD DS)密码策略:当用户重置其密码时,会对其进行检查,以确保它在将密码提交到该目录之前满足本地 AD DS 策略。 此评审包括检查历史记录、复杂性、年龄、密码筛选器以及 AD DS 中定义的任何其他密码限制。
  • 零延迟反馈:密码写回是同步作。 如果用户的密码不符合策略,或者因任何原因无法重置或更改,用户将立即收到通知。
  • 支持访问面板和 Microsoft 365 中的密码更改:当联合用户或密码哈希同步用户更改其过期或未过期的密码时,这些密码将写回到 AD DS。
  • 当管理员从 Microsoft Entra 管理中心重置密码时支持密码写回:当管理员重置 Microsoft Entra 管理中心中的用户密码时,如果该用户已联合或密码哈希同步,密码将写回到本地。 Office 管理门户中当前不支持此功能。
  • 不需要任何入站防火墙规则:密码写回使用 Azure 服务总线中继作为基础通信通道。 所有通信都是通过端口 443 进行出站通信的。
  • 支持使用 Microsoft Entra Connect云同步并行部署,以根据用户的需求(包括处于断开连接的域中的用户)针对不同的用户组进行并行部署

注释

处理密码写回请求的本地服务帐户无法更改属于受保护组的用户的密码。 管理员可以在云中更改其密码,但他们无法使用密码写回来重置其本地用户忘记的密码。 有关受保护组的详细信息,请参阅 AD DS 中的受保护帐户和组

若要开始使用 SSPR 写回,请完成下面的一个或两个教程:

Microsoft Entra Connect 和云同步并行部署

可以在不同的域中并行部署 Microsoft Entra Connect 和云同步,以面向不同的用户组。 这有助于现有用户继续写回密码更改,同时在用户因公司合并或拆分而处于断开连接域的情况下添加该选项。 Microsoft Entra Connect 和云同步可以在不同的域中进行配置,以便一个域中的用户可以在另一个域中使用云同步时使用 Microsoft Entra Connect。云同步还可以提供更高的可用性,因为它不依赖于Microsoft Entra Connect 的单个实例。 有关这两个部署选项之间的功能比较,请参阅 Microsoft Entra Connect 与云同步之间的比较

密码写回的工作原理

为使用联合身份验证或密码哈希同步配置的用户帐户(或者在 Microsoft Entra Connect 部署的情况下,使用直通身份验证)尝试重置或更改云中的密码时,将执行以下操作:

  1. 执行检查以查看用户拥有的密码类型。 如果密码在本地管理:

    • 执行检查以查看写回服务是否已启动并运行。 如果是,用户可以继续进行。
    • 如果写回服务关闭,则会通知用户其密码现在无法重置。
  2. 接下来,用户通过相应的身份验证入口并到达 “重置密码 ”页。

  3. 用户选择新密码并确认。

  4. 当用户选择 “提交”时,纯文本密码使用写回设置过程中创建的公钥进行加密。

  5. 加密的密码将包含在一个有效负载中,该负载通过 HTTPS 通道发送到租户特定的服务总线中继(已在写回设置过程中设置此中继)。 此中继由一个随机生成的密码保护,只有您的本地安装知道该密码。

  6. 在消息到达服务总线后,密码重置终结点便自动唤醒,并看到有待处理的重置请求。

  7. 然后,该服务使用云定位点属性查找用户。 要使此查找成功,必须满足以下条件:

    • 用户对象必须存在于 AD DS 连接器空间中。
    • 用户对象必须链接到相应的 Metaverse (MV) 对象。
    • 用户对象必须链接到相应的Microsoft Entra 连接器对象。
    • 从 AD DS 连接器对象到 MV 的链接必须具有链接上的同步规则 Microsoft.InfromADUserAccountEnabled.xxx

    当调用来自云时,同步引擎使用 cloudAnchor 属性来查找 Microsoft Entra 连接器空间对象。 然后,它跟随链接返回到 MV 对象,再跟随链接返回到 AD DS 对象。 由于同一用户可能有多个 AD DS 对象(多森林环境),因此同步引擎依赖于 Microsoft.InfromADUserAccountEnabled.xxx 链接去选择正确的对象。

  8. 找到用户帐户后,将尝试直接在相应的 AD DS 林中重置密码。

  9. 如果密码集作成功,则用户被告知其密码已更改。

    注释

    如果用户的密码哈希通过使用密码哈希同步同步到 Microsoft Entra ID,则本地密码策略可能比云密码策略弱。 在这种情况下,将实施本地策略。 无论您是使用密码哈希同步还是联合身份验证来提供单一登录,此策略都可确保您的本地策略在云中得到强制执行。

  10. 如果密码集作失败,错误会提示用户重试。 作可能由于以下原因而失败:

    • 服务已关闭。
    • 他们选择的密码不符合组织的策略。
    • 无法在本地 AD DS 环境中找到用户。

    错误消息向用户提供指导,以便他们可以尝试解决,而无需管理员干预。

密码写回安全性

密码写回是一项高度安全的服务。 为了确保信息受到保护,已启用四层安全模型,如下所示:

  • 租户特定的服务总线中继
    • 设置服务时,会设置租户特定的服务总线中继,该中继受随机生成的强密码保护,Microsoft永远不会访问。
  • 受限制的、加密强度高的密码加密密钥
    • 创建服务总线中继后,将生成一个强对称密钥,用于在密码通过网络传输时加密。 此密钥仅存在于云中的公司机密存储中,该存储被严重锁定和审核,就像目录中的任何其他密码一样。
  • 行业标准传输层安全性 (TLS)
    1. 当云中发生密码重置或更改作时,纯文本密码将使用公钥进行加密。
    2. 加密密码将放置在通过加密通道发送的 HTTPS 消息中,该消息使用 Microsoft TLS/SSL 证书发送到服务总线中继。
    3. 消息到达服务总线后,您的本地代理会唤醒,并使用先前生成的强密码向服务总线进行身份验证。
    4. 本地代理会选取加密的消息,并使用私钥对其进行解密。
    5. 本地代理尝试通过 AD DS SetPassword API 设置密码。 此步骤允许在云中强制实施 AD DS 本地密码策略(例如复杂性、年龄、历史记录和筛选器)。
  • 消息过期策略
    • 如果由于本地服务关闭而导致消息位于服务总线中,消息会超时并在几分钟后遭到删除。 消息超时和删除进一步提高了安全性。

密码写回加密详细信息

用户提交密码重置后,重置请求在到达本地环境之前会经历几个加密步骤。 这些加密步骤可确保最大的服务可靠性和安全性。 它们如下所述:

  1. 使用 2048 位 RSA 密钥进行密码加密:用户提交密码以写回到本地后,提交的密码本身使用 2048 位 RSA 密钥进行加密。
  2. 使用 256 位 AES-GCM 进行包级加密:整个包(密码和所需的元数据)使用 AES-GCM(密钥大小为 256 位)进行加密。 此加密可防止任何直接访问基础服务总线通道的人查看或篡改内容。
  3. 所有通信都通过 TLS/SSL 发生:与服务总线的所有通信都发生在 SSL/TLS 通道中。 此加密可保护内容不被未经授权的第三方访问。
  4. 每六个月自动密钥轮换:所有密钥每六个月轮换一次,或每次禁用密码写回功能并在 Microsoft Entra Connect 上重新启用时进行轮换,以确保服务的最大安全性和可靠性。

密码写回带宽使用情况

密码写回是一种低带宽服务,仅在以下情况下将请求发送回本地代理:

  • 当通过 Microsoft Entra Connect 启用或禁用该功能时,将发送两条消息。
  • 在服务运行的持续时间内,如果服务有检测信号,则每隔 5 分钟发送一条消息。
  • 每次提交新密码时,都会发送两条消息:
    • 第一条消息是请求执行操作。
    • 第二条消息包含作的结果,并在以下情况下发送:
      • 每次在用户自助式密码重置期间提交新密码时。
      • 每次在用户执行密码更改操作期间提交新密码时。
      • 每次在管理员发起的用户密码重置期间提交新密码时(仅从 Entra 管理门户)。

消息大小和带宽注意事项

前面描述的每个消息的大小通常低于 1 KB。 即使在极端负载下,密码写回服务本身也消耗了每秒几千位的带宽。 由于每个消息都是实时发送的,因此仅当密码更新作需要时才发送,并且由于消息大小太小,写回功能的带宽使用率太小,无法产生可衡量的影响。

支持的写回操作

密码将在以下所有情况下重新写入:

  • 支持的最终用户操作

    • 最终用户以自助形式执行的任何自愿更改密码操作。
    • 任何最终用户自助强制更改密码操作(例如,密码到期)。
    • 源自 密码重置门户的任何最终用户自助密码重置。
  • 支持的管理员操作

    • 管理员以自助形式执行的任何自愿更改密码操作。
    • 任何管理员自助强制更改密码操作(例如,密码到期)。
    • 源自密码重置门户的任何管理员自助式密码重置操作。
    • 管理员通过 Microsoft Entra 管理中心发起的任何最终用户密码重置。
    • 任何管理员通过 Microsoft Graph API 发起的任何最终用户密码重置操作。

不支持的写回操作

在以下任何情况下,密码不会写回:

  • 不支持的最终用户操作

    • 任何最终用户使用 PowerShell 版本 1、版本 2 或 Microsoft Graph API 重置自己的密码。
  • 不支持的管理员操作

    • 任何管理员发起的最终用户密码重置操作(使用 PowerShell 版本 1 或版本 2)。
    • 任何管理员通过 Microsoft 365 管理中心发起的任何最终用户密码重置操作。
    • 任何管理员都不能使用密码重置工具来重置其密码以进行密码写回。

注释

如果用户在 Active Directory(AD)中设置了“密码永不过期”选项,则不会在 Active Directory (AD)中设置强制密码更改标志,因此即使在管理员启动的最终用户密码重置期间,即使强制用户在下次登录选项上更改其密码的选项,也不会提示用户在下次登录时更改密码。

后续步骤

若要开始 SSPR 写回,请完成以下教程: