Microsoft Entra ID 中的密码策略和帐户限制

在 Microsoft Entra ID 中,有一个密码策略用于定义密码复杂性、长度或期限等设置。 还有一个策略可用于定义用户名可接受的字符和长度。

使用自助式密码重置 (SSPR) 在 Microsoft Entra ID 中更改或重置密码时,将检查密码策略。 如果密码不满足策略要求,则系统会提示用户重试。 Azure管理员对使用与常规用户帐户不同的 SSPR 有一些限制,Microsoft Entra ID试用版和免费版本有一些例外情况。

本文介绍与用户帐户关联的密码策略设置和复杂性要求。 它还介绍了如何使用 PowerShell 检查或设置密码过期设置。

用户名策略

登录到 Microsoft Entra ID 的每个帐户都必须有唯一的与其帐户关联的用户主体名称 (UPN) 属性值。 在具有使用 Microsoft Entra Connect 与 Microsoft Entra ID 同步的本地 Active Directory 域服务环境的混合环境中,默认情况下 Microsoft Entra UPN 设置为本地 UPN。

下表概括了既应用于同步到 Microsoft Entra ID 的本地账户又应用于直接在 Microsoft Entra ID 中创建的仅限云的用户帐户的用户名策略:

属性 UserPrincipalName 要求
允许的字符 A-Z
a-z
0-9
' . - _ ! #^~
不允许的字符 非用来分隔用户名和域名的任何“@”字符。
不能包含紧接在“@”符号前面的句点字符“.”
长度约束 总长度不能超过 113 个字符
在“@”符号前最多能有 64 个字符
在“@”符号后最多能有 48 个字符

Microsoft Entra 密码策略

密码策略应用于直接在 Microsoft Entra ID 中创建和管理的所有用户帐户。 尽管可以为 Microsoft Entra 密码保护或帐户锁定参数配置自定义禁止密码,但无法修改其中某些密码策略设置。

默认情况下,使用错误的密码尝试登录 10 次失败后,帐户会被锁定。 用户会被锁定一分钟。 进一步不正确的登录尝试后,锁定时间会延长。 智能锁定跟踪最后三个错误的密码哈希,以避免对相同密码增大锁定计数器。 如果有人多次输入同一个错误密码,将不会锁定该用户。可以定义智能锁定阈值和持续时间。

定义了以下 Microsoft Entra 密码策略选项。 除非另行说明,否则无法更改这些设置:

属性 要求
允许的字符 A-Z
a-z
0-9
@ # $ % ^ & * - _ ! + = [ ] { } |\ : ' , . ? / ` ~ " ( ) ; <>
空格
不允许的字符 Unicode 字符
密码限制 至少 8 个字符,最多包含 256 个字符。
需要使用以下四种字符类型中的三种:
- 小写字符
- 大写字符
- 数字 (0-9)
- 符号(请参阅前面的密码限制)
密码过期期限(最长密码期限) 默认值: 无过期。 如果租户是在 2021 年之前创建的,则默认有 90 天的过期值。 你可以使用 Get-MgDomain 检查当前策略。
该值可通过适用于 PowerShell 的 Microsoft Graph 模块中的 Update-MgDomain cmdlet 来进行配置。
密码过期(让密码永不过期) 默认值:"false"(指示密码有到期日期)。
单个用户帐户的该值可通过 Update-MgUser cmdlet 进行配置。
密码更改历史记录 用户更改密码时,上一个密码不能再次使用。
密码重置历史记录 用户重置忘记的密码时,上一个密码可以再次使用。

重要

密码更改历史记录适用于密码写回。 对于仅限云中的用户,Microsoft Entra ID重置密码没有用户的旧密码,无法检查或阻止密码重用。

如果启用 EnforceCloudPasswordPolicyForPasswordSyncedUsers,Microsoft Entra 密码策略将适用于使用 Microsoft Entra Connect 从本地 同步的用户帐户。 此外,如果用户在本地更改密码以包含 unicode 字符,密码更改可能会在本地成功,但在 Microsoft Entra ID 中不会成功。 如果启用了 Microsoft Entra Connect 的密码哈希同步,用户仍可接收云资源的访问令牌。

