如何設定 Exchange Server 內部部署以使用混合式新式驗證
概觀
Microsoft Exchange Server 中的混合式新式驗證 (HMA) 是一項功能,可讓使用者使用從雲端取得的授權令牌來存取裝載於內部部署的信箱。
HMA 可讓 Outlook 從 Microsoft Entra ID 取得存取和重新整理 OAuth 令牌,直接用於密碼哈希同步處理或 Pass-Through 驗證身分識別,或從其自己的安全令牌服務 (適用於同盟身分識別的 STS) 。 Exchange 內部部署會接受這些令牌,並提供信箱存取權。 取得這些令牌和所需認證的方法取決於識別提供者 (iDP) 的功能,其範圍從簡單的使用者名稱和密碼到更複雜的方法,例如憑證、電話驗證或生物特徵辨識方法。
若要讓 HMA 能夠運作,使用者的身分識別必須存在於 Microsoft Entra ID 中,而且需要某些設定,由 Exchange 混合式設定精靈 (HCW) 處理。
相較於 NTLM 等舊版驗證方法,HMA 提供數個優點。 它提供更安全且彈性的驗證方法,利用雲端式驗證的功能。 不同於依賴挑戰-響應機制且不支援新式驗證通訊協定的NTLM,HMA會使用更安全且提供更佳互操作性的OAuth令牌。
HMA 是功能強大的功能,可利用雲端式驗證的強大功能,增強存取內部部署應用程式的彈性和安全性。 它代表比舊版驗證方法大幅改進,提供增強的安全性、彈性和使用者便利性。
設定和啟用混合式新式驗證所遵循的步驟
若要啟用混合式新式驗證 (HMA) ,您必須確定您的組織符合所有必要的必要條件。 此外,您應該確認您的 Office 用戶端與新式驗證相容。 如需詳細資訊,請參閱 Office 2013 和 Office 2016 用戶端應用程式的新式驗證運作方式檔。
開始之前,請確定您 符合必要條件 。
將內部部署 Web 服務 URL 新增至 Microsoft Entra ID。 URL 必須新增為
Service Principal Names (SPNs)
。 如果您的 Exchange Server 設定與多個租使用者混合,這些內部部署 Web 服務 URL 必須新增為所有租使用者 Microsoft Entra ID 中的 SPN,這些租使用者與內部部署 Exchange Server 混合。確定所有虛擬目錄都已針對 HMA 啟用。 如果您想要為 Outlook 網頁版 (OWA) 和 Exchange 控制台 (ECP) 設定混合式新式驗證,也請務必確認個別的目錄。
確定 Exchange Server OAuth 憑證有效。 MonitorExchangeAuthCertificate 腳本可以用來驗證 OAuth 憑證的有效性。 在到期時,腳本會協助進行更新程式。
請確定所有使用者身分識別都與 Microsoft Entra ID 同步處理,特別是用於管理的所有帳戶。 否則,登入會停止運作,直到同步處理為止。 內建系統管理員等帳戶永遠不會與 Microsoft Entra ID 同步處理,因此,一旦啟用 HMA,就無法在任何 OAuth 登入上使用。 此行為是因為 屬性所造成
isCriticalSystemObject
,此屬性會針對某些帳戶設定True
為 ,包括默認系統管理員。(選擇性) 如果您想要使用 iOS 版 Outlook 和 Android 版用戶端,請務必允許 AutoDetect 服務連線到您的 Exchange Server。
啟用混合式新式驗證的必要條件
在本節中,我們會提供在 Microsoft Exchange Server 中成功設定和啟用混合式新式驗證所需的資訊和步驟。
Exchange Server 特定必要條件
您的 Exchange 伺服器必須滿足下列需求,才能設定和啟用混合式新式驗證。 如果您有混合式組態,您必須執行最新的累積更新 (CU) 處於支援的狀態。 您可以在 Exchange Server 支援性矩陣中找到支援的 Exchange Server 版本和組建。 混合式新式驗證必須在組織內的所有 Exchange 伺服器上統一設定。 不支援部分實作,其中僅在伺服器子集上啟用 HMA。
- 請確定組織中沒有生命周期結束的 Exchange 伺服器。
- Exchange Server 2016 必須執行 CU8 或更新版本。
- Exchange Server 2019 必須執行 CU1 或更新版本。
- 請確定所有伺服器都可以連線到因特網。 如果需要 Proxy,請設定 Exchange Server 使用它。
- 如果您已經有混合式設定,請確定它是傳統混合式部署,因為新式混合式不支援 HMA。
- 請確定不支援 SSL 卸除 (不支援) 。 不過,您可以使用 SSL 橋接並受到支援。
如需詳細資訊,請參閱混合式新式驗證概觀和搭配內部部署 商務用 Skype 和 Exchange 伺服器使用它的必要條件檔。
使用混合式新式驗證的通訊協定
混合式新式驗證適用於下列 Exchange Server 通訊協定:
Protocol (通訊協定) | 支援的混合式新式驗證 |
---|---|
MAPI over HTTP (MAPI/HTTP) | 是 |
Outlook Anywhere (RPC/HTTP) | 否 |
Exchange Active Sync (EAS) | 是 |
Exchange Web 服務 (EWS) | 是 |
Outlook 網頁版 (OWA) | 是 |
Exchange 管理員 Center (ECP) | 是 |
離線通訊錄 (OAB) | 是 |
網際網路訊息存取通訊協定 (IMAP) | 否 |
流行 | 否 |
在 Microsoft Entra ID 中新增內部部署 Web 服務 URL 作為 SPN
執行命令,將內部部署 Web 服務 URL 指派為 Microsoft Entra SPN。 在驗證和授權期間,用戶端機器和裝置會使用SPN。 所有可能用來從內部部署連線到 Microsoft Entra ID的URL都必須在 Microsoft Entra ID (中註冊,包括內部和外部命名空間) 。
首先,在您的 Microsoft Exchange Server 上執行下列命令:
Get-MapiVirtualDirectory -ADPropertiesOnly | fl server,*url* Get-WebServicesVirtualDirectory -ADPropertiesOnly | fl server,*url* Get-ClientAccessService | fl Name, AutodiscoverServiceInternalUri Get-OABVirtualDirectory -ADPropertiesOnly | fl server,*url* Get-AutodiscoverVirtualDirectory -ADPropertiesOnly | fl server,*url* Get-ActiveSyncVirtualDirectory -ADPropertiesOnly | fl server,*url*
請確定用戶端可能連線到的 URL 在 Microsoft Entra ID 中列為 HTTPS 服務主體名稱。 如果 Exchange 內部部署與多個租使用者混合,則應該在混合式與 Exchange 內部部署的所有租使用者 Microsoft Entra ID 中新增這些 HTTPS SPN。
安裝 Microsoft Graph PowerShell 模組:
Install-Module Microsoft.Graph -Scope AllUsers
接下來,依照這些指示連線到 Microsoft Entra ID。 若要同意必要的許可權,請執行下列命令:
Connect-MgGraph -Scopes Application.Read.All, Application.ReadWrite.All
針對您的 Exchange 相關 URL,輸入下列命令:
Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" | select -ExpandProperty ServicePrincipalNames
記下此命令的輸出,其中應包含
https://*autodiscover.yourdomain.com*
和https://*mail.yourdomain.com*
URL,但大部分是由以00000002-0000-0ff1-ce00-000000000000/
開頭的 SPN 所組成。 如果您的內部部署 URL 遺https://
失,則應該將這些特定記錄新增至此清單。如果您在此清單中看不到內部和外部
MAPI/HTTP
、EWS
、ActiveSync
、OAB
和AutoDiscover
記錄,則必須新增它們。 使用下列命令來新增所有遺漏的URL。 在我們的範例中,新增的 URL 是mail.corp.contoso.com
和owa.contoso.com
。 請確定它們已由您環境中設定的URL所取代。$x = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" $x.ServicePrincipalNames += "https://mail.corp.contoso.com/" $x.ServicePrincipalNames += "https://owa.contoso.com/" Update-MgServicePrincipal -ServicePrincipalId $x.Id -ServicePrincipalNames $x.ServicePrincipalNames
再次執行步驟 4 中的 命令,
Get-MgServicePrincipal
確認已新增您的新記錄,並驗證輸出。 將先前的清單與新的SPN清單進行比較。 您也可以記下記錄的新清單。 如果您成功,您應該會在清單中看到兩個新的URL。 依我們的範例,SPN 清單現在包含特定 URLhttps://mail.corp.contoso.com
和https://owa.contoso.com
。
確認虛擬目錄已正確設定
現在,執行下列命令,確認 Outlook 可能使用的所有虛擬目錄上的 Exchange 中已正確啟用 OAuth:
Get-MapiVirtualDirectory | fl server,*url*,*auth*
Get-WebServicesVirtualDirectory | fl server,*url*,*oauth*
Get-OABVirtualDirectory | fl server,*url*,*oauth*
Get-AutoDiscoverVirtualDirectory | fl server,*oauth*
Get-ActiveSyncVirtualDirectory | fl server,*url*,*auth*
檢查輸出以確定 OAuth
已針對每個虛擬目錄啟用,它看起來就像此 (,而要查看的重要事項如 OAuth
同) 之前所述:
Get-MapiVirtualDirectory | fl server,*url*,*auth*
Server : EX1
InternalUrl : https://mail.contoso.com/mapi
ExternalUrl : https://mail.contoso.com/mapi
IISAuthenticationMethods : {Ntlm, OAuth, Negotiate}
InternalAuthenticationMethods : {Ntlm, OAuth, Negotiate}
ExternalAuthenticationMethods : {Ntlm, OAuth, Negotiate}
如果有任何伺服器和五個虛擬目錄中的任何一個遺漏 OAuth,您必須先使用相關命令加以新增,再繼續 (Set-MapiVirtualDirectory、 Set-WebServicesVirtualDirectory、 Set-OABVirtualDirectory、 Set-AutodiscoverVirtualDirectory) 和 Set-ActiveSyncVirtualDirectory。
確認 EvoSTS 驗證伺服器物件存在
現在,在 Exchange Server 內部部署管理命令介面上 (EMS) 執行最後一個命令。 您可以驗證內部部署 Exchange Server 傳回 evoSTS 驗證提供者的專案:
Get-AuthServer | where {$_.Name -like "EvoSts*"} | ft name,enabled
您的輸出應該會顯示名稱 EvoSts - <GUID>
的 AuthServer, Enabled
且狀態應該是 True
。 如果不是這種情況,您應該下載並執行最新版的 混合式設定精靈。
如果內部部署 Exchange Server 執行具有多個租使用者的混合式組態,您的輸出會顯示一個 AuthServer,其中每個租使用者的名稱EvoSts - <GUID>
與內部部署 Exchange Server Enabled
混合式,而這些 AuthServer 物件的狀態應該是 True
。 請記下標識 EvoSts - <GUID>
碼 ,因為後續步驟中將會需要此標識符。
啟用 HMA
在 Exchange Server 內部部署管理命令介面中執行下列命令 (EMS) ,並將命令行中的 取代<GUID>
為您上次執行命令輸出的 GUID。 在舊版的混合式設定精靈中,EvoSts AuthServer 的命名沒有 EvoSTS
附加 GUID。 您不需要採取任何動作,只要移除命令的 GUID 部分來修改上述命令行即可。
Set-AuthServer -Identity "EvoSTS - <GUID>" -IsDefaultAuthorizationEndpoint $true
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true
如果內部部署 Exchange Server 版本 Exchange Server 2016 (CU18 或更新版本) 或 2019 Exchange Server 2019 (CU7 或更新版本) ,且混合式是在 2020 年 9 月之後下載的 HCW 協助下設定,請在 Exchange Server內部部署管理命令介面 (EMS) 。 針對 參數 DomainName
,請使用租使用者網域值,其格式通常是 contoso.onmicrosoft.com
:
Set-AuthServer -Identity "EvoSTS - <GUID>" -DomainName "Tenant Domain" -IsDefaultAuthorizationEndpoint $true
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true
如果內部部署 Exchange Server 與多個租使用者混合,Exchange Server 內部部署組織中有多個 AuthServer 物件,且網域對應至每個租使用者。 任何 IsDefaultAuthorizationEndpoint
一個 AuthServer 物件的 旗標都應該設定 True
為 。 所有 AuthServer 物件的旗標都無法設定為 true,即使其中一個 AuthServer 物件 IsDefaultAuthorizationEndpoint
旗標設定為 true,也會啟用 HMA。
重要事項
使用 多個租使用者時, 它們都必須位於相同的雲端環境中,例如 中的全部 Global
或全部都在 中 GCC
。 它們不能存在於混合環境中,例如 中的一個租使用者和 中的另一個租 Global
使用者 GCC
。
驗證
啟用 HMA 之後,用戶端的下一次登入將會使用新的驗證流程。 只要開啟 HMA 並不會觸發任何用戶端的重新驗證,而且可能需要一些時間,Exchange Server 才能挑選新的設定。 此程式不需要建立新的配置檔。
您也應該在您以滑鼠右鍵按下 Outlook 用戶端的圖示的同時按住 CTRL
金鑰 (也請在 Windows 通知匣中) ,然後選 Connection Status
取 。 針對 代表 OAuth 中所使用之持有人令牌的 Bearer\*
類型,尋找用戶端的 SMTP 位址AuthN
。
啟用適用於 OWA 和 ECP 的混合式新式驗證
現在也可以針對 OWA
和 ECP
啟用混合式新式驗證。 繼續之前,請確定 必要條件 已完成。
針對 和 啟用OWA
混合式新式驗證之後,嘗試登入OWA
或ECP
的每位終端使用者和系統管理員都會先重新導向至 Microsoft Entra ID 驗證ECP
頁面。 驗證成功之後,使用者會重新導向至 OWA
或 ECP
。
為 OWA 和 ECP 啟用混合式新式驗證的必要條件
重要事項
所有伺服器都必須至少安裝 Exchange Server 2019 CU14 更新。 他們也必須執行 Exchange Server 2019 CU14 2024 年 4 月胡 或更新版本的更新。
若要啟用 和ECP
的OWA
混合式新式驗證,所有使用者身分識別都必須與 Microsoft Entra ID 同步處理。
除此之外,還必須先建立內部部署 Exchange Server 與 Exchange Online 之間的 OAuth 設定,才能完成進一步的設定步驟。
已執行混合式設定精靈 (HCW) 設定混合式的客戶,已備妥 OAuth 設定。 如果之前未設定 OAuth,可以執行 HCW 或遵循設定 Exchange 與 Exchange Online 組織之間的 OAuth 驗證檔中所述的步驟來完成。
建議您先記錄 和 EcpVirtualDirectory
設定,OwaVirtualDirectory
再進行任何變更。 本檔可讓您在設定功能之後發生任何問題時還原原始設定。
為 OWA 和 ECP 啟用混合式新式驗證的步驟
警告
不支援透過 Outlook Web App (Microsoft Entra 應用程式 Proxy 發佈 OWA) 和 Exchange 控制台 (ECP) 。
查詢在
OWA
內部部署 Exchange Server 上設定的 和ECP
URL。 這很重要,因為它們必須新增為 Microsoft Entra ID的回復 URL:Get-OwaVirtualDirectory -ADPropertiesOnly | fl name, *url* Get-EcpVirtualDirectory -ADPropertiesOnly | fl name, *url*
如果尚未安裝 Microsoft Graph PowerShell 模組,請加以安裝:
Install-Module Microsoft.Graph -Scope AllUsers
使用這些指示連線到 Microsoft Entra ID。 若要同意必要的許可權,請執行下列命令:
Connect-Graph -Scopes User.Read, Application.ReadWrite.All
指定您的
OWA
與ECP
網址,並使用回覆網址更新您的應用程式:$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" $servicePrincipal.ReplyUrls += "https://YourDomain.contoso.com/owa" $servicePrincipal.ReplyUrls += "https://YourDomain.contoso.com/ecp" Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppId "00000002-0000-0ff1-ce00-000000000000" -ReplyUrls $servicePrincipal.ReplyUrls
確認已成功新增回覆 URL:
(Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'").ReplyUrls
若要讓 Exchange Server 內部部署能夠執行混合式新式驗證,請遵循啟用 HMA 一節中所述的步驟。
(選擇性) 只有在使用 下載網域 時才需要:
從提升許可權的 Exchange 管理命令介面 (EMS) 執行下列命令,以建立新的全域設定覆寫。 在一個 Exchange Server 上執行下列命令:
New-SettingOverride -Name "OWA HMA Download Domain Support" -Component "OAuth" -Section "OAuthIdentityCacheFixForDownloadDomains" -Parameters ("Enabled=true") -Reason "Enable support for OWA HMA when Download Domains are in use" Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh Restart-Service -Name W3SVC, WAS -Force
(只有在 Exchange 資源樹系拓撲 案例中才需要選擇性) :
將下列索引鍵新增至
<appSettings>
檔案的<ExchangeInstallPath>\ClientAccess\Owa\web.config
節點。 在每個 Exchange Server 上執行此動作:<add key="OAuthHttpModule.ConvertToSidBasedIdentity" value="true"/> <add key="OAuthHttpModule.UseMasterAccountSid" value="true"/>
從提升許可權的 Exchange 管理命令介面 (EMS) 執行下列命令,以建立新的全域設定覆寫。 在一個 Exchange Server 上執行下列命令:
New-SettingOverride -Name "OWA HMA AFRF Support" -Component "OAuth" -Section "OwaHMAFixForAfRfScenarios" -Parameters ("Enabled=true") -Reason "Enable support for OWA HMA in AFRF scenarios" Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh Restart-Service -Name W3SVC, WAS -Force
若要啟用 和
ECP
的OWA
混合式新式驗證,您必須先停用這些虛擬目錄上的任何其他驗證方法。 請務必以指定的順序執行設定。 若無法這麼做,可能會在命令執行期間產生錯誤訊息。
針對每個 Exchange Server 上的每個OWA
和ECP
虛擬目錄執行下列命令,以停用所有其他驗證方法:Get-OwaVirtualDirectory -Server <computername> | Set-OwaVirtualDirectory -AdfsAuthentication $false –BasicAuthentication $false –FormsAuthentication $false –DigestAuthentication $false Get-EcpVirtualDirectory -Server <computername> | Set-EcpVirtualDirectory -AdfsAuthentication $false –BasicAuthentication $false –FormsAuthentication $false –DigestAuthentication $false
重要事項
請確定所有帳戶都已同步至 Microsoft Entra ID,特別是用於管理的所有帳戶。 否則,登入會停止運作,直到同步處理為止。 內建系統管理員之類的帳戶將不會與 Microsoft Entra ID 同步處理,因此,一旦啟用 OWA 和 ECP 的 HMA,就無法用於管理。 此行為是由於屬性所造成
isCriticalSystemObject
,某些帳戶的 屬性會設定True
為 。為和
ECP
虛擬目錄啟用 OAuthOWA
。 請務必以指定的順序執行設定。 若無法這麼做,可能會在命令執行期間產生錯誤訊息。 針對每個 Exchange Server 上的每個OWA
和ECP
虛擬目錄,必須執行下列命令:Get-EcpVirtualDirectory -Server <computername> | Set-EcpVirtualDirectory -OAuthAuthentication $true Get-OwaVirtualDirectory -Server <computername> | Set-OwaVirtualDirectory -OAuthAuthentication $true
搭配 iOS 和 Android 版 Outlook 使用混合式新式驗證
如果您想要將 iOS 版 Outlook 和 Android 用戶端與混合式新式驗證搭配使用,請務必允許 AutoDetect 服務連線到 (HTTPS) 上的 TCP 443
Exchange Server:
<email_domain>.outlookmobile.com
<email_domain>.outlookmobile.us
52.125.128.0/20
52.127.96.0/23
您也可以在 Office 365 IP 位址和 URL Web 服務檔中未包含的其他端點中找到 IP 位址範圍。