如何設定 Exchange Server 內部部署以使用混合式新式驗證
本文適用於 Microsoft 365 企業版和 Office 365 企業版。
混合式新式驗證 (HMA) 是一種身分識別管理方法,可提供更安全的使用者驗證和授權,並適用于Exchange伺服器內部部署混合式部署。
定義
開始之前,您應該先熟悉一些定義:
混合式新式驗證 > HMA
Exchange內部部署 >EXCH
>Exchange Online EXO
此外, 如果本文中的圖形具有「灰色」或「暗灰色」的物件,這表示以灰色顯示的專案不會包含在 HMA 特定組態中。
啟用混合式新式驗證
開啟 HMA 表示:
開始之前,請確定您符合前置詞。
由於商務用 Skype和Exchange有許多 必要條件,因此混合式新式驗證概觀和搭配內部部署商務用 Skype和Exchange伺服器使用的必要條件。 在開始本文中的任何步驟之前,請先執行此動作。 要插入之連結信箱的需求。
在 Azure AD 中將內部部署 Web 服務 URL 新增為 服務主體名稱 (SPN)。 如果 EXCH 與 多個租使用者 混合,則必須在與 EXCH 混合的所有租使用者Azure AD中,將這些內部部署 Web 服務 URL 新增為 SPN。
確保已針對 HMA 啟用所有虛擬目錄
檢查 EvoSTS Auth Server 物件
在 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。
首先,使用這些指示連線到 AAD。
注意
您必須使用此頁面中的 連線-MsolService 選項,才能使用下列命令。
針對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://失,則應該將這些特定記錄新增至此清單。如果您在此清單中看不到內部和外部 MAPI/HTTP、EWS、ActiveSync、OAB 和自動探索記錄,則必須使用下列命令來新增它們 (範例 URL 為
mail.corp.contoso.com和owa.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再次執行步驟 2 中的
Get-MsolServicePrincipal命令,並查看輸出,以確認已新增您的新記錄。 將之前的清單/螢幕擷取畫面與新的 SPN 清單進行比較。 您也可以為記錄擷取新清單的螢幕擷取畫面。 如果您成功,您會在清單中看到兩個新的 URL。 根據我們的範例,SPN 清單現在會包含特定 URLhttps://mail.corp.contoso.com和https://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-MapiVirtualDirectory、 Set-WebServicesVirtualDirectory、 Set-OABVirtualDirectory和 Set-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 位址。
對 Outlook for iOS 和 Android 使用混合新式驗證
如果您是使用 TCP 443 上Exchange伺服器的內部部署客戶,請允許來自下列 IP 範圍的網路流量:
52.125.128.0/20
52.127.96.0/23
這些 IP 位址範圍也記載于Office 365 IP 位址和 URL Web 服務中未包含的其他端點。