系统会提示用户再次更改其密码。 但是,如果更改仍包含 Unicode 字符,并且还启用了智能锁定,他们可能会被锁定在外。

管理员重置策略差异

默认情况下,将为管理员帐户启用自助式密码重置,并强制执行严格的默认双门密码重置策略。 此策略可能与为用户定义的策略不同,并且无法更改此策略。 你应始终以未被分配任何 Azure 管理员角色的用户身份测试密码重置功能。

双门策略需要两条身份验证数据(例如电子邮件地址、验证器应用或电话号码),并且禁止使用安全问题。 Microsoft Entra ID 的试用版或免费版本还禁止使用办公电话和移动语音呼叫。

SSPR 管理员策略不依赖于身份验证方法策略。 例如,如果在身份验证方法策略中禁用第三方软件令牌,管理员帐户仍可以注册第三方软件令牌应用程序并使用它们,但仅适用于 SSPR。

双门策略在以下情况下适用:

  • 以下管理员角色受到影响:

    即席许可证管理员 Dynamics 365 管理员 Office 应用管理员
    应用程序管理员 Dynamics 365 Business Central 管理员 组织品牌管理员
    应用程序代理服务管理员 边缘管理员 合作伙伴一线支持人员
    攻击模拟管理员 经电子邮件验证的用户创建者 合作伙伴二线支持人员
    属性分配管理员 Exchange 管理员 密码管理员
    属性定义管理员 Exchange 收件人管理员 权限管理管理员
    属性日志管理员 外部 ID 用户流程管理员 Power BI 服务管理员
    身份验证管理员 外部 ID 用户流属性管理员 Power Platform 管理员
    身份验证扩展性管理员 外部标识提供者管理员 打印机管理员
    身份验证策略管理员 全局管理员 特权身份验证管理员
    Azure DevOps 管理员 全局安全访问管理员 特权角色管理员
    Azure 信息保护管理员 群组管理员 搜索管理员
    B2C IEF 密钥集管理员 服务台管理员 安全管理员
    B2C IEF 策略管理员 混合标识管理员 服务支持管理员
    计费管理员 身份治理管理员 SharePoint 管理员
    Cloud App Security 管理员 Insights 管理员 Skype for Business 管理员
    云设备管理员 Intune 管理员 Teams 管理员
    合规性管理员 知识管理员 Teams 通信管理员
    合规数据管理员 许可证管理员 “Teams” 设备管理员
    条件访问管理员 生命周期工作流管理员 用户管理员
    客户密码箱访问审批者 邮箱管理员 虚拟访问管理员
    桌面分析管理员 已加入 Microsoft Entra 的设备的本地管理员 Viva Goals 管理员
    设备管理员 Microsoft 硬件保修管理员 Viva Pulse 管理员
    目录同步帐户 Microsoft 365迁移管理员 Windows365 管理员
    目录编写人员 现代商务管理员 Windows 更新部署管理员
    域名管理员 网络管理员 Yammer 管理员
  • 试用订阅已过 30 天时

    -或-

  • 为 Microsoft Entra 租户配置了自定义域,例如 contoso.com

    -或-

  • Microsoft Entra Connect 从用户的本地目录同步身份

可以通过将租户授权策略上的属性值设置为 AllowedToUseSsprfalse 来禁用对管理员帐户使用 SSPR。 为管理员帐户启用或禁用 SSPR 的策略更改最长可能需要 60 分钟才能生效。

重要

禁用管理员的密码重置策略后,即使管理员的密码重置策略在用户的密码重置策略范围内,管理员也不能通过 SSPR 重置其密码。 如果启用了 SSPR 注册,并且管理员也被包含在面向用户的密码重置策略中,系统仍会提示他们进行注册,但他们会看到一条消息,说明他们无法注册任何验证方法。 为避免此体验,请在禁用管理员的密码重置策略时,将管理员从用户的密码重置策略中显式排除。

