如何設定 Exchange Server 內部部署以使用混合式新式驗證

本文適用於 Microsoft 365 企業版和 Office 365 企業版。

混合式新式驗證 (HMA) 是一種身分識別管理方法,可提供更安全的使用者驗證和授權,並適用于Exchange伺服器內部部署混合式部署。

定義

開始之前,您應該先熟悉一些定義:

  • 混合式新式驗證 > HMA

  • Exchange內部部署 >EXCH

  • >Exchange Online EXO

此外, 如果本文中的圖形具有「灰色」或「暗灰色」的物件,這表示以灰色顯示的專案不會包含在 HMA 特定組態中

啟用混合式新式驗證

開啟 HMA 表示:

  1. 開始之前,請確定您符合前置詞。

  2. 由於商務用 Skype和Exchange有許多 必要條件因此混合式新式驗證概觀和搭配內部部署商務用 Skype和Exchange伺服器使用的必要條件。 在開始本文中的任何步驟之前,請先執行此動作。 要插入之連結信箱的需求。

  3. 在 Azure AD 中將內部部署 Web 服務 URL 新增為 服務主體名稱 (SPN)。 如果 EXCH 與 多個租使用者 混合,則必須在與 EXCH 混合的所有租使用者Azure AD中,將這些內部部署 Web 服務 URL 新增為 SPN。

  4. 確保已針對 HMA 啟用所有虛擬目錄

  5. 檢查 EvoSTS Auth Server 物件

  6. 在 EXCH 中啟用 HMA。

注意

您的Office版本是否支援 MA? 請參閱Office 2013 和 Office 2016 用戶端應用程式的新式驗證運作方式

請確定您符合所有必要條件

由於商務用 Skype和Exchange有許多必要條件很常見,請檢閱混合式新式驗證概觀,以及搭配內部部署商務用 Skype和Exchange伺服器使用它的必要條件。 在開始本文中的任何步驟 之前 ,請先執行此動作。

注意

Outlook Web App和Exchange 主控台不適用於混合式新式驗證。

在 Azure AD 中新增內部部署 Web 服務 URL 作為 SPN

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

首先,收集您需要在AAD中新增的所有 URL。 在內部部署執行下列命令:

Get-MapiVirtualDirectory | FL server,*url*
Get-WebServicesVirtualDirectory | FL server,*url*
Get-ClientAccessServer | fl Name, AutodiscoverServiceInternalUri
Get-OABVirtualDirectory | FL server,*url*
Get-AutodiscoverVirtualDirectory | FL server,*url*
Get-OutlookAnywhere | FL server,*hostname*

請確定用戶端可能連線的 URL 會列為 AAD 中的 HTTPS 服務主體名稱。 如果 EXCH 與 多個租使用者 混合,這些 HTTPS SPN 應該新增至與 EXCH 混合的所有租使用者AAD。

  1. 首先,使用這些指示連線到 AAD。

    注意

    您必須使用此頁面中的 連線-MsolService 選項,才能使用下列命令。

  2. 針對Exchange相關的 URL,輸入下列命令:

    Get-MsolServicePrincipal -AppPrincipalId 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:// 失,則應該將這些特定記錄新增至此清單。

  3. 如果您在此清單中看不到內部和外部 MAPI/HTTP、EWS、ActiveSync、OAB 和自動探索記錄,則必須使用下列命令來新增它們 (範例 URL 為 mail.corp.contoso.comowa.contoso.com ,但您會 將範例 URL 取代為您自己的) :

    $x= Get-MsolServicePrincipal -AppPrincipalId 00000002-0000-0ff1-ce00-000000000000
    $x.ServicePrincipalnames.Add("https://mail.corp.contoso.com/")
    $x.ServicePrincipalnames.Add("https://owa.contoso.com/")
    Set-MSOLServicePrincipal -AppPrincipalId 00000002-0000-0ff1-ce00-000000000000 -ServicePrincipalNames $x.ServicePrincipalNames
    
  4. 再次執行步驟 2 中的 Get-MsolServicePrincipal 命令,並查看輸出,以確認已新增您的新記錄。 將之前的清單/螢幕擷取畫面與新的 SPN 清單進行比較。 您也可以為記錄擷取新清單的螢幕擷取畫面。 如果您成功,您會在清單中看到兩個新的 URL。 根據我們的範例,SPN 清單現在會包含特定 URL https://mail.corp.contoso.comhttps://owa.contoso.com

