搭配使用 AD FS 宣告型驗證與Outlook 網頁版
在Exchange Server組織中安裝和設定 Active Directory 同盟服務 (AD FS) ,可讓用戶端使用 AD FS 宣告型驗證來連線到先前稱為 Outlook Web App) 的Outlook 網頁版 (,以及 Exchange 系統管理中心 (EAC) 。 宣告式身分識別是另一種驗證方法,可從應用程式中移除驗證管理,並藉由集中驗證讓您更輕鬆地管理帳戶。 啟用宣告式驗證時,Outlook 網頁版和 EAC 不負責驗證使用者、儲存使用者帳戶和密碼、查閱使用者身分識別詳細資料,或與其他身分識別系統整合。 集中驗證有助於日後更容易升級驗證方法。
AD FS 宣告式驗證會取代適用于 Outlook 網頁版 和 EAC 的傳統驗證方法。 例如:
- Active Directory 用戶端憑證驗證
- 基本驗證
- 摘要驗證
- 表單驗證
- Windows 驗證
在 Exchange Server 中設定適用于 Outlook 網頁版 和 EAC 的 AD FS 宣告型驗證牽涉到下列其他伺服器:
Windows Server 2012 或更新版本的網域控制站 (Active Directory 網域服務 伺服器角色) 。
Windows Server 2012 或更新版本的 AD FS 伺服器 (Active Directory 同盟服務 伺服器角色) 。 Windows Server 2012 使用 AD FS 2.1,而 Windows Server 2012 R2 則使用 AD FS 3.0。 您必須是 Domain Admins、Enterprise Admins 或本機 Administrators 安全性群組的成員,才能安裝 AD FS,以及在 AD FS 伺服器上建立必要的信賴憑證者信任和宣告規則。
或者,Windows Server 2012 R2 或更新版本的 Web 應用程式 Proxy 伺服器 (遠端存取服務器角色、Web 應用程式 Proxy 角色服務) 。
Web 應用程式 Proxy是公司網路內 Web 應用程式的反向 Proxy 伺服器。 Web 應用程式 Proxy可讓許多裝置上的使用者從公司網路外部存取已發佈的 Web 應用程式。 如需詳細資訊,請參閱安裝和設定用於發佈內部應用程式的 Web 應用程式 Proxy。
雖然當外部用戶端可以存取 AD FS 時,通常建議使用 Web 應用程式 Proxy,但透過 Web 應用程式 Proxy使用 AD FS 驗證時,不支援Outlook 網頁版中的離線存取。
在 Windows Server 2012 R2 伺服器上安裝 Web 應用程式 Proxy需要本機系統管理員許可權。
您必須先部署和設定 AD FS 伺服器,才能設定 Web 應用程式 Proxy 伺服器,而且您無法在安裝 AD FS 的相同伺服器上安裝 Web 應用程式 Proxy。
開始之前有哪些須知?
完成此程式的估計時間:45 分鐘。
本主題中的程式是以 Windows Server 2012 R2 為基礎。
裝置用網頁型 Outlook 不支援 AD FS 宣告式驗證。
針對 Exchange 組織中的程式,您必須具有組織管理許可權。
如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange Server、Exchange Online 或 Exchange Online Protection。
步驟 1:檢閱 AD FS 的憑證需求
AD FS 需要兩種基本類型的憑證:
服務通訊安全通訊端層 (SSL) 憑證,用於 AD FS 伺服器、用戶端、Exchange 伺服器和選擇性 Web 應用程式 Proxy 伺服器之間的加密 Web 服務流量。 我們建議您使用內部或商業憑證授權單位單位 (CA) 所簽發的憑證,因為所有用戶端都需要信任此憑證。
權杖簽署憑證,用於 AD FS 伺服器、Active Directory 網域控制站和 Exchange 伺服器之間的加密通訊和驗證。 建議您使用預設的自我簽署 AD FS 權杖簽署憑證。
如需在 Windows 中建立和匯入 SSL 憑證的詳細資訊,請參閱 伺服器憑證。
以下是我們將在此案例中使用的憑證摘要:
憑證 (中主體、主體別名或萬用字元憑證比對) 中的一般名稱 (CN) | 類型 | 伺服器上需要 | 註解 |
---|---|---|---|
adfs.contoso.com |
由 CA 發行 | AD FS 伺服器 Web 應用程式 Proxy伺服器 |
這是用戶端可見的主機名稱,因此用戶端必須信任此憑證的簽發者。 |
ADFS Signing - adfs.contoso.com |
自我簽署 | AD FS 伺服器 Exchange 伺服器 Web 應用程式 Proxy伺服器 |
預設自我簽署憑證會在選用的 Web 應用程式 Proxy 伺服器設定期間自動複製,但您必須手動將它匯入組織中所有 Exchange 伺服器上的受信任根憑證存放區。 根據預設,自我簽署權杖簽署憑證的有效期為一年。 AD FS 伺服器已設定為自動更新 (取代其自我簽署憑證) 到期之前,但您必須在 Exchange 伺服器上重新匯入憑證。 您可以在 AD FS 伺服器上的 Windows PowerShell 中執行此命令,以增加預設憑證到期期間: 若要從 AD FS 管理主控台匯出憑證,請選取[服務>憑證> ] 以滑鼠右鍵按一下權杖簽署憑證 > ,選取 [檢視憑證> ] 按一下 [詳細資料] 索引標籤 >,按一下 [複製到檔案]。 |
mail.contoso.com |
由 CA 發行 | Exchange 伺服器 Web 應用程式 Proxy伺服器 |
這是用來加密外部用戶端連線以Outlook 網頁版 (的一般憑證,而且可能還有其他 Exchange IIS 服務) 。 如需詳細資訊,請參閱<Exchange 服務的憑證需求>。 |
如需詳細資訊,請參閱 AD FS 需求中的一節。
注意事項
安全通訊端層 (SSL) 是以傳輸層安全性 (TLS) 取代,做為用來加密電腦系統之間傳送的資料的通訊協定。 它們密切相關,以至於 "SSL" 和 "TLS" (不含版本) 術語經常交換使用。 因為這個相似性,Exchange 主題、Exchange 系統管理中心,和 Exchange 管理命令介面 中的 "ssl" 參考常用來包含 SSL 及 TLS 通訊協定。 通常,僅當也提供版本 (例如,SSL 3.0) 時,"SSL" 才是指實際的 SSL 通訊協定。 若要了解為何您應該停用 SSL 通訊協定並轉換為 TLS,請參閱防止 SSL 3.0 弱點。
步驟 2:部署 AD FS 伺服器
您可以使用伺服器管理員或Windows PowerShell在目標伺服器上安裝Active Directory 同盟服務角色服務。
若要使用 伺服器管理員 安裝 AD FS,請遵循下列步驟:
在目標伺服器上,開啟 [伺服器管理員],按一下 [管理],然後選取 [新增角色和功能]。
[ 新增角色和功能精靈] 隨 即開啟。 除非您先前預設選取 [略過此頁面],否則您會從 [開始之前] 頁面開始。 按一下[下一步]。
在 [ 選取安裝類型 ] 頁面上,確認已選取 [角色型或功能型安裝 ],然後按 [ 下一步]。
在 [ 選取目的地伺服器 ] 頁面上,確認伺服器選取專案,然後按 [ 下一步]。
在 [選取伺服器角色] 頁面上,從清單中選取 [Active Directory 同盟服務],然後按 [下一步]。
在 [ 選取功能] 頁面上,按一下 [ 下一步 (接受預設功能選取) 。
在[Active Directory 同盟服務 (AD FS) ] 頁面上,按 [下一步]。
僅限 Windows Server 2012:在 [ 選取角色服務] 頁面上,按一下 [ 下一步 (接受預設的角色服務選擇) 。
在 [ 確認安裝選項] 頁面上,按一下 [ 安裝]。
在 [安裝進度]頁面上,您可以watch進度列來確認安裝成功。 安裝完成時,讓精靈保持開啟,讓您可以在步驟 3b:設定 AD FS 伺服器中按一下 [設定此伺服器上的同盟服務]。
若要使用Windows PowerShell安裝 AD FS,請執行下列命令:
Install-WindowsFeature ADFS-Federation -IncludeManagementTools
步驟 3:設定和測試 AD FS 伺服器
您也可以參考此檢查清單,以協助您設定 AD FS: 檢查清單:設定同盟伺服器。
步驟 3a:在網域控制站上建立 gMSA
設定 AD FS 伺服器之前,您必須在 Windows Server 2012 或更新版本的網域控制站上建立群組受控服務帳戶 (gMSA) 。 您可以在網域控制站上提升許可權的Windows PowerShell視窗中執行此動作, (選取 [以系統管理員身分執行]) 開啟的Windows PowerShell視窗。
執行下列命令:
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)
如果命令成功,則會傳回 GUID 值。 例如:
Guid
----
2570034b-ab50-461d-eb80-04e73ecf142b若要為 AD FS 伺服器建立新的 gMSA 帳戶,請使用下列語法:
New-ADServiceAccount -Name <AccountName> -DnsHostName <FederationServiceName> -ServicePrincipalNames http/<FederationServiceName>
此範例會為名為 adfs.contoso.com 的同盟服務建立名為 FSgMSA 的新 gMSA 帳戶。 同盟服務名稱是用戶端可見的值。
New-ADServiceAccount -Name FSgMSA -DnsHostName adfs.contoso.com -ServicePrincipalNames http/adfs.contoso.com
步驟 3b:設定 AD FS 伺服器
若要設定 AD FS 伺服器,您可以使用 伺服器管理員 或 Windows PowerShell。
若要使用伺服器管理員,請遵循下列步驟:
如果您從步驟 2:部署 AD FS 伺服器的 AD FS 伺服器上開啟 [新增角色和功能精靈],您可以按一下[安裝進度] 頁面上的 [設定此伺服器上的同盟服務] 連結。
如果您已關閉[新增角色和功能精靈],或是使用Windows PowerShell安裝 AD FS,您可以按一下 [通知],然後按一下 [部署後設定] 警告中的 [在此伺服器上設定同盟服務],以前往伺服器管理員中的相同位置。
[Active Directory 同盟服務精靈]隨即開啟。 在 [ 歡迎使用 ] 頁面上,確認已選取 [ 在同盟伺服器陣列中建立第一部同盟伺服器 ],然後按 [ 下一步]。
在 [連線到 Active Directory 同盟服務] 頁面上,選取 AD FS 伺服器所在網域中的網域系統管理員帳戶, (預設會選取您目前的認證) 。 如果您需要選取不同的使用者,請按一下 [變更]。 完成後,按 [下一步]。
在 [ 指定服務屬性 ] 頁面上,設定下列設定:
SSL 憑證:匯入或選取 SSL 憑證,其中包含您在 步驟 3a:在網域控制站上建立 gMSA 中設定的同盟服務名稱 (,例如
adfs.contoso.com
) 。 當您匯入尚未安裝在伺服器上的憑證時,您可能需要匯入 .pfx 檔案 (可能是包含憑證私密金鑰的密碼保護檔案) 。 在憑證的 [主體] 欄位中, (CN) 值的一般名稱會顯示在這裡。同盟服務名稱:此欄位會根據您選取或匯入的 SSL 憑證類型自動填入:
單一主體憑證:憑證 [主體] 欄位的 CN 值隨即顯示,您無法變更它 (例如
adfs.contoso.com
,) 。SAN 憑證:如果憑證包含必要的同盟服務名稱,則該值會顯示 (例如,
adfs.contoso.com
) 。 您可以使用下拉式清單來查看憑證中的其他 CN 值。萬用字元憑證:憑證的 [主體] 欄位的 CN 值會顯示 (例如
*.contoso.com
,) ,但您需要將它變更為必要的同盟服務名稱 (例如adfs.contoso.com
,) 。
注意:如果您選取的憑證不包含必要的同盟服務名稱, ([ 同盟服務名稱] 字 段未包含必要的值) ,您會收到下列錯誤:
The federation service name does not match any of the subject names found in the certificate.
同盟服務顯示名稱:輸入您組織的名稱。 例如,Contoso, Ltd..
完成後,按 [下一步]。
在 [ 指定服務帳戶] 頁面上,設定下列設定:
選 取 [使用現有的網域使用者帳戶或群組受控服務帳戶]。
帳戶名稱:按一下 [選 取],然後輸入您在 步驟 3a:在網域控制站上建立 gMSA 中建立的 gMSA 帳戶 (例如
FSgMSA
,) 。 請注意,選取它之後,顯示的值會<Domain>\<gMSAAccountName>$
(例如,CONTOSO\FSgMSA$
) 。
完成後,按 [下一步]。
在 [ 指定設定資料庫 ] 頁面上,確認已選取 [使用 Windows 內部資料庫在此伺服器上建立資料庫] ,然後按 [ 下一步]。
在 [ 檢閱選項] 頁面上,確認您的選擇。 您可以按一下 [檢視腳本] 按鈕,複製Windows PowerShell等於您為未來使用所做的選取專案。 完成後,按 [下一步]。
在 [ 必要條件檢查 ] 頁面上,確認所有必要條件檢查都已順利完成,然後按一下 [ 設定]。
在 [ 結果] 頁面上檢閱結果,確認設定已順利完成。 如果您想要閱讀後續步驟,例如設定 DNS) ,您可以按一下 [ 完成同盟服務部署所需的後續步驟 (。 完成時,請按一下 [關閉]。
若要使用Windows PowerShell來設定 AD FS,請遵循下列步驟:
在 AD FS 伺服器上執行下列命令,以尋找包含
adfs.contoso.com
的已安裝憑證指紋值:Set-Location Cert:\LocalMachine\My; Get-ChildItem | Format-List FriendlyName,Subject,Thumbprint
執行下列命令:
Import-Module ADFS
使用下列語法:
Install-AdfsFarm -CertificateThumbprint <ThumbprintValue> -FederationServiceName <FederationServiceName> -FederationServiceDisplayName <FederationServiceDisplayName> -GroupServiceAccountIdentifier <gMSA>
此範例會使用下列設定來設定 AD FS:
adfs.contoso.com 憑證指紋:
*.contoso.com
指紋值5AE82C737900B29C2BAC3AB6D8C44D249EE05609
為 的憑證。同盟服務名稱:
adfs.contoso.com
同盟服務顯示名稱:
Contoso, Ltd.
同盟 gMSA SAM 帳戶名稱和網域:例如,針對網域中
contoso.com
名為 的FSgMSA
gMSA 帳戶,所需的值為contoso\FSgMSA$
。
Install-AdfsFarm -CertificateThumbprint 5AE82C737900B29C2BAC3AB6D8C44D249EE05609 -FederationServiceName adfs.contoso.com -FederationServiceDisplayName "Contoso, Ltd." -GroupServiceAccountIdentifier "contoso\FSgMSA`$"
附註:
當您建立 gMSA 時,
$
會自動附加至 Name 值,以建立 這裡所需的 SamAccountName 值。SamAccountName中的 需要
$
逸出字元 (''') 。
如需詳細資料和語法,請參閱 Install-AdfsFarm。
步驟 3c:測試 AD FS 伺服器
設定 AD FS 之後,您可以在網頁瀏覽器中成功開啟同盟中繼資料的 URL,以確認 AD FS 伺服器上的安裝。 URL 會使用 語 https://<FederationServiceName>/federationmetadata/2007-06/federationmetadata.xml
法 。 例如,https://adfs.contoso.com/federationmetadata/2007-06/federationmetadata.xml
。
步驟 4:在 AD FS 中為 Outlook 網頁版 和 EAC 建立信賴憑證者信任和自訂宣告規則
在 Exchange 伺服器上,Outlook 網頁版使用名為 的
owa
虛擬目錄,而 EAC 會使用名為 的ecp
虛擬目錄。在 Outlook 網頁版
/
和 EAC URL 值中使用的尾端斜線 () 是刻意的。 請務必讓 AD FS 信賴憑證者信任和 Exchange 物件 URI 相同。 兩 者都必須有 或 兩者都必須在其 URL 中省略結尾斜線。 本節中的範例包含 owa 和 ecp URL 之後的尾端斜線 (owa/
和ecp/
) 。在具有多個 Active Directory 網站的組織中, (使用個別的命名空間,
eu.contoso.com
na.contoso.com
) ,您必須為Outlook 網頁版和 EAC 設定每個命名空間的信賴憑證者信任。
步驟 4a:在 AD FS 中為 Outlook 網頁版 和 EAC 建立信賴憑證者信任
若要在 AD FS 伺服器上建立信賴憑證者信任,您可以使用 AD FS 管理主控台或Windows PowerShell。
若要使用 AD FS 管理主控台來建立信賴憑證者信任,請遵循下列步驟:
注意:您需要執行下列步驟兩次:一次用於Outlook 網頁版,一次用於 EAC。 唯一的差異在於您在步驟 5 和 8 中輸入的值, (精靈中的 [ 指定顯示名稱 和設定 URL ] 頁面) 。
在 [伺服器管理員] 中,按一下 [工具],然後選取 [AD FS 管理]。
在 AD FS 管理主控台中,展開 [ 信任關係] ,然後選取 [ 信賴憑證者信任]。 在 [ 動作] 窗格中,選取 [ 新增信賴憑證者信任]。
[ 新增信賴憑證者信任精 靈] 隨即開啟。 在 [歡迎使用] 頁面上,按一下 [開始]。
在 [ 選取資料來源] 頁面上,選取 [ 手動輸入信賴憑證者相關資料],然後按 [ 下一步]。
在 [ 指定顯示名稱 ] 頁面上,設定下列設定:
針對Outlook 網頁版:
顯示名稱:輸入Outlook 網頁版。
附注:輸入描述。 例如,這是 的信任 https://mail.contoso.com/owa/ 。
針對 EAC:
顯示名稱:輸入 EAC。
附注:輸入描述。 例如,這是 的信任 https://mail.contoso.com/ecp/ 。
完成後,按 [下一步]。
在 [ 選擇設定檔 ] 頁面上,確認已選取 [AD FS 設定檔 ],然後按 [ 下一步]。
在 [ 設定憑證 ] 頁面上,按一下 [ 下一步 (未指定選擇性權杖加密憑證) 。
在 [ 設定 URL ] 頁面上,選取 [ 啟用 WS-Federation 被動通訊協定的支援],然後在 [ 信賴憑證者 WS-Federation 被動通訊協定 URL中,輸入下列資訊:
Outlook 網頁版:輸入外部Outlook 網頁版 URL (例如, https://mail.contoso.com/owa/) 。
EAC:輸入您的外部 EAC URL (例如, https://mail.contoso.com/ecp/) 。
完成後,按 [下一步]。
在 [ 設定識別碼 ] 頁面上,按一下 [ 下一步 ], (上一個步驟的 URL 列在 [ 信賴憑證者信任識別碼 ]) 中。
在 [ 立即設定 Multi-Factor Authentication? ] 頁面上,確認目前已選取 [ 我不想為此信賴憑證者信任設定多重要素驗證設定 ],然後按 [ 下一步]。
在 [ 選擇發行授權規則] 頁面上,確認已選取 [ 允許所有使用者存取此信賴憑證者 ],然後按 [ 下一步]。
在 [準備好新增信任] 頁面上檢閱設定,然後按 [下一步] 儲存信賴憑證者信任資訊。
在 [ 完成] 頁面上,取消核取 [當精靈 關閉時,開啟此信賴憑證者信任的編輯宣告規則] 對話方塊,然後按一下 [ 關閉]。
若要使用Windows PowerShell提示建立信賴憑證者信任,請遵循下列步驟:
在提升許可權的Windows PowerShell視窗中,執行下列命令:
Import-Module ADFS
使用下列語法:
Add-AdfsRelyingPartyTrust -Name <"Outlook on the web" | EAC> -Notes "This is a trust for <OotwURL | EACURL>" -Identifier <OotwURL | EACURL> -WSFedEndpoint <OotwURL | EACURL> -IssuanceAuthorizationRules '@RuleTemplate = "AllowAllAuthzRule" => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");' -IssueOAuthRefreshTokensTo NoDevice
此範例會使用下列值為Outlook 網頁版建立信賴憑證者信任:
- 名稱:Outlook 網頁版
- 注意:這是的信任 https://mail.contoso.com/owa/
- 識別碼: https://mail.contoso.com/owa/
- WSFedEndpoint: https://mail.contoso.com/owa/
Add-AdfsRelyingPartyTrust -Name "Outlook on the web" -Notes "This is a trust for https://mail.contoso.com/owa/" -Identifier https://mail.contoso.com/owa/ -WSFedEndpoint https://mail.contoso.com/owa/ -IssuanceAuthorizationRules '@RuleTemplate = "AllowAllAuthzRule" => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");' -IssueOAuthRefreshTokensTo NoDevice
此範例會使用下列值為 EAC 建立信賴憑證者信任:
- 名稱:EAC
- 注意:這是的信任 https://mail.contoso.com/ecp/
- 識別碼: https://mail.contoso.com/ecp/
- WSFedEndpoint: https://mail.contoso.com/ecp/
Add-AdfsRelyingPartyTrust -Name EAC -Notes "This is a trust for https://mail.contoso.com/ecp/" -Identifier https://mail.contoso.com/ecp/ -WSFedEndpoint https://mail.contoso.com/ecp/ -IssuanceAuthorizationRules '@RuleTemplate = "AllowAllAuthzRule" => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");' -IssueOAuthRefreshTokensTo NoDevice
步驟 4b:在 AD FS 中為 Outlook 網頁版 和 EAC 建立自訂宣告規則
針對 Outlook 網頁版 和 EAC,您需要建立兩個宣告規則:
Active Directory 使用者 SID
Active Directory UPN
若要在 AD FS 伺服器上建立宣告規則,您可以使用 AD FS 管理主控台或Windows PowerShell。
若要使用 AD FS 管理主控台來建立宣告規則,請遵循下列步驟:
注意:您需要執行下列步驟兩次:一次用於Outlook 網頁版,另一次用於 EAC。 唯一的差異是您在第一個步驟中選取的信賴憑證者信任。 程式中的所有其他值都相同。
若要新增必要的宣告規則:
在 AD FS 管理主控台中,展開 [信任關係]選取 [信賴憑證者信任],然後選取Outlook 網頁版或 EAC 信賴憑證者信任。 在 [ 動作] 窗格中,選取 [ 編輯宣告規則]。
在開啟的 [編輯 RuleName > 宣告 < 規則] 視窗中,確認已選取 [發行轉換規則]索引標籤,然後按一下 [新增規則]。
[新增轉換宣告規則精靈]隨即開啟。 在 [ 選取規則範本 ] 頁面上,按一下 [ 宣告規則範本 ] 下拉式清單,然後選取 [ 使用自訂規則傳送宣告]。 完成後,按 [下一步]。
在 [ 設定規則 ] 頁面上,輸入下列資訊:
宣告規則名稱:輸入宣告規則的描述性名稱。 例如,ActiveDirectoryUserSID。
自訂規則:複製並貼上下列文字:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"), query = ";objectSID;{0}", param = c.Value);
當您完成時,按一下 [ 完成]。
回到 [編輯 RuleName > 的 < 宣告規則] 視窗,確認已選取 [發行轉換規則] 索引標籤,然後按一下 [新增規則]。
[新增轉換宣告規則精靈]隨即開啟。 在 [ 選取規則範本 ] 頁面上,按一下 [ 宣告規則範本 ] 下拉式清單,然後選取 [ 使用自訂規則傳送宣告]。 完成後,按 [下一步]。
在 [ 設定規則 ] 頁面上,輸入下列資訊:
宣告規則名稱:輸入宣告規則的描述性名稱。 例如,ActiveDirectoryUPN。
自訂規則:複製並貼上下列文字:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);
當您完成時,按一下 [ 完成]。
回到 [編輯 RuleName > 的 < 宣告規則]視窗,按一下 [確定]。
若要使用Windows PowerShell建立自訂宣告規則,請遵循下列步驟:
開啟提升許可權的Windows PowerShell視窗,然後執行下列命令:
Import-Module ADFS
使用下列語法:
Set-AdfsRelyingPartyTrust -TargetName <OotwRelyingPartyTrust | EACRelyingPartyTrust> -IssuanceTransformRules '@RuleName = "ActiveDirectoryUserSID" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"), query = ";objectSID;{0}", param = c.Value); @RuleName = "ActiveDirectoryUPN" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);'
若要在名為 Outlook 網頁版 的現有信賴憑證者信任中建立自訂宣告規則,請執行下列命令:
Set-AdfsRelyingPartyTrust -TargetName "Outlook on the web" -IssuanceTransformRules '@RuleName = "ActiveDirectoryUserSID" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"), query = ";objectSID;{0}", param = c.Value); @RuleName = "ActiveDirectoryUPN" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);'
若要在名為 EAC 的現有信賴憑證者信任中建立自訂宣告規則,請執行下列命令:
Set-AdfsRelyingPartyTrust -TargetName EAC -IssuanceTransformRules '@RuleName = "ActiveDirectoryUserSID" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"), query = ";objectSID;{0}", param = c.Value); @RuleName = "ActiveDirectoryUPN" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);'
步驟 5: (選用) 部署和設定 Windows Server 2012 R2 Web 應用程式 Proxy 伺服器
只有當您想要使用 Web 應用程式 Proxy 發佈Outlook 網頁版和 EAC,而且您想要 Web 應用程式 Proxy執行 AD FS 驗證時,才需要本節中的步驟。 請記住:
如果您透過 Web 應用程式 Proxy 使用 AD FS 驗證,則無法在 Outlook 網頁版 中使用離線存取。
您無法在安裝 AD FS 的相同伺服器上安裝 Web 應用程式 Proxy。
如果您不打算使用 Web 應用程式 Proxy,請跳至步驟 6。
步驟 5a:安裝 Web 應用程式 Proxy
若要使用伺服器管理員安裝 Web 應用程式 Proxy,請遵循下列步驟:
在目標伺服器上,開啟 [伺服器管理員],按一下 [管理],然後選取 [新增角色和功能]。
[ 新增角色和功能精靈] 隨 即開啟。 除非您先前預設選取 [略過此頁面],否則您會從 [開始之前] 頁面開始。 按一下[下一步]。
在 [ 選取安裝類型 ] 頁面上,確認已選取 [角色型或功能型安裝 ],然後按 [ 下一步]。
在 [ 選取目的地伺服器 ] 頁面上,確認伺服器選取專案,然後按 [ 下一步]。
在 [ 選取伺服器角色 ] 頁面上,選取角色清單中的 [ 遠端存取 ],然後按 [ 下一步]。
在 [ 功能] 頁面上,按一下 [ 下一步 (接受預設功能選取) 。
閱讀 [遠端存取] 頁面上的資訊,然後按 [下一步]。
在 [選取角色服務]頁面上,選取 [Web 應用程式 Proxy]。 在開啟的 [新增功能] 對話方塊中,按一下 [ 新增功能 ] 以接受預設值並關閉對話方塊。 回到 [ 選取角色服務] 頁面,按 [ 下一步]。
在 [ 確認安裝選項] 頁面上,按一下 [ 安裝]。
在 [安裝進度]頁面上,watch進度列確認安裝成功。 安裝完成時,讓精靈保持開啟狀態,以便在下一個步驟中按一下 [開啟 Web 應用程式 Proxy 精靈] (5b) 。
若要使用 Windows PowerShell 安裝 Web 應用程式 Proxy,請執行下列命令:
Install-WindowsFeature Web-Application-Proxy -IncludeManagementTools
步驟 5b:設定 Web 應用程式 Proxy 伺服器
部署 Web 應用程式 Proxy 伺服器之後,您必須設定下列 Web 應用程式 Proxy 設定:
同盟服務名稱:例如。
adfs.contoso.com
同盟服務信任認證:AD FS 伺服器上本機系統管理員帳戶的使用者名稱和密碼。
AD FS Proxy 憑證:安裝在 Web 應用程式 Proxy 伺服器上的憑證,可將伺服器識別為用戶端做為同盟服務的 Proxy,因此包含同盟服務名稱 (例如
adfs.contoso.com
) 。 此外,同盟服務名稱必須可供 Web 應用程式 Proxy 伺服器存取, (可在 DNS) 中解析。
您可以使用伺服器管理員或Windows PowerShell來設定 Web 應用程式 Proxy 伺服器。
若要使用伺服器管理員來設定 Web 應用程式 Proxy,請遵循下列步驟:
如果您讓 [新增角色及功能精靈] 在 Web 應用程式 Proxy伺服器上從上一個步驟開啟,您可以按一下 [安裝進度] 頁面上的 [開啟 Web 應用程式 Proxy 精靈] 連結。
如果您已關閉[新增角色和功能精靈],或是使用Windows PowerShell安裝 Web 應用程式 Proxy,您可以按一下 [通知],然後按一下 [部署後設定] 警告中的 [開啟 Web 應用程式 Proxy精靈] 來前往相同的位置。
[Web 應用程式 Proxy組態精靈] 隨即開啟。 請在歡迎頁面,按一下[下一步]。
在 [ 同盟伺服器] 頁面上,輸入下列資訊:
同盟服務名稱:例如。
adfs.contoso.com
使用者名稱 和 密碼:輸入 AD FS 伺服器上本機系統管理員帳戶的認證。
完成後,按 [下一步]。
在 [AD FS Proxy 憑證 ] 頁面上,選取包含同盟服務名稱的已安裝憑證 (例如
adfs.contoso.com
) 。 您可以在下拉式清單中選取憑證,然後按一下 [檢視>詳細資料] 以查看憑證的詳細資訊。 完成後,按 [下一步]。在 [ 確認] 頁面上,檢閱設定。 您可以複製Windows PowerShell命令,將其他安裝自動化 (特別是憑證指紋值) 。 完成後,按一下 [ 設定]。
在 [ 結果] 頁面上,確認設定成功,然後按一下 [ 關閉]。
若要使用Windows PowerShell來設定 Web 應用程式 Proxy,請遵循下列步驟:
在 Web 應用程式 Proxy 伺服器上執行下列命令,以尋找包含
adfs.contoso.com
的已安裝憑證指紋值:Set-Location Cert:\LocalMachine\My; Get-ChildItem | Format-List FriendlyName,Subject,Thumbprint
執行下列命令,然後輸入 AD FS 伺服器上本機系統管理員帳戶的使用者名稱和密碼。
$ADFSServerCred = Get-Credential
使用下列語法:
Install-WebApplicationProxy -FederationServiceName <FederationServiceName> -FederationServiceTrustCredential $ADFSServerCred -CertificateThumprint <ADFSCertThumbprint>
此範例會使用下列設定來設定 Web 應用程式 Proxy 伺服器:
同盟服務名稱:
adfs.contoso.com
AD FS SSL 憑證指紋:指紋值
5AE82C737900B29C2BAC3AB6D8C44D249EE05609
為 的*.contoso.com
憑證。
Install-WebApplicationProxy -FederationServiceName adfs.contoso.com -FederationServiceTrustCredential $ADFSServerCred -CertificateThumprint 5AE82C737900B29C2BAC3AB6D8C44D249EE05609
步驟 5c:在 Web 應用程式 Proxy 中發佈 Outlook 網頁版 和 EAC 的宣告信賴憑證者信任
若要在 Web 應用程式 Proxy 中發佈信賴憑證者信任,您可以使用遠端存取管理主控台或Windows PowerShell。
若要使用遠端存取管理主控台,請遵循下列步驟:
注意:您需要執行下列步驟兩次:一次用於Outlook 網頁版,另一次用於 EAC。 程式中會描述必要的設定。
在 Web 應用程式 Proxy 伺服器上開啟 [遠端存取管理] 主控台:在 [伺服器管理員] 中,按一下 [工具>遠端存取管理]。
在 [遠端存取管理] 主控台的 [設定]底下,按一下[Web 應用程式 Proxy],然後在 [工作] 窗格中,按一下 [發佈]。
[ 發佈新應用程式精 靈] 隨即開啟。 請在歡迎頁面,按一下[下一步]。
在[預先驗證] 頁面上,確認已選Active Directory 同盟服務 (AD FS) ,然後按 [下一步]。
在 [信賴憑證者] 頁面上,選取您在步驟 4:針對 Outlook 網頁版和 EAC 在 AD FS 中建立信賴憑證者信任和自訂宣告規則中的 AD FS 伺服器上建立的信賴憑證者:
針對Outlook 網頁版:選取 [Outlook 網頁版]。
針對 EAC:選取 [EAC]。
完成後,按 [下一步]。
在 [ 發佈設定] 頁面上,輸入下列資訊:
針對 Outlook 網頁版
名稱:例如。
Outlook on the web
此名稱只會顯示在遠端存取管理主控台中。外部 URL:例如。
https://mail.contoso.com/owa/
外部憑證:選取包含Outlook 網頁版 (外部 URL 主機名稱的已安裝憑證,
mail.contoso.com
例如) 。 您可以在下拉式清單中選取憑證,然後按一下 [檢視>詳細資料] 以查看憑證的詳細資訊。後端伺服器 URL:外部 URL會自動填入此值。 只有在後端伺服器 URL 與外部 URL 不同時,才需要變更它。 例如,
https://server01.contoso.com/owa/
。 請注意,外部 URL 和後端伺服器 URL 中的路徑必須符合 (/owa/
) ,但主機名稱值可能不同 (例如 和mail.contoso.com
server01.contoso.com
) 。
針對 EAC
名稱:例如。
EAC
此名稱只會顯示在遠端存取管理主控台中。外部 URL:EAC 的外部 URL。 例如,https://mail.contoso.com/ecp/。
外部憑證:選取包含 EAC (外部 URL 主機名稱的已安裝憑證,
mail.contoso.com
例如) 。 憑證可能是萬用字元憑證或 SAN 憑證。 您可以在下拉式清單中選取憑證,然後按一下 [檢視>詳細資料] 以查看憑證的詳細資訊。後端伺服器 URL:外部 URL會自動填入此值。 只有在後端伺服器 URL 與外部 URL 不同時,才需要變更它。 例如,
https://server01.contoso.com/ecp/
。 請注意,外部 URL 和後端伺服器 URL 中的路徑必須符合 (/ecp/
) ,但主機名稱值可能不同 (例如 和mail.contoso.com
server01.contoso.com
) 。
完成後,按 [下一步]。
在 [ 確認] 頁面上,檢閱設定。 您可以複製Windows PowerShell命令,將其他安裝自動化 (特別是憑證指紋值) 。 當您完成時,按一下 [ 發佈]。
在 [ 結果] 頁面上,確認應用程式已成功發佈,然後按一下 [ 關閉]。
若要使用Windows PowerShell來發佈信賴憑證者信任,請遵循下列步驟:
在 Web 應用程式 Proxy 伺服器上執行下列命令,以尋找已安裝憑證的指紋,其中包含Outlook 網頁版的主機名稱和 EAC URL (例如,
mail.contoso.com
) :Set-Location Cert:\LocalMachine\My; Get-ChildItem | Format-List FriendlyName,Subject,Thumbprint
使用下列語法:
Add-WebApplicationProxyApplication -ExternalPreAuthentication ADFS -ADFSRelyingPartyName <OotwRelyingParty | EACRelyingParty> -Name "<Outlook on the web | EAC>" -ExternalUrl <OotwURL | EACURL> -ExternalCertificateThumbprint <Thumbprint> -BackendServerUrl <OotwURL | EACURL>
此範例會使用下列設定,在 Web 應用程式 Proxy 中發佈Outlook 網頁版:
- AD FS 信賴憑證者:Outlook 網頁版
- 名稱:Outlook 網頁版
- 外部 URL: https://mail.contoso.com/owa/
-
外部憑證指紋:
*.contoso.com
指紋值5AE82C737900B29C2BAC3AB6D8C44D249EE05609
為 的憑證。 - 後端伺服器 URL: https://mail.contoso.com/owa/
Add-WebApplicationProxyApplication -ExternalPreAuthentication ADFS -ADFSRelyingPartyName "Outlook on the web" -Name "Outlook on the web" -ExternalUrl https://mail.contoso.com/owa/ -ExternalCertificateThumbprint 5AE82C737900B29C2BAC3AB6D8C44D249EE056093 -BackendServerUrl https://mail.contoso.com/owa/
此範例會使用下列設定,在 Web 應用程式 Proxy 中發佈 EAC:
- 名稱:EAC
- 外部 URL: https://external.contoso.com/ecp/
-
外部憑證指紋:
*.contoso.com
指紋值5AE82C737900B29C2BAC3AB6D8C44D249EE05609
為 的憑證。 - 後端伺服器 URL: https://mail.contoso.com/ecp/
Add-WebApplicationProxyApplication -ExternalPreAuthentication ADFS -ADFSRelyingPartyName EAC -Name EAC -ExternalUrl https://external.contoso.com/ecp/ -ExternalCertificateThumbprint 5AE82C737900B29C2BAC3AB6D8C44D249EE05609 -BackendServerUrl https://mail.contoso.com/ecp/
注意:您想要透過 Web 應用程式 Proxy發佈的所有 AD FS 端點都必須啟用 Proxy。 您可以在服務>端點的 AD FS 管理主控台中執行此動作, (確認指定端點) 的 [Proxy已啟用] 為 [是]。
步驟 6:設定 Exchange 組織使用 AD FS 驗證
若要將 Exchange 組織設定為使用 AD FS 驗證,您需要使用 Exchange 管理命令介面。 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell。
執行下列命令,以尋找匯入之 AD FS 權杖簽署憑證的指紋值:
Set-Location Cert:\LocalMachine\Root; Get-ChildItem | Sort-Object Subject
尋找 Subject 值
CN=ADFS Signing - <FederationServiceName>
(例如,CN=ADFS Signing - adfs.contoso.com
) 。您可以在提高許可權的Windows PowerShell視窗中,執行 命令 ,然後執行 命令
Import-Module ADFS
Get-AdfsCertificate -CertificateType Token-Signing
,以確認 AD FS 伺服器上的這個指紋值。使用下列語法:
Set-OrganizationConfig -AdfsIssuer https://<FederationServiceName>/adfs/ls/ -AdfsAudienceUris "<OotwURL>","<EACURL>" -AdfsSignCertificateThumbprint "<Thumbprint>"
此範例使用下列值:
AD FS URL:
https://adfs.contoso.com/adfs/ls/
Outlook 網頁版 URL:
https://mail.contoso.com/owa/
EAC URL:
https://mail.contoso.com/ecp/
AD FS 權杖簽署憑證指紋:
ADFS Signing - adfs.contoso.com
指紋值88970C64278A15D642934DC2961D9CCA5E28DA6B
為 的憑證。
Set-OrganizationConfig -AdfsIssuer https://adfs.contoso.com/adfs/ls/ -AdfsAudienceUris "https://mail.contoso.com/owa/","https://mail.contoso.com/ecp/" -AdfsSignCertificateThumbprint "88970C64278A15D642934DC2961D9CCA5E28DA6B"
注意:在這些案例中不支援 AdfsEncryptCertificateThumbprint 參數。
步驟 7:在Outlook 網頁版和 EAC 虛擬目錄上設定 AD FS 驗證
針對Outlook 網頁版和 EAC 虛擬目錄,您必須停用所有其他驗證方法,將 AD FS 驗證設定為唯一可用的驗證方法。
您必須先設定 EAC 虛擬目錄,才能設定Outlook 網頁版虛擬目錄。
您可能只想要在用戶端用來連線到 Outlook 網頁版 和 EAC 的網際網路對向 Exchange 伺服器上設定 AD FS 驗證。
根據預設,Outlook 網頁版和 EAC 虛擬目錄只會啟用基本和表單驗證。
若要使用 Exchange 管理命令介面將 EAC 或Outlook 網頁版虛擬目錄設定為只接受 AD FS 驗證,請使用下列語法:
Set-EcpVirtualDirectory -Identity <VirtualDirectoryIdentity> -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
此範例會在名為 Mailbox01 的伺服器上的預設網站中設定 EAC 虛擬目錄:
Set-EcpVirtualDirectory -Identity "Mailbox01\ecp (Default Web Site)" -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
此範例會在名為 Mailbox01 的伺服器上的預設月臺中設定Outlook 網頁版虛擬目錄:
Set-OwaVirtualDirectory -Identity "Mailbox01\owa (Default Web Site)" -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
注意:若要在組織中的每部 Exchange 伺服器上設定所有 EAC 和Outlook 網頁版虛擬目錄,請執行下列命令:
Get-EcpVirtualDirectory | Set-EcpVirtualDirectory -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
步驟 8:在 Exchange Server 上重新開機 IIS
在 Exchange 伺服器上開啟 IIS 管理員。 在 Windows Server 2012 或更新版本中執行此動作的簡單方式是按 Windows 鍵 + Q,輸入 inetmgr,然後在結果中選 取 [INTERNET Information Services (IIS) Manager ]。
在 [IIS 管理員] 中,選取伺服器。
在 [ 動作] 窗格中,按一下 [ 重新開機]。
注意:若要在命令列上執行此程式,請在 Exchange Server 上開啟提升許可權的命令提示字元 (選取 [以系統 管理員 身分執行]) ,然後執行下列命令來開啟您開啟的命令提示字元視窗:
net stop w3svc /y
net start w3svc
如何知道這是否正常運作?
若要測試 AD FS 宣告的Outlook 網頁版:
在網頁瀏覽器中,開啟Outlook 網頁版 (例如, https://mail.contoso.com/owa) 。
如果您在網頁瀏覽器中收到憑證錯誤,請繼續前往Outlook 網頁版網站。 您應該重新導向至 AD FS 登入頁面或 AD FS 提示輸入認證。
輸入您的使用者名稱 (網域\使用者) 和密碼,然後按一下 [ 登入]。
Outlook 網頁版會載入視窗中。
若要測試 EAC 的 AD FS 宣告:
在網頁瀏覽器中,開啟 EAC (例如, https://mail.contoso.com/ecp) 。
如果您在網頁瀏覽器中收到憑證錯誤,請繼續前往 EAC 網站。 您應該重新導向至 AD FS 登入頁面或 AD FS 提示輸入認證。
輸入您的使用者名稱 (網域\使用者) 和密碼,然後按一下 [ 登入]。
EAC 會載入視窗中。
其他考量
多重要素驗證
部署和設定宣告型驗證的 AD FS 可讓Outlook 網頁版和 EAC 支援多重要素驗證,例如憑證式驗證、驗證或安全性權杖,以及指紋驗證。 多重要素驗證需要下列三個驗證因素中的兩個:
只有使用者知道 (例如密碼、PIN 或模式) 。
只有使用者 (,例如 ATM 卡、安全性權杖、智慧卡或行動電話) 。
只有使用者才會 (,例如生物特徵辨識特性,例如指紋) 。
例如,傳送至行動電話的密碼和安全性代碼,或 PIN 和指紋。
如需 Windows Server 2012 R2 中多重要素驗證的詳細資料,請參閱概觀:透過其他多重要素驗證管理機密應用程式的風險和逐步解說指南:透過其他多重要素驗證管理機密應用程式的風險。
在 AD FS 伺服器上,同盟服務會作為安全性權杖服務,並提供與宣告搭配使用的安全性權杖。 同盟服務會根據現有的認證來發出權杖。 帳戶存放區驗證使用者的認證之後,會根據信任原則規則來產生使用者的宣告,並將此宣告新增至向用戶端簽發的安全性權杖。 如需宣告的詳細資訊,請參閱了解宣告。
與其他版本的 Exchange 共存
當您在組織中部署多個版本的 Exchange 時,您可以針對Outlook 網頁版和 EAC 使用 AD FS 驗證。 只有當所有用戶端都透過 Exchange 伺服器連線, 而且 所有伺服器都已設定 AD FS 驗證時,才支援此案例。
在 Exchange 2016 組織中,在 Exchange 2010 伺服器上具有信箱的使用者可以透過針對 AD FS 驗證設定的 Exchange 2016 伺服器存取其信箱。 Exchange 2016 伺服器的初始用戶端連線會使用 AD FS 驗證。 不過,Exchange 2010 的 Proxy 連線會使用 Kerberos。 沒有支援的方法可設定 Exchange 2010 進行直接 AD FS 驗證。