Microsoft Entra ID 中的密碼原則和帳戶限制

在 Microsoft Entra ID 中,有一個密碼原則會定義密碼複雜度、長度或年齡等設定。 還有一個原則會定義用戶名稱可接受的字元和長度。

當自助式密碼重設 (SSPR) 用來變更或重設 Microsoft Entra 識別碼中的密碼時,會檢查密碼原則。 如果密碼不符合原則需求,系統會提示使用者再試一次。 Azure 系統管理員對於使用與一般用戶帳戶不同的 SSPR 有一些限制,而且試用版和免費版本的 Microsoft Entra ID 有一些次要例外狀況。

本文說明與用戶帳戶相關聯的密碼原則設定和複雜度需求。 它也涵蓋如何使用PowerShell來檢查或設定密碼到期設定。

用戶名稱原則

登入 Microsoft Entra ID 的每個帳戶都必須具有與其帳戶相關聯的唯一使用者主體名稱 (UPN) 屬性值。 在使用 Microsoft Entra 連線 同步處理 內部部署的 Active Directory 至 Microsoft Entra 識別符的混合式環境中,Microsoft Entra UPN 預設會設定為內部部署 UPN。

下表概述適用於同步處理至 Microsoft Entra ID 的內部部署 AD DS 帳戶,以及直接在 Microsoft Entra ID 中建立的僅限雲端用戶帳戶的使用者名稱原則:

屬性 UserPrincipalName 需求
允許的字元 A – Z
a - z
0 – 9
' . - _ ! #^~
不允許的字元 任何未分隔使用者名稱與網域的 “@” 字元。
不能包含句號字元 「.」,緊接在 「@」 符號前面
長度條件約束 總長度不得超過 113 個字元
在 “@” 符號之前最多可以有 64 個字元
“@” 符號之後最多可以有 48 個字元

Microsoft Entra 密碼原則

密碼原則會套用至直接在 Microsoft Entra ID 中建立和管理的所有用戶帳戶。 有些密碼原則設定無法修改,不過您可以 為 Microsoft Entra 密碼保護 或帳戶鎖定參數設定自定義禁用密碼。

根據預設,帳戶會在 10 次登入嘗試失敗且密碼錯誤後鎖定。 用戶已鎖定一分鐘。 進一步不正確的登入嘗試會鎖定使用者,以增加持續時間。 智慧鎖定 會追蹤最後三個不正確的密碼哈希,以避免增加相同密碼的鎖定計數器。 如果有人多次輸入相同的錯誤密碼,則不會遭到鎖定。您可以定義智慧鎖定閾值和持續時間。

除非您啟用 EnforceCloudPasswordPolicyForPasswordSyncedUsers,否則 Microsoft Entra 密碼原則不適用於使用 Microsoft Entra 連線 從內部部署 AD DS 環境同步處理的用戶帳戶。

定義下列 Microsoft Entra 密碼原則選項。 除非另有說明,否則您無法變更這些設定:

屬性 需求
允許的字元 A – Z
a - z
0 – 9
@ # $ % ^ & * - _ ! + = [ ] { } |\ : ' , . ? / ' ~ " ( ) ; <>
空白
不允許的字元 Unicode 字元
密碼限制 至少8個字元,最多256個字元。
下列字元類型需要四分之三的字元:
- 小寫字元
- 大寫字元
- 數位 (0-9)
- 符號(請參閱先前的密碼限制)
密碼到期期間 (密碼存留期上限) 預設值:90 天。 如果租使用者是在 2021 年之後建立的,則沒有預設到期值。 您可以使用 Get-MgDomain 檢查目前的原則
您可以使用適用於 PowerShell 的 Microsoft Graph 模組的 Update-MgDomain Cmdlet 來設定此值。
密碼到期 (讓密碼永不過期) 默認值: false (表示密碼有到期日)。
您可以使用 Update-MgUser Cmdlet 來設定個別使用者帳戶的值。
密碼變更歷程記錄 當使用者變更密碼時,無法再次使用最後一個密碼
密碼重設歷程記錄 當使用者重設忘記的密碼時,可以使用最後一個密碼

管理員 istrator 重設原則差異

根據預設,會啟用自助式密碼重設的系統管理員帳戶,並強制執行強式默認 雙門 密碼重設原則。 此原則可能與您為使用者定義的原則不同,而且無法變更此原則。 您應該一律以使用者身分測試密碼重設功能,而不需要指派任何 Azure 系統管理員角色。

雙門原則需要兩個驗證數據,例如電子郵件地址、驗證器應用程式或電話號碼,而且會禁止安全性問題。 Microsoft Entra ID 試用版或免費版也禁止 Office 和行動語音通話。

