為 Office 365 設定 ADFS:逐步指南
Office 365 是一套以訂閱制提供的 Enterprise 級生產力應用程式網路套件。只要支付訂閱方案費用,即可立即使用 Office 365。 但您隨時可以設定額外的特點。對於同時使用 Microsoft Office 365 和 Active Directory 網域服務 (AD DS) 的企業而言,其中一項可能相當實用的特點就是適用於 Office 365 的 Active Directory 聯邦服務 (ADFS)。ADFS 在驗證與安全性方面提供諸多優勢,例如單一登入 (SSO)。
透過 Microsoft Office 365 雲端資料備份,為您的系統增添額外的安全防護層。立即試用 NAKIVO Backup & Replication這是一套全方位解決方案,能為您的虛擬、實體、雲端及 SaaS 基礎架構提供全面防護,同時為您節省時間、精力與金錢。
ADFS 的用途是什麼?
Active Directory 聯邦服務 (ADFS) 是微軟提供的一種單一登入 (SSO) 及基於網頁的驗證解決方案。透過 SSO,使用者可以使用一組憑證(使用者名稱和密碼)來存取多個相關但獨立的應用程式或網站。ADFS 允許使用者存取不支援標準 Active Directory Windows 驗證的應用程式。 ADFS 是 Windows Server 作業系統的元件,例如 Windows Server 2016 提供 ADFS v.4.0(ADFS 2016 即為 ADFS 4.0)。使用者可透過 SSO 使用一組憑證存取與 Active Directory 整合的服務和應用程式,同時也能存取原生 Windows 服務。ADFS 可用作雲端身分識別的替代方案,並有助於解決與密碼管理相關的問題。 在為 Office 365 配置 ADFS 後,使用者將能夠使用其 Windows 網域使用者名稱和密碼來存取 Office 365 應用程式。
此外,ADFS 採用基於聲明 (claims-based) 的存取控制授權模型,透過聯邦身分識別來保護應用程式。聯邦身分識別管理讓使用者能夠使用相同的識別資料,在組織內的多個網路/服務中取得存取權限。
ADFS 是如何與 Office 365 協同運作的?
首先,使用者應前往 ADFS 提供的網址:
。接著,系統會透過組織的 Active Directory 對使用者進行驗證:
。驗證完成後,ADFS 會向使用者提供授權存取權限:
。使用者的網頁瀏覽器會將聲明轉發至目標應用程式(例如 Office 365),該應用程式隨後會批准或拒絕存取權限:
。搭配 Windows Server 2016 的 ADFS 亦支援與 Azure MFA 的單一登入 (SSO),並允許您使用 Microsoft Passport 登入。
Office 365 ADFS 設定需求
若要設定 Office 365 ADFS,您的環境中需具備以下項目:
- Active Directory 網域控制器(Windows Server 2016 或更新版本)
- 加入同一網域的 Active Directory 聯邦伺服器
- DNS 已設定為將網域名稱解析為 IP 位址
- Active Directory 網域中用於 ADFS 的服務帳戶
- 有效的 SSL 憑證
- 一款支援 SSL 憑證的網頁瀏覽器
- 網頁瀏覽器已啟用 JavaScript 和 Cookie
- 已啟用用於傳入連線的 TCP 443 及 49443 埠
如何為 Office 365 設定 ADFS
讓我們來探討如何在 Windows Server 2016 上設定 ADFS。
Domain Controller. 首先,您必須擁有一個 Active Directory 網域控制器 (ADDC)。由於本文旨在說明如何為 Office 365 設定 ADFS,因此我們將不深入探討網域控制器的部署。您可參閱以下內容,了解安裝網域控制器的原則: 《VMware 叢集完整指南》. 在此範例中,我們有一台執行 Windows Server 2016 的網域控制器,其完整名稱是 win2016dc@officedomain.net (主機名稱 – win2016dc, 網域名稱 – officedomain.net).
A domain user. 在 ADFS 的網域中建立一個具有管理權限的使用者。在此範例中,該 adfssrv 在繼續設定 ADFS 之前,請先建立使用者。
新增 ADFS 角色
現在您需要在 Windows Server 伺服器上安裝 ADFS 角色。在這篇部落格文章中,我們將透過圖形使用者介面 (GUI) 在執行 Windows Server 2016 的網域控制器上安裝此角色,並透過大量螢幕截圖來示範操作流程。不過,如果您偏好命令列介面,也可以選擇使用 PowerShell 來執行安裝。
在"伺服器管理員"(Windows Server 2016 啟動時預設開啟的視窗)中,按一下 Add roles and features. 此時將開啟"新增角色與特點精靈"視窗,您必須在其中進行幾項設定。
Before You Begin. 這是個入門步驟,您可以跳過。
Installation Type. 選擇 基於角色的安裝或基於特點的安裝. 點擊 Next 請依序完成精靈的每個步驟,以繼續。
Server Selection. 從伺服器池中選取一台伺服器: WIN2016DC.officedomain.net (在我們的情況下,此選項預設為選取狀態,因為我們只有一台伺服器)。
Server Roles. 勾選旁邊的核取方塊 Active Directory 聯邦服務. 
Features. 已選取安裝 Active Directory 聯邦服務所需的特點,例如 .NET Framework。
AD FS. 只需點擊 下一頁 在閱讀完 Active Directory 聯邦服務的說明後,請執行此步驟。
Confirmation. 如有需求,您可以勾選此核取方塊以自動重新啟動目標伺服器,然後按下 Yes 以確認。最後點擊 Install 設定 Office 365 的 ADFS。
Results. 請等待 ADFS 2016 的安裝程序完成。
完成 ADFS 安裝後,伺服器必須重新開機。
安裝 ADCS 以建立憑證
在繼續設定 Office 365 的 ADFS 之前,您應先建立憑證。為此,必須安裝 Active Directory 憑證服務。在"伺服器管理員"中,請按一下 Add roles and features. 如前一節所述,該 "新增角色與特點精靈" 開啟。
Installation Type. 選取 基於角色的安裝或基於特點的安裝. 點擊 Next 請依序完成精靈的每個步驟以繼續(就像您先前安裝 ADFS 時所做的那樣)。
Server Selection. 從伺服器池中選取一台伺服器: WIN2016DC.officedomain.net (如 ADFS 安裝說明所述)。
Server Roles. 勾選旁邊的核取方塊 Active Directory 憑證服務. 相關的角色和特點(例如 IIS(網際網路資訊服務))會自動選取。
Features. 在此步驟 .NET Framework 的特點 必須選取(這些特點預設已選取,作為相關特點)。
AD CS. 此步驟無需進行任何設定。您可以閱讀 Active Directory 憑證服務的說明,然後繼續。
Role Services. 勾選旁邊的核取方塊 Certificate Authority 以及 Certification Authority Web Enrollment 服務。
Confirmation. 檢查您的設定,若需求,請勾選"自動重新啟動目標伺服器"的核取方塊,然後按下 Install 開始安裝程序。
ADCS 設定
現在,您應先執行 Active Directory 憑證服務的部署後設定,才能繼續設定 Office 365 的 ADFS。在"伺服器管理員"中,按一下旗幟圖示旁的黃色三角形。在開啟的選單中,按一下 Configure Active Directory Certificates 在這台機器上。
Credentials. 請指定憑證以設定角色服務。在我們的情況下, OFFICEDOMAIN 管理員 是用來安裝所選角色服務的帳戶。按下 Next 請依序完成精靈的每個步驟,以繼續。
Role Services. 選擇 憑證授權機構 以及 憑證授權機構線上註冊,請勾選相應的核取方塊。
Setup Type. 選取 Enterprise CA 因為在此使用情境下使用了 Active Directory 網域服務。
CA Type. 指定憑證授權機構 (CA) 的類型。選擇 Root CA 這是公鑰基礎架構(PKI)層級結構中的第一層。
Private Key. 若要指定私密金鑰的類型,請選取 Create a new private key.
Cryptography. 指定 CA 的加密選項。在此範例中, RSA#Microsoft 軟體金鑰儲存提供者 選取的密鑰長度為 2048. SHA256 選用了作為雜湊演算法。
CA Name. 請指定憑證授權單位 (CA) 的名稱。此範例中使用以下參數。
此憑證授權單位的通用名稱: officedomain-WIN2016DC-CA
區別名稱後綴: DC=公司網域,DC=網路
區別名稱預覽: CN=officedomain-WIN2016DC-CA,DC=officedomain,DC=net
Validity Period. 請指定為此憑證授權單位 (CA) 所產生之憑證的有效期限,例如 5 年。
Certificate Database. 指定資料庫位置。您可以保留預設值。
憑證資料庫位置: C:Windowssystem32CertLog
憑證資料庫日誌位置: C:Windowssystem32CertLog
Confirmation. 請檢查您的 Active Directory 憑證服務設定,若一切正常,請按下 Configure.
如果你看到 Configuration succeeded 若出現此訊息,表示一切正常,您可以關閉視窗。
編輯證書範本
若要編輯憑證範本,請按下 Win+R 並正在運行 certsrv.msc
在"憑證授權單位"的開啟視窗中,按右鍵 Certificate Templates 然後在快顯選單中點選 Manage.
在開啟的"憑證範本主控台"中,按右鍵 Web Server 然後在快顯選單中點選 Duplicate Template.
該 新範本的屬性 視窗開啟。在 General 按下 Tab 鍵,輸入範本顯示名稱和範本名稱。我們正在為 Office 365 設定 ADFS,因此,範本名稱是 Office 365 ADFS 在此範例中。您也可以設定憑證的有效期限。
在 安全 選取標籤 Authenticated users 並在"已驗證使用者"的權限設定中勾選該核取方塊 允許 Enroll (請參閱下方的螢幕截圖)。
現在在"憑證授權單位"視窗(certsrv)中,請按一下 Action > New > Certificate Template to Issue.
在 啟用憑證範本 在視窗中,選取您先前建立的範本(Office 365 ADFS (在此情況下)並按下 OK.
現在,您的 Office 365 ADFS 範本已顯示在 證書範本 目錄 憑證授權機構 清單。
建立新憑證
前往 Start > Run 並使用以下指令開啟"憑證管理員":
certlm
在 certlm 在彈出的視窗中,前往 Personal > Certificates,然後在視窗右側的空白處按右鍵。在快顯功能表中,選取 All Tasks > Request New Certificate.
Before You begin. 此步驟無需進行任何設定。請按一下 Next 繼續。
Select Certificate Enrollment Policy. 此步驟可直接使用預設設定。
Request Certificates. 請選擇您的 Office 365 ADFS 勾選核取方塊以選取憑證範本,然後按一下 Details 展開設定,然後點擊 Properties.
"憑證內容"視窗隨即開啟。在 Subject 標籤頁中,找到 Subject name 該區段,並在下拉式選單中選取 Common name 作為類型。請輸入安裝了 ADFS 的 Windows Server 的完全合格網域名稱 (FQDN),例如: win2016dc.officedomain.net (請參閱左側的螢幕截圖)。
同樣地,在 Alternative name 在該區段中,新增三個數值。輸入: DNS.
win2016dc.officedomain.net
enterpriseregistration.officedomain.net
certauth.officedomain.net
註 憑證必須支援 EKU 伺服器驗證,並能匯出私密金鑰。叢集中的所有伺服器都必須使用同一張憑證。在叢集中設定第一台 ADFS 伺服器後,必須將憑證匯出至另一台伺服器。您無法使用具有不同拇指印的憑證。
您可以使用 Web 伺服器的憑證範本或其他憑證來建立自訂憑證。主要條件是 EKU 必須正確。另一項重點是主體名稱和主體替代名稱的值必須正確。
企業註冊。[domain-name] 此功能用於讓使用者能透過 Workplace Join 進行註冊,並提供機制以實作針對透過 ADFS 進行驗證設定的 Web 應用程式的條件存取。Office 365 的 ADFS 設定亦可採用此原則。
certauth.[domain-name] 允許使用智慧卡進行驗證,包括虛擬智慧卡。
在 Private Key 標籤頁中,選取 Make private key exportable 核取方塊。
次點擊 OK 以儲存設定。
註冊憑證所需的所有需求均已設定完畢。請點擊 Enroll 繼續。
如果狀態是 Succeeded 在 憑證安裝結果 在精靈的此步驟中,請按一下 Finish 以關閉視窗。
匯出用於設定 Office 365 ADFS 的憑證
您應將憑證匯出至檔案,以便在當前伺服器以及 ADFS 群集中的其他 Windows 伺服器上使用。
執行 certlm 如果您還沒有這樣做,請前往
Personal > Certificates,請選擇您的憑證。在本範例中,所選的憑證是 officedomain-WIN2016DC-CA. 右鍵點擊該憑證,並在快顯功能表中選取 All Tasks > Export.
"憑證匯出精靈"隨即開啟。
Welcome to the Certificate Export Wizard. 這是用於引導的精靈的第一步。無需進行任何設定,您可以直接點擊 Next 繼續。
Export Private Key. 選擇 Yes, export the private key.
Export File Format. 選取 個人資訊交換 – PKCS #12 (.PFX) 作為檔案格式。接著勾選以下核取方塊:
- 若可行,請將所有憑證納入憑證路徑中
- 匯出所有延伸屬性
- 啟用憑證隱私功能
Security. 選取 Password 勾選方塊,輸入您的密碼並再次輸入密碼。
File to Export. 點擊 Browse 並選擇輸出憑證的儲存位置及檔案名稱。在此範例中,要輸出的檔案名稱是 C:tempOffice365adfs.pfx
Completing the Certificate Export Wizard. 現在一切都已準備就緒,可以進行匯出。點擊 Finish 以匯出憑證。匯出已成功。請按 OK 以關閉視窗。
為 Office 365 設定 ADFS
安裝 ADFS 角色並建立/匯出憑證後,即可繼續進行 Office 365 ADFS 的設定。
開啟"伺服器管理員",然後按一下帶有黃色三角形的旗幟圖示。在開啟的選單中,按一下 Configure the federation service on this server 執行部署後的設定。
"Active Directory 聯邦服務設定精靈"隨即開啟。
Welcome. 在精靈的第一步中,請選取以下選項: 在聯邦伺服器群集內建立第一個聯邦伺服器. 點擊 Next 繼續。
Connect to AD DS. 選取具有 AD 網域管理員權限的帳戶(OFFICEDOMAIN 管理員 (在此情況下)。您可以點擊 Change 按一下按鈕並選擇另一位使用者。
Specify Service Properties. SSL 憑證: win2016dc.officedomain.net (在下拉式選單中選取您先前建立的憑證。或者,點擊 Import 按鈕並瀏覽已匯出的憑證檔案。)
聯邦服務名稱: certauth.officedomain.net
聯邦服務顯示名稱: adfs.officedomain.net (此名稱將顯示給使用者進行登入)。
Specify Service Account. 指定一個網域使用者帳戶或群組。在本範例中,已選取第二個選項: Use an existing domain user account or group. 點擊 Select 選擇具有管理權限的帳戶(一個特殊的 adfssrv (此帳號是在本教學開始時建立的)。
Specify Database. 在此步驟中,您必須指定一個資料庫來儲存 Active Directory 聯邦服務 (ADFS) 的配置資料。對於小型組織和 ADFS 環境,可以使用內部資料庫。對於大型 ADFS 部署,建議使用 MS SQL Server 資料庫。在此範例中,我們選擇第一個選項:
使用 Windows 內建資料庫在此伺服器上建立資料庫.
Review Options. 檢視您的選項。您可以點擊 View script 並儲存設定腳本。若您想部署多個 Active Directory 聯邦伺服器,此操作可能會有所幫助。
Prerequisite Checks系統將檢查設定參數。若一切正常,您將看到以下訊息:"所有先決條件檢查均已成功通過。"請點擊 Configure 開始安裝。請等待 Office 365 ADFS 的設定完成。
Results. 若安裝成功,您將看到以下訊息: 此伺服器已成功設定. 您可以關閉此精靈。
以系統管理員身分執行 PowerShell,並執行以下指令:
Set-AdfsProperties -EnableIdpInitiatedSignonPage $true
可以檢查 EnableIdpInitiatedSignonPage 參數與 Get-AdfsProperties 指令。
您可透過以下任一連結,在網頁瀏覽器中測試 ADFS 登入頁面:
https://win2016dc.officedomain.net/adfs/ls/IdpInitiatedSignon.aspx
https://win2016dc.officedomain.net/adfs/ls/idpinitiatedsignon.htm
變更網域名稱 (win2016dc.officedomain.net) 根據您的設定,在這些連結中進行調整。之後您可以自訂該網頁,例如,您可以套用貴公司的企業風格。
請將您的網站(上述連結)新增至"群組原則"中的"受信任的網站"清單,以便網域使用者無需手動輸入密碼。
使用 Azure AD Connect
Azure AD Connect 是一項 Microsoft 工具,可讓您將本地端的 Active Directory 基礎架構與雲端中的 Azure Active Directory 進行連線。混合環境中的驗證與授權亦稱為"混合身分識別"。安裝 Azure AD Connect 時,系統會一併安裝可實現單一登入 (SSO) 及 AD 同步功能的元件。
請透過以下連結下載 Azure AD Connect:
https://www.microsoft.com/en-us/download/details.aspx?id=47594
您可以下載相關工具,以便透過 PowerShell 連線至 Azure Active 租戶。
Microsoft Online Services 登入助理(IT 專業人員版)正式版:
https://www.microsoft.com/en-us/download/details.aspx?id=41950
Windows PowerShell 的 Windows Azure Active Directory 模組:
https://www.powershellgallery.com/packages/MSOnline/1.1.166.0
安裝 Azure AD Connect 並執行 Azure AD Connect 精靈。請進行以下設定:
Connect to Azure AD. 請輸入您的 Azure AD 憑證。
Connect to AD DS. 輸入 Active Directory 網域服務的 Enterprise 管理員憑證。(例如, officedomain.net 管理員)
Configure. 您可以勾選此核取方塊: 配置完成後啟動同步程序.
次點擊 Install.
完成設定後,請按下 Exit. 現在您可以在本地 Active Directory 使用者詳細資料中查看 Azure Portal > Azure Active Directory.
接著,您即可在網域中的其他電腦上安裝 Office 365 ProPlus。安裝流程詳見 如何在遠端桌面服務伺服器上安裝 Office 365 ProPlus. 在 XML 設定中,請使用網域使用者可存取的共用資料夾。一旦安裝完畢 Office 365 並完成 Office 365 ADFS 設定,您即可透過 Windows 網域憑證(經由您的 ADFS 伺服器),使用單一登入密碼登入 Office 365 帳戶。
結論
這篇部落格文章將介紹 Microsoft Office 365 ADFS 的設定,讓您的組織使用者能透過聯邦身分識別管理(Federated Identity Management)使用單一登入(SSO)進行驗證。其核心概念是在組織的 Active Directory 網域中建立使用者帳戶一次,並將 Azure 雲端與本地端 Active Directory 進行同步,藉此為 Office 365 應用程式提供 SSO 功能。 配置過程中最重要的步驟之一,是為 Active Directory 聯邦服務 (ADFS) 生成憑證。在為 Office 365 配置 ADFS 之後,您必須安裝 Azure AD Connect,以同步本地端與雲端環境,並確保混合身分識別的運作。


















































