分享方式:


如何設定 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 是功能強大的功能,可利用雲端式驗證的強大功能,增強存取內部部署應用程式的彈性和安全性。 它代表比舊版驗證方法大幅改進,提供增強的安全性、彈性和使用者便利性。

啟用混合式新式驗證的必要條件

在本節中,我們會提供在 Exchange Server 中成功設定和啟用混合式新式驗證所需的資訊和步驟Microsoft。

使用混合式新式驗證的通訊協定

混合式新式驗證適用於下列 Exchange Server 通訊協定:

Protocol (通訊協定) 支援的混合式新式驗證
MAPI over HTTP (MAPI/HTTP)
Outlook Anywhere (RPC/HTTP)
Exchange Active Sync (EAS)
Exchange Web 服務 (EWS)
Outlook 網頁版 (OWA)
exchange Admin Center (ECP)
離線通訊錄 (OAB)
網際網路訊息存取通訊協定 (IMAP)
流行

設定和啟用混合式新式驗證所遵循的步驟

若要啟用混合式新式驗證 (HMA) ,您必須確定您的組織符合所有必要的必要條件。 此外,您應該確認您的 Office 用戶端與新式驗證相容。 如需詳細資訊,請參閱 Office 2013 和 Office 2016 用戶端應用程式的新式驗證運作方式檔。

  1. 開始之前,請確定您符合必要條件。 由於商務用 Skype 和 Exchange Server 有許多必要條件,因此請在 混合式新式驗證概觀中檢閱這些必要條件,以及搭配內部部署商務用 Skype 和 Exchange 伺服器使用它們的必要條件

  2. 將內部部署 Web 服務 URL 新增至 Microsoft 識別碼。 URL 必須新增為 Service Principal Names (SPNs)。 如果您的 Exchange Server 安裝程式與 多個租使用者混合,這些內部部署 Web 服務 URL 必須在與 Exchange Server 內部部署混合的所有租使用者的 Microsoft Entra ID 中新增為 SPN。

  3. 確定所有虛擬目錄都已針對 HMA 啟用。 如果您想要在 Web (OWA) 和 Exchange 控制面板 (ECP) 設定 Outlook 的混合式新式驗證 ,也請務必確認個別的目錄。

  4. 檢查 EvoSTS Auth Server 物件

  5. 確定 Exchange Server OAuth 憑證 有效。

  6. 確定所有使用者身分識別都已與 Microsoft Entra ID 同步處理。

  7. (選擇性) 如果您想要使用 iOS 版 Outlook 和 Android 版用戶端,請務必 允許 AutoDetect 服務連線到您的 Exchange Server

  8. 在 Exchange 內部部署中啟用 HMA

在 Microsoft Entra ID 中新增內部部署 Web 服務 URL 作為 SPN

執行命令,將內部部署 Web 服務 URL 指派為 Microsoft Entra SPN。 在驗證和授權期間,用戶端機器和裝置會使用SPN。 所有可能用來從內部部署連線到 Microsoft Entra ID 的 URL 都必須在 Microsoft Entra ID 中註冊 (包括內部和外部命名空間) 。

  1. 首先,在 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 內部部署與 多個租使用者混合,這些 HTTPS SPN 應該新增至與 Exchange 內部部署混合之所有租使用者的 Microsoft Entra ID 中。

  2. 安裝 Microsoft Graph PowerShell 模組:

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. 接下來,依照 這些指示連線到 Microsoft Entra ID。 若要同意必要的許可權,請執行下列命令:

    Connect-MgGraph -Scopes Application.Read.All, Application.ReadWrite.All
    
  4. 針對您的 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:// 失,則應該將這些特定記錄新增至此清單。

  5. 如果您在此清單中看不到內部和外部 MAPI/HTTPEWSActiveSyncOABAutoDiscover 記錄,則必須新增它們。 使用下列命令來新增所有遺漏的URL。 在我們的範例中,新增的 URL 是 mail.corp.contoso.comowa.contoso.com。 請確定它們已由您環境中設定的URL所取代。

    $x = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
    $ServicePrincipalUpdate = @(
    "https://mail.corp.contoso.com/","https://owa.contoso.com/"
    )
    Update-MgServicePrincipal -ServicePrincipalId $x.Id -ServicePrincipalNames $ServicePrincipalUpdate
    
  6. 再次執行步驟 2 中的 Get-MsolServicePrincipal 命令,確認已新增您的新記錄,並驗證輸出。 將先前的清單與新的SPN清單進行比較。 您也可以記下記錄的新清單。 如果您成功,您應該會在清單中看到兩個新的URL。 依我們的範例,SPN 清單現在包含特定 URL https://mail.corp.contoso.comhttps://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-MapiVirtualDirectorySet-WebServicesVirtualDirectorySet-OABVirtualDirectorySet-AutodiscoverVirtualDirectory) 。

確認 EvoSTS 驗證伺服器物件存在

現在在 Exchange Server 內部部署管理命令介面上 (EMS) 執行最後一個命令。 您可以驗證您的 Exchange Server 內部部署是否傳回 evoSTS 驗證提供者的專案:

Get-AuthServer | where {$_.Name -like "EvoSts*"} | ft name,enabled

您的輸出應該會顯示名稱 EvoSts - <GUID> 的 AuthServer, Enabled 且狀態應該是 True。 如果不是這種情況,您應該下載並執行最新版的 混合式設定精靈