在下列情況下會套用雙門原則:

  • 下列所有 Azure 系統管理員角色都會受到影響:

    • 應用程式系統管理員
    • 應用程式 Proxy 服務管理員
    • 驗證管理員
    • 計費管理員
    • 合規性系統管理員
    • 裝置系統管理員
    • 目錄同步處理帳戶
    • 目錄寫入器
    • Dynamics 365 管理員
    • Exchange 系統管理員
    • 全域管理員或公司管理員
    • 技術支援管理員
    • Intune 系統管理員
    • Mailbox 管理員 istrator
    • Microsoft Entra Joined Device Local 管理員 istrator
    • 合作夥伴第 1 層支援
    • 合作夥伴第 2 層支援
    • 密碼管理員
    • Power BI 服務系統管理員
    • 特殊許可權驗證系統管理員
    • 特殊權限角色管理員
    • 安全性系統管理員
    • 服務支援系統管理員
    • SharePoint 系統管理員
    • 商務用 Skype 系統管理員
    • 使用者管理員
  • 如果在試用訂用帳戶中經過 30 天;或

  • 已為您的 Microsoft Entra 租使用者設定自定義網域,例如 contoso.com;或

  • Microsoft Entra 連線 正在同步處理內部部署目錄的身分識別

您可以使用 Update-MgPolicyAuthorizationPolicy PowerShell Cmdlet,針對系統管理員帳戶停用 SSPR 的使用。 參數 -AllowedToUseSspr:$true|$false 會啟用/停用系統管理員的SSPR。 啟用或停用系統管理員帳戶 SSPR 的原則變更最多可能需要 60 分鐘才會生效。

例外狀況

單門原則需要一項驗證數據,例如電子郵件地址或電話號碼。 在下列情況下會套用一個網關原則:

  • 這是試用訂閱的前 30 天

    - 或者 -

  • 未設定自定義網域(租使用者使用預設 *.onmicrosoft.com,不建議用於生產環境),Microsoft Entra 連線 不會同步處理身分識別。

密碼到期原則

Global 管理員 istrator 或 User 管理員 istrator 可以使用 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 提示字元,並使用 Global 管理員 istratorUser 管理員 istrator 帳戶連線到您的 Microsoft Entra 租使用者。

  2. 針對個別使用者或所有使用者執行下列其中一個命令:

    • 若要查看單一用戶的密碼是否設定為永不過期,請執行下列 Cmdlet。 <user ID>取代為您要檢查之使用者的使用者識別碼:

      Get-MgUser -UserId <user ID> | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      
    • 若要查看所有使用者的密碼永不過期設定,請執行下列 Cmdlet:

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

將密碼設定為到期

  1. 開啟 PowerShell 提示字元,並使用 Global 管理員 istratorUser 管理員 istrator 帳戶連線到您的 Microsoft Entra 租使用者。

  2. 針對個別使用者或所有使用者執行下列其中一個命令:

    • 若要設定一位用戶的密碼,讓密碼過期,請執行下列 Cmdlet。 <user ID>取代為您要檢查之使用者的使用者識別碼:

      Update-MgUser -UserId <user ID> -PasswordPolicies None
      
    • 若要設定組織中所有用戶的密碼,使其過期,請使用下列命令:

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

將密碼設定為永不過期

  1. 開啟 PowerShell 提示字元,並使用 Global 管理員 istratorUser 管理員 istrator 帳戶連線到您的 Microsoft Entra 租使用者。

  2. 針對個別使用者或所有使用者執行下列其中一個命令:

    • 若要將一位用戶的密碼設定為永不過期,請執行下列 Cmdlet。 <user ID>取代為您要檢查之使用者的使用者識別碼:

      Update-MgUser -UserId <user ID> -PasswordPolicies DisablePasswordExpiration
      
    • 若要將組織中所有使用者的密碼設定為永不過期,請執行下列 Cmdlet:

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

    警告

    密碼會根據 LastPasswordChangeDateTime 屬性設定為-PasswordPolicies DisablePasswordExpiration仍存留期。 根據 LastPasswordChangeDateTime 屬性,如果您將到期日變更為 -PasswordPolicies None,所有 LastPasswordChangeDateTime 超過90天的密碼都需要使用者在下次登入時變更密碼。 這項變更可能會影響大量使用者。

下一步

若要開始使用 SSPR,請參閱 教學課程:讓使用者使用 Microsoft Entra 自助式密碼重設來解除鎖定帳戶或重設密碼。

如果您或使用者有 SSPR 的問題,請參閱 針對自助式密碼重設進行疑難解答