分享方式:


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

在 Microsoft Entra ID 中,有一個密碼原則可定義密碼複雜度、長度或期限這類設定。 也有一個原則可定義使用者名稱的可接受字元和長度。

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

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

使用者名稱原則

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

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

屬性 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)
- 符號 (請參閱先前的密碼限制)
密碼到期持續時間 (密碼最長使用期限) 預設值:90 天。 如果租用戶是在 2021 年之後建立,則沒有預設到期值。 您可以使用 Get-MgDomain 檢查目前的原則。
您可以使用 Microsoft Graph PowerShell 模組中的 Update-MgDomain Cmdlet 來設定此值。
密碼到期 (讓密碼永遠不會過期) 預設值:false (表示密碼具有到期日)。
可以使用 Update-MgUser Cmdlet 針對個別使用者帳戶設定該值。
密碼變更歷程記錄 當使用者變更密碼時,不能重複使用上次的密碼。
密碼重設歷程記錄 當使用者重設忘記密碼時,不能重複使用上次的密碼。

如果您啟用 EnforceCloudPasswordPolicyForPasswordSyncedUsers,Microsoft Entra 密碼原則會套用至使用 Microsoft entra Connect 從內部部署同步處理的用戶帳戶。 此外,如果使用者變更內部部署密碼以包含 unicode 字元,密碼變更可能會成功內部部署,但無法在 entra 標識碼Microsoft中成功。 如果使用 Microsoft Entra Connect 啟用密碼哈希同步處理,使用者仍然可以接收雲端資源的存取令牌。 但是,如果租使用者啟用 用戶風險型密碼變更,密碼變更會回報為高風險。

系統會提示使用者再次變更其密碼。 但是,如果變更仍然包含 Unicode 字元,則如果 同時啟用智慧鎖定 ,它們可能會遭到鎖定。

風險型密碼重設原則限制

如果您啟用 EnforceCloudPasswordPolicyForPasswordSyncedUsers,一旦識別出高風險,就需要變更雲端密碼。 當使用者登入 Microsoft Entra 識別符時,系統會提示使用者變更其密碼。 新密碼必須符合雲端和內部部署密碼原則。

如果密碼變更符合內部部署需求,但無法符合雲端需求,則啟用密碼哈希同步處理時,密碼變更會成功。 例如,如果新密碼包含 Unicode 字元,則可以在內部部署更新密碼變更,但無法在雲端中更新。

如果密碼不符合雲端密碼需求,則不會在雲端中更新,且帳戶風險不會降低。 使用者仍會收到雲端資源的存取令牌,但下次存取雲端資源時,系統會提示他們再次變更其密碼。 使用者看不到任何錯誤或通知,指出他們選擇的密碼無法符合雲端需求。

系統管理員重設原則差異

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

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

SSPR 系統管理員原則不會依存於驗證方法原則。 例如,如果您在驗證方法原則中停用第三方軟體權杖,系統管理員帳戶仍可以註冊並使用第三方軟體權杖應用程式,但僅適用於 SSPR。

兩個閘道原則適用於下列情況:

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

    • 應用程式系統管理員
    • 驗證管理員
    • 計費管理員
    • 合規性系統管理員
    • 雲端裝置管理員
    • 目錄同步處理帳戶
    • 目錄寫入者
    • Dynamics 365 系統管理員
    • Exchange 系統管理員
    • 全域系統管理員
    • 服務台系統管理員
    • Intune 管理員
    • 已聯結 Microsoft Entra 的裝置本機管理員
    • 合作夥伴第 1 層支援
    • 合作夥伴第 2 層支援
    • 密碼管理員
    • Power Platform 系統管理員
    • 特殊權限驗證管理員
    • 特殊權限角色管理員
    • 安全性系統管理員
    • 服務支援管理員
    • Sharepoint 系統管理員
    • 商務用 Skype 系統管理員
    • Teams 系統管理員
    • Teams 通訊系統管理員
    • Teams 裝置系統管理員
    • 使用者管理員
  • 如果試用版訂用帳戶已經過 30 天

    - 或者 -

  • 已針對您的 Microsoft Entra 租用戶設定自訂網域,例如 contoso.com

    - 或者 -

  • Microsoft Entra Connect 會同步處理內部部署目錄中的身分識別

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

例外狀況

一個閘道原則需要一項驗證資料,例如電子郵件地址或電話號碼。 一個閘道原則適用於下列情況:

  • 處於試用訂用帳戶的第一個 30 天內

    - 或者 -

  • 未設定自訂網域 (租用戶使用預設 *.onmicrosoft.com,不建議用於生產環境),且 Microsoft Entra Connect 不會同步身分識別。

密碼到期原則

使用者管理員可以 使用 Microsoft Graph 來設定用戶密碼不會過期。

您也可以使用 PowerShell Cmdlet 移除永不過期設定,或是查看哪些使用者密碼設定為永不過期。

本指引適用於其他提供者 (例如 Intune 和 Microsoft 365),它們也仰賴 Microsoft Entra ID 提供身分識別和目錄服務。 密碼到期是原則中唯一可變更的部分。

注意

依預設,只有未透過 Microsoft Entra Connect 同步的使用者帳戶密碼才能設定為不會過期。 如需目錄同步作業的詳細資訊,請參閱 Connect AD 與 Microsoft Entra ID

使用 PowerShell 設定或檢查密碼原則

若要開始,請下載並安裝 Microsoft Graph PowerShell 模組,並將它連線到您的 Microsoft Entra 租用戶

安裝模組之後,請使用下列步驟,視需要完成每項工作。

檢查密碼的到期原則

  1. 開啟 PowerShell 提示,並至少以使用者管理員的身分連線到您的 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 提示,並至少以使用者管理員的身分連線到您的 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 提示,並至少以使用者管理員的身分連線到您的 Microsoft Entra 租用戶

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

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

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

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

    警告

    設定為 -PasswordPolicies DisablePasswordExpiration 的密碼仍然會根據 LastPasswordChangeDateTime 屬性計算時效。 根據 LastPasswordChangeDateTime 屬性,如果您將到期變更為 -PasswordPolicies NoneLastPasswordChangeDateTime 早於 90 天的所有密碼會要求使用者在下次登入時變更密碼。 這項變更可能會影響大量使用者。

下一步

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

如果您或使用者遇到 SSPR 問題,請參閱自助式密碼重設疑難排解