Update-MgPolicyAuthorizationPolicy

Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes Policy.ReadWrite.Authorization
Update-MgPolicyAuthorizationPolicy -AllowedToUseSspr:$false

异常

单门策略需要一条身份验证数据,如电子邮件地址或电话号码。 单门策略在以下情况下适用:

  • 试用订阅的前30天内

    -或-

  • 未配置自定义域(租户正在使用默认的 .partner.onmschina.cn,不建议用于生产环境),并且 Microsoft Entra Connect 未同步标识。

密码过期策略

用户管理员可使用 Microsoft Graph 将用户密码设置为不过期。

还可以使用 PowerShell cmdlet 删除永不过期配置,或者查看已将哪些用户密码设置为永不过期。

本指南适用于其他提供程序(如 Intune 和 Microsoft 365),这些提供程序也依赖于 Microsoft Entra ID 提供标识和目录服务。 密码过期是策略中唯一可更改的部分。

注意

默认情况下,只有未通过 Microsoft Entra Connect 进行同步的用户帐户的密码才能配置为不过期。 有关目录同步的详细信息,请参阅将 AD 与 Microsoft Entra ID 连接

使用 PowerShell 设置或检查密码策略

首先,下载并安装 Microsoft Graph PowerShell 模块,然后将其连接到 Microsoft Entra 租户

安装该模块后,请按照以下步骤完成每个所需任务。

检查密码过期策略

  1. 至少以用户管理员身份打开 PowerShell 提示符,并连接到 Microsoft Entra 租户

  2. 为单个用户或所有用户运行以下命令之一:

    • 若要查看单个用户的密码是否设置为永不过期,请运行以下 cmdlet。 将 <user ID> 替换为要检查的用户的用户 ID:

      Get-MgUser -UserId <user ID> -Property UserPrincipalName, PasswordPolicies | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      
    • 若要查看所有用户的“密码永不过期”设置,请运行以下 cmdlet:

      Get-MgUser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName, @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      

设置密码过期

  1. 至少以用户管理员身份打开 PowerShell 提示符,并连接到 Microsoft Entra 租户

  2. 为单个用户或所有用户运行以下命令之一:

    • 若要将某一用户的密码设置为过期密码,请运行以下 cmdlet。 将 <user ID> 替换为要检查的用户的用户 ID:

      Update-MgUser -UserId <user ID> -PasswordPolicies None
      
    • 若要对组织中所有用户的密码进行相应设置,以使其过期,请使用以下命令:

      Get-MgUser -All | foreach $_ { Update-MgUser -UserId $_.Id -PasswordPolicies None }
      

将密码设置为永不过期

  1. 至少以用户管理员身份打开 PowerShell 提示符,并连接到 Microsoft Entra 租户

  2. 为单个用户或所有用户运行以下命令之一:

    • 若要将某一用户的密码设置为永不过期,请运行以下 cmdlet。 将 <user ID> 替换为要检查的用户的用户 ID:

      Update-MgUser -UserId <user ID> -PasswordPolicies DisablePasswordExpiration
      
    • 若要将组织中所有用户的密码设置为永不过期,请运行以下 cmdlet:

      Get-MgUser -All | foreach $_ { Update-MgUser -UserId $_.Id -PasswordPolicies DisablePasswordExpiration }
      

    警告

    设置为 -PasswordPolicies DisablePasswordExpiration 的密码仍会基于 LastPasswordChangeDateTime 属性过时。 基于 LastPasswordChangeDateTime 属性,如果将过期更改为 -PasswordPolicies None,则所有 LastPasswordChangeDateTime 超过 90 天的密码将需要用户在下一次登录时更改它们。 此更改可能会影响很多用户。

若要开始使用 SSPR,请参阅教程:使用户能够使用 Microsoft Entra 自助式密码重置来解锁其帐户或重置密码

如果你或用户遇到 SSPR 问题,请参阅 自助密码重置疑难解答