確認已正確設定虛擬目錄

現在,請執行下列命令,確認所有虛擬目錄上的 Exchange 中是否已正確啟用 OAuth Outlook使用:

Get-MapiVirtualDirectory | FL server,*url*,*auth*
Get-WebServicesVirtualDirectory | FL server,*url*,*oauth*
Get-OABVirtualDirectory | FL server,*url*,*oauth*
Get-AutoDiscoverVirtualDirectory | FL server,*oauth*

檢查輸出以確定每個 VDir 上都已啟用 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管理命令介面。 現在您可以驗證內部部署是否有 evoSTS 驗證提供者的專案:

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

您的輸出應該會顯示名稱為 EvoSts 且具有 GUID 的 AuthServer,且 「已啟用」狀態應該是 True。 如果您沒有看到此資訊,您應該下載並執行最新版的混合式設定精靈。

注意

如果 EXCH 與 多個租 使用者混合,您的輸出應該會針對與 EXCH 混合的每個租使用者顯示一個 Name EvoSts - {GUID} 的 AuthServer,而所有這些 AuthServer 物件的 Enabled 狀態應該是 True。

重要

如果您在環境中執行 Exchange 2010,將不會建立 EvoSTS 驗證提供者。

啟用 HMA

在內部部署的 Exchange 管理命令介面中執行下列命令,並將命令列中的 字串取代 <GUID> 為您環境中的字串:

Set-AuthServer -Identity "EvoSTS - <GUID>" -IsDefaultAuthorizationEndpoint $true
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

注意

在舊版混合式設定精靈中,EvoSts AuthServer 只會命名為 EvoSTS,但未附加 GUID。 您不需要採取任何動作,只要移除命令的 GUID 部分,即可修改上述命令列以反映這一點:

Set-AuthServer -Identity EvoSTS -IsDefaultAuthorizationEndpoint $true

如果 EXCH 版本Exchange 2016 (CU18 或更新版本) 或 2019 Exchange 2019 (CU7 或更新版本) 且混合式是在 2020 年 9 月之後下載 HCW 設定,請在內部部署的 Exchange 管理命令介面中執行下列命令:

Set-AuthServer -Identity "EvoSTS - {GUID}" -DomainName "Tenant Domain" -IsDefaultAuthorizationEndpoint $true
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

注意

如果 EXCH 與 多個租 使用者混合,EXCH 中有多個 AuthServer 物件,且網域對應至每個租使用者。 使用 IsDefaultAuthorizationEndpoint Cmdlet) 任何一個 AuthServer 物件, (應將 IsDefaultAuthorizationEndpoint 旗標設定為 true。 此旗標無法針對所有 Authserver 物件設定為 true,即使其中一個 AuthServer 物件的 IsDefaultAuthorizationEndpoint 旗標設定為 true,也會啟用 HMA。

針對 DomainName 參數,請使用租使用者網域值,其格式通常是 contoso.onmicrosoft.com

驗證

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

您也應該按住 CTRL 鍵,同時以滑鼠右鍵按一下Outlook用戶端的圖示, (在 [Windows通知] 匣中) ,然後按一下 [線上狀態]。 針對代表 OAuth 中所使用之持有人權杖的 Bearer\* Authn 類型,尋找用戶端的 SMTP 位址。

注意

需要使用 HMA 設定商務用 Skype嗎? 您將需要兩篇文章:一篇列出 支援的拓撲,另一篇說明 如何執行設定

對 Outlook for iOS 和 Android 使用混合新式驗證

如果您是使用 TCP 443 上Exchange伺服器的內部部署客戶,請允許來自下列 IP 範圍的網路流量:

52.125.128.0/20
52.127.96.0/23

這些 IP 位址範圍也記載于Office 365 IP 位址和 URL Web 服務中未包含的其他端點

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