教學課程:為標頭型單一登錄設定 F5 BIG-IP 存取原則管理員
瞭解如何使用 F5 BIG-IP 進階設定,使用單一登錄 (SSO) 來實作安全混合式存取 (SHA) 至標頭型應用程式。 BIG-IP 已發佈的應用程式和 Microsoft Entra 設定優點:
- 透過 Microsoft Entra 預先驗證和條件式存取改善 零信任 治理
- 請參閱什麼是條件式存取?
- 請參閱 零信任 安全性
- Microsoft Entra ID 與 BIG-IP 已發佈服務之間的完整 SSO
- 來自一個控制平面的受控識別和存取
深入了解:
案例描述
在此案例中,有使用 HTTP 授權標頭來控制受保護內容的存取權的舊版應用程式。 在理想情況下,Microsoft Entra ID 會管理應用程式存取。 不過,舊版缺少新式驗證通訊協定。 現代化需要投入時間和時間,同時引進停機時間成本和風險。 相反地,在公用因特網與內部應用程式之間部署 BIG-IP,以閘道存取應用程式。
應用程式前面的 BIG-IP 可讓服務與 Microsoft Entra 預先驗證和標頭型 SSO 重疊。 組態可改善應用程式安全性狀態。
案例架構
此案例的安全混合式存取解決方案是由下列項目所組成:
- 應用程式 - 要受 Microsoft Entra SHA 保護的 BIG-IP 已發佈服務
- Microsoft Entra ID - 安全性聲明標記語言 (SAML) 識別提供者 (IdP) 會驗證使用者認證、條件式存取和 SSO 到 BIG-IP
- 透過 SSO,Microsoft Entra ID 會提供 BIG-IP 所需的會話屬性,包括使用者標識碼
- BIG-IP - 反向 Proxy 和 SAML 服務提供者 (SP) 至應用程式,將驗證委派給 SAML IdP,再將標頭型 SSO 委派給後端應用程式
下圖說明使用者流程,其中包含 Microsoft Entra ID、BIG-IP、APM 和應用程式。
- 用戶連線到應用程式 SAML SP 端點 (BIG-IP)。
- BIG-IP APM 存取原則會將使用者重新導向至 Microsoft Entra ID (SAML IdP)。
- Microsoft Entra 會預先驗證使用者,並套用 ConditionalAccess 原則。
- 使用者會重新導向至 BIG-IP(SAML SP),而 SSO 會使用發行的 SAML 令牌進行。
- BIG-IP 會將 Microsoft Entra 屬性插入為應用程式要求中的標頭。
- 應用程式會授權要求並傳回承載。
必要條件
針對您需要的案例:
- Azure 訂用帳戶
- 如果您沒有帳戶,請取得 Azure 免費帳戶
- 下列其中一個角色:Global 管理員 istrator、Cloud Application 管理員 istrator 或 Application 管理員 istrator
- BIG-IP 或在 Azure 中部署 BIG-IP 虛擬版本 (VE)
- 下列任何 F5 BIG-IP 授權:
- F5 BIG-IP® 最佳套件組合
- F5 BIG-IP 存取原則管理員 ™ (APM) 獨立授權
- F5 BIG-IP 存取原則管理員 ™ (APM) BIG-IP 本機 流量管理員 (LTM) 上的 BIG-IP F5 BIG-IP® 本機授權™附加元件授權
- 90 天 BIG-IP 完整功能試用版。 請參閱免費試用。
- 從內部部署目錄同步至 Microsoft Entra 識別碼的使用者身分識別
- 透過 HTTPS 發佈服務的 SSL 憑證,或在測試時使用預設憑證
- 標頭型應用程式或用於測試的 IIS 標頭應用程式
BIG-IP 組態方法
下列指示是進階組態方法,這是實作SHA的彈性方式。 手動建立 BIG-IP 組態物件。 針對引導式組態範本中未包含的案例,請使用此方法。
注意
以您環境中的字串或值取代範例字串或值。
從 Microsoft Entra 資源庫新增 F5 BIG-IP
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
若要實作 SHA,第一個步驟是設定 BIG-IP APM 與 Microsoft Entra ID 之間的 SAML 同盟信任。 信任會建立 BIG-IP 的整合,以在授與已發行服務的存取權之前,將預先驗證和條件式存取權移交給 Microsoft Entra ID。
深入了解: 什麼是條件式存取?
以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
流覽至 [身分>識別應用程式>企業應用程式>] [所有應用程式]。
在頂端功能區上,選取 [+ 新增應用程式]。
在資源庫中,搜尋 F5。
選取 F5 BIG-IP APM Microsoft Entra ID 整合。
輸入應用程式 名稱。
選取 [ 新增/建立]。
名稱會反映服務。
設定 Microsoft Entra SSO
新的 F5 應用程式屬性隨即出現
選取 [管理>單一登入]
在 [選取單一登入方法] 頁面上,選取 [SAML]。
略過提示以儲存單一登錄設定。
選取 [ 否],稍後我會儲存。
在 [使用 SAML 設定單一登錄] 上,針對 [基本 SAML 組態],選取畫筆圖示。
將 標識碼 URL 取代為 BIG-IP 已發佈的服務 URL。 例如,
https://mytravel.contoso.com
重複回復 URL 並包含 APM SAML 端點路徑。 例如,
https://mytravel.contoso.com/saml/sp/profile/post/acs
注意
在此設定中,SAML 流程會在IdP模式中運作:Microsoft Entra ID 會在重新導向至應用程式的 BIG-IP 服務端點之前,發出 SAML 判斷提示給使用者。 BIG-IP APM 支援 IdP 和 SP 模式。
針對 [註銷 URI ],輸入服務主機標頭前面加上 BIG-IP APM 單一註銷 (SLO) 端點。 SLO URI 可確保使用者 BIG-IP APM 會話在 Microsoft Entra 註銷之後結束。例如,
https://mytravel.contoso.com/saml/sp/profile/redirect/slr
注意
從流量管理作業系統 (TMOS) v16 開始,SAML SLO 端點已變更為
/saml/sp/profile/redirect/slo
。選取 [儲存]。
結束 SAML 組態。
略過 SSO 測試提示。
若要編輯 使用者屬性和宣告 > + 新增宣告,請選取 畫筆 圖示。
針對 [ 名稱] 選取 [Employeeid]。
針對 [ 來源屬性 ] 選取 user.employeeid。
選取儲存
- 選取 [+ 新增群組宣告]
- 選取指派給應用程式>來源屬性>sAMAccountName的群組。
- 選取 [ 儲存 組態]。
- 關閉檢視。
- 觀察用戶屬性和宣告區段屬性。 Microsoft Entra ID 會針對 BIG-IP APM 驗證和 SSO 對後端應用程式發出用戶屬性。
注意
新增 BIG-IP 已發佈應用程式預期為標頭的其他宣告。 如果宣告位於 Microsoft Entra ID 中,則會發出更多定義的宣告。 在發出宣告之前,先定義 Microsoft Entra ID 中的目錄成員資格和用戶物件。 請參閱使用 Microsoft Entra ID 設定應用程式的群組宣告。
- 在 [ SAML 簽署憑證 ] 區段中,選取 [ 下載]。
- 同盟元數據 XML 檔案會儲存在您的電腦上。
Microsoft Entra ID 所建立的 SAML 簽署憑證的存續期為三年。
Microsoft Entra 授權
根據預設,Microsoft Entra ID 會將令牌發行給已授與應用程式存取權的使用者。
- 在應用程式的組態檢視中,選取 [ 使用者和群組]。
- 選取 [+ 新增使用者],然後在 [新增指派] 中,選取 [使用者和群組]。
- 在 [ 使用者和群組] 對話框中,新增授權存取標頭型應用程式的使用者群組。
- 選取選取。
- 選取指派。
Microsoft Entra SAML 同盟信任已完成。 接下來,設定 BIG-IP APM 發佈 Web 應用程式,並設定屬性以完成 SAML 預先驗證信任。
進階設定
使用下列各節來設定 SAML、標頭 SSO、存取設定檔等等。
SAML 組態
若要將已發佈的應用程式與 Microsoft Entra ID 同盟,請建立 BIG-IP SAML 服務提供者和對應的 SAML IdP 物件。
選取 [存取>同盟>SAML 服務提供者>本機 SP 服務>建立]。
輸入名稱。
輸入 Microsoft Entra ID 中定義的實體識別碼。
針對 [SP 名稱] 設定,如果實體識別碼不符合已發佈 URL 的主機名,請進行選取;如果它不是以一般主機名為基礎的 URL 格式,則進行選取。 如果實體識別碼為
urn:mytravel:contosoonline
,請提供外部配置和應用程式主機名。向下捲動以選取新的 SAML SP 物件。
選取 [系結/取消系結 IdP 連線 ors]。
選取 [建立新的 IdP 連線 or]。
從下拉式清單中,選取 [從元數據]。
流覽至您下載的同盟元數據 XML 檔案。
輸入 外部 SAML IdP 之 APM 物件的識別提供者名稱 。 例如,
MyTravel_EntraID
- 選取 [ 新增數據列]。
- 選取新的 SAML IdP 連線 or。
- 選取更新。
- 選取 [確定]。
標頭 SSO 組態
建立 APM SSO 物件。
選取 [存取>配置文件/>原則個別要求原則>建立]。
輸入名稱。
至少新增一個 接受的語言。
選取 [已完成]。
針對新的個別要求原則,選取 [ 編輯]。
視覺效果原則編輯器隨即啟動。
在後援下,選取+符號。
在 [一般用途] 索引標籤上>,選取 [HTTP 標頭新增專案]。
選取 [ 新增專案]。
建立三個 HTTP 和標頭修改專案。
針對 [ 標頭名稱],輸入 upn。
針對 [標頭值],輸入 %{session.saml.last.identity}。
針對 [ 標頭名稱],輸入 employeeid。
針對 [標頭值],輸入 %{session.saml.last.attr.name.employeeid}。
針對 [ 標頭名稱],輸入 group_authz。
針對 [ 標頭值],輸入 %{session.saml.last.attr.name。
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
}。
注意
大括弧中的 APM 會話變數會區分大小寫。 建議您以小寫定義屬性。
- 選取 [儲存]。
- 關閉可視化原則編輯器。
存取配置檔組態
存取配置檔會系結許多管理 BIG-IP 虛擬伺服器存取權的 APM 元素,包括存取原則、SSO 組態和 UI 設定。
選取 [存取>配置檔/原則>存取配置檔][個別會話原則][>建立]。
針對 [ 名稱],輸入 MyTravel。
針對 [ 配置文件類型],選取 [ 全部]。
針對 [接受的語言],選取至少一種語言。
選取 [ 已完成]。
針對您所建立的每個會話配置檔,選取 [ 編輯]。
視覺效果原則編輯器隨即啟動。
在後援下,選取 + 符號。
選取 [驗證>SAML 驗證>新增專案]。
針對 SAML 驗證 SP 組態,從 [AAA 伺服器] 下拉式清單中,選取您建立的 SAML SP 物件。
選取 [儲存]。
屬性對應
下列指示是選擇性的。 使用LogonID_Mapping設定時,BIG-IP 使用中的會話清單具有已登入的用戶主體名稱 (UPN),而不是會話號碼。 分析記錄或疑難解答時,請使用此數據。
針對 [SAML 驗證 成功 ] 分支,選取 + 符號。
在彈出視窗中,選取 [指派>變數指派>新增專案]。
輸入名稱
在 [變數指派] 區段中,選取 [新增項目>變更]。 例如,LogonID_Mapping。
針對 [自定義變數],設定 session.saml.last.identity。
針對 [會話變數],設定 session.logon.last.username。
選取 [已完成]。
選取儲存。
在 [存取原則 成功 ] 分支上,選取 [ 拒絕 終端機]。
選取允許。
選取 [儲存]。
選取 [ 套用存取原則]。
關閉可視化原則編輯器。
後端集區組態
若要讓 BIG-IP 正確轉送用戶端流量,請建立代表裝載應用程式的後端伺服器的 APM 節點物件。 將節點放在 APM 集區中。
選取 [ 本機流量 > 集區 > ] 清單 > [建立]。
針對伺服器集區對象,輸入 [名稱]。 例如,MyApps_VMs。
新增集區成員物件。
針對 [ 節點名稱],輸入裝載後端Web應用程式之伺服器的名稱。
針對 [ 位址],輸入裝載應用程式之伺服器的IP位址。
針對 [服務埠 ] 輸入應用程式正在接聽的 HTTP/S 連接埠。
選取 [新增]。
注意
若要深入瞭解,請移至 K13397 的 my.f5.com :BIG-IP DNS 系統 HTTP 健康情況監視器要求格式的概觀。
虛擬伺服器組態
虛擬伺服器是 BIG-IP 數據平面物件,由虛擬 IP 位址代表,接聽客戶端對應用程式的要求。 接收的流量會以與虛擬伺服器相關聯的 APM 存取配置檔進行處理和評估。 流量會根據原則進行導向。
選取 [本機流量>虛擬伺服器>] [虛擬伺服器清單>建立]。
輸入虛擬伺服器 名稱。
針對 [ 目的地位址/遮罩],選取 [ 主機]
輸入未使用的IP IPv4或IPv6,以指派給BIG-IP以接收用戶端流量。
針對 [服務埠],選取 [埠]、[443] 和 [HTTPS]。
針對 [HTTP 配置檔][用戶端],選取 [HTTP]。
針對 [SSL 配置檔] [用戶端],選取您建立的用戶端 SSL 配置檔,或保留用於測試的預設值。
針對 [ 來源地址翻譯],選取 [ 自動對應]。
針對 [ 存取原則],選取稍早建立的 存取配置檔 。 此動作會將 Microsoft Entra SAML 預先驗證配置檔和標頭 SSO 原則系結至虛擬伺服器。
針對 [ 個別要求原則],選取 [SSO_Headers]。
- 針對 [ 預設集區],選取您建立的後端集區物件。
- 選取 [已完成]。
工作階段管理
使用 BIG-IP 工作階段管理設定來定義使用者工作階段終止或接續的條件。 使用存取原則>存取配置檔建立原則。 從清單中選取應用程式。
關於 SLO 功能,Microsoft Entra ID 中的 SLO URI 可確保從 MyApps 入口網站起始的 IdP 起始註銷會終止用戶端與 BIG-IP APM 之間的會話。 匯入的應用程式同盟metadata.xml為SP起始的註銷提供APM與 Microsoft Entra SAML 註銷端點。因此,讓 APM 知道使用者何時註銷。
如果沒有 BIG-IP 入口網站,使用者就無法指示 APM 註銷。如果使用者註銷應用程式,BIG-IP 就會忘記動作。 應用程式會話可以透過 SSO 恢復。 因此,SP 起始的註銷需要仔細考慮。
若要確保會話安全地終止,請將 SLO 函式新增至您的應用程式 [註銷 ] 按鈕。 讓它將用戶端重新導向至 Microsoft Entra SAML 註銷端點。 針對租使用者的 SAML 註銷端點,請移至 [應用程式註冊>端點]。
如果您無法變更應用程式,請啟用 BIG-IP 以接聽應用程式註銷呼叫並觸發 SLO。 若要深入了解:
- 移至 K42052145的 support.f5.com :根據 URI 參考的檔案名設定自動工作階段終止 (註銷)
- 移至 K12056 的 my.f5.com :註銷 URI Include 選項概觀
部署
- 選取 [ 部署 ] 來認可設定。
- 確認應用程式出現在您的租使用者中。
- 應用程式是透過 SHA 發行和存取,其 URL 或 Microsoft 入口網站。
Test
以使用者身分執行下列測試。
選取應用程式外部 URL,或在 MyApps 入口網站中選取應用程式圖示。
向 Microsoft Entra 識別碼進行驗證。
重新導向至應用程式的 BIG-IP 虛擬伺服器,並使用 SSO 登入。
插入的標頭輸出會由標頭型應用程式顯示。
為了提高安全性,請封鎖對應用程式的直接存取,並強制執行透過 BIG-IP 的路徑。
疑難排解
使用下列指引進行疑難解答。
記錄詳細資訊
BIG-IP 記錄有有助於隔離驗證和 SSO 問題的資訊。 增加記錄詳細資訊層級:
- 移至存取原則>概觀>事件記錄檔。
- 選取設定。
- 選取已發佈應用程式的數據列。
- 選取 [編輯>存取系統記錄]。
- 從 SSO 清單中,選取 [ 偵錯]。
- 選取 [確定]。
- 重現問題。
- 檢閱記錄。
- 完成後,請還原設定。
BIG-IP 錯誤訊息
如果重新導向之後出現 BIG-IP 錯誤,問題可能與從 Microsoft Entra ID 到 BIG-IP 的 SSO 有關。
- 流覽至存取原則>概觀。
- 選取 [ 存取報表]。
- 執行過去一小時的報表。
- 檢閱記錄以取得線索。
- 針對您的工作階段,選取 [ 檢視會話變數] 連結。
- 確認 APM 收到來自 Microsoft Entra ID 的預期宣告。
沒有 BIG-IP 錯誤訊息
如果沒有出現 BIG-IP 錯誤訊息,則問題可能與從 BIG-IP 到後端應用程式的 SSO 更相關。
- 流覽至存取原則>概觀。
- 選取 [ 使用中會話]。
- 選取作用中會話的連結。
- 選取 [ 檢視變數 ] 連結以判斷任何 SSO 問題。
- 確認 BIG-IP APM 失敗或成功,以取得正確的使用者和網域識別碼。
深入了解:
- 移至 APM 變數指派範例的 devcentral.f5.com
- 移至 BIG-IP 存取原則管理員的 techdocs.f5.com :可視化原則編輯器