如果 Exchange Server 內部部署執行 具有多個租使用者的混合式組態,您的輸出會顯示一個 AuthServer,其中包含混合式 Exchange Server 內部部署中每個租使用者的名稱 EvoSts - <GUID> ,而 Enabled 這些 AuthServer 對象的狀態應該是 True

啟用 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 或更新版本) 或 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。

驗證

啟用 HMA 之後,用戶端的下一次登入將會使用新的驗證流程。 只要開啟 HMA 並不會觸發任何用戶端的重新驗證,而且 Exchange 可能需要一些時間才能挑選新的設定。

您也應該在您以滑鼠右鍵按下 Outlook 用戶端的圖示的同時按住 CTRL 金鑰 (也請在 Windows 通知匣中) ,然後選 Connection Status取 。 針對 代表 OAuth 中所使用之持有人令牌的 Bearer\*類型,尋找用戶端的 SMTP 位址AuthN

啟用適用於 OWA 和 ECP 的混合式新式驗證

現在也可以針對 OWAECP啟用混合式新式驗證。 繼續之前,請確定 必要條件 已完成。

針對 和 啟用OWA混合式新式驗證之後,嘗試登入OWAECP的每位使用者和系統管理員都會先重新導向至 [Microsoft Entra ID 驗證] ECP頁面。 驗證成功之後,使用者會重新導向至 OWAECP

為 OWA 和 ECP 啟用混合式新式驗證的必要條件

重要事項

所有伺服器都必須至少安裝 Exchange Server 2019 CU14 更新。 他們也必須執行 Exchange Server 2019 CU14 2024 年 4 月 胡 或更新版本的更新。

若要啟用 和ECPOWA混合式新式驗證,所有使用者身分識別都必須與 Microsoft Entra ID 同步處理。 除此之外,還必須先建立 Exchange Server 內部部署與 Exchange Online 之間的 OAuth 設定,才能完成進一步的設定步驟。

已執行混合式設定精靈 (HCW) 設定混合式的客戶,已備妥 OAuth 設定。 如果之前未設定 OAuth,可以執行 HCW 或遵循 設定 Exchange 與 Exchange Online 組織之間的 OAuth 驗證 檔中所述的步驟來完成。

建議您先記錄 和 EcpVirtualDirectory 設定,OwaVirtualDirectory再進行任何變更。 本檔可讓您在設定功能之後發生任何問題時還原原始設定。

為 OWA 和 ECP 啟用混合式新式驗證的步驟

警告

不支援透過 Microsoft Entra 應用程式 Proxy 發佈 Outlook Web App (OWA) 和 Exchange 控制面板 (ECP) 。

  1. 查詢在 OWA Exchange Server 內部部署上設定的 和 ECP URL。 這很重要,因為它們必須新增為Microsoft Entra ID 的回復 URL:

    Get-OwaVirtualDirectory -ADPropertiesOnly | fl name, *url*
    Get-EcpVirtualDirectory -ADPropertiesOnly | fl name, *url*
    
  2. 如果尚未安裝 Microsoft Graph PowerShell 模組,請加以安裝:

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. 使用 這些指示連線到 Microsoft Entra ID。 若要同意必要的許可權,請執行下列命令:

    Connect-Graph -Scopes User.Read, Application.ReadWrite.All
    
  4. 指定您的 OWAECP 網址:

    $replyUrlsToBeAdded = @(
    "https://YourDomain.contoso.com/owa","https://YourDomain.contoso.com/ecp"
    )
    
  5. 使用回覆網址更新您的應用程式:

    $servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
    $servicePrincipal.ReplyUrls += $replyUrlsToBeAdded
    Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppId "00000002-0000-0ff1-ce00-000000000000" -ReplyUrls $servicePrincipal.ReplyUrls
    
  6. 確認已成功新增回覆 URL:

    (Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'").ReplyUrls
    
  7. 若要讓 Exchange Server 內部部署能夠執行混合式新式驗證,請遵循 啟用 HMA 一節中所述的步驟。

  8. (選擇性) 只有在使用 下載網域 時才需要:

    從提升許可權的 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
    
  9. (只有在 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
    
  10. 若要啟用 和 ECPOWA混合式新式驗證,您必須先停用這些虛擬目錄上的任何其他驗證方法。 請務必以指定的順序執行設定。 若無法這麼做,可能會在命令執行期間產生錯誤訊息。

    執行這些命令之後,登入 OWAECP 將會停止運作,直到啟用這些虛擬目錄的 OAuth 驗證為止。 請確定所有帳戶都已同步處理為 Microsoft Entra ID,特別是用於管理的所有帳戶。 否則,登入會停止運作,直到同步處理為止。
    內建系統管理員等帳戶將不會與 Microsoft Entra ID 同步處理,因此,一旦啟用 OWA 和 ECP 的 HMA 之後,就無法用於管理。 此行為是由於屬性所造成 isCriticalSystemObject ,某些帳戶的 屬性會設定 True 為 。

    針對每個 Exchange Server 上的每個 OWAECP 虛擬目錄執行下列命令:

    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
    
  11. 為和 ECP 虛擬目錄啟用 OAuthOWA。 請務必以指定的順序執行設定。 若無法這麼做,可能會在命令執行期間產生錯誤訊息。 對於每個 Exchange Server 上的每個 OWAECP 虛擬目錄,必須執行下列命令:

    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:

52.125.128.0/20
52.127.96.0/23

您也可以在 Office 365 IP 位址和 URL Web 服務檔中未包含的其他端點中找到 IP 位址 範圍。

從 Office 365 專用/ITAR 轉換為 vNext 的新式驗證設定需求