設定表單型 SSO 的 F5 BIG-IP 存取原則管理員
瞭解如何將 F5 BIG-IP 存取原則管理員 (APM) 和 Microsoft Entra ID 設定為以表單為基礎的應用程式。 Microsoft Entra 單一登錄的 BIG-IP 已發佈服務具有優點:
- 透過 Microsoft Entra 預先驗證和條件式存取改善 零信任 治理
- Microsoft Entra ID 與 BIG-IP 已發佈服務之間的完整 SSO
- 來自一個控制平面的受控識別和存取
深入了解:
案例描述
在此案例中,有針對窗體式驗證 (FBA) 設定的內部舊版應用程式。 在理想情況下,Microsoft Entra ID 會管理應用程式存取,因為舊版缺少新式驗證通訊協定。 現代化需要時間和精力,以產生停機的風險。 相反地,在公用因特網與內部應用程式之間部署 BIG-IP。 此組態會閘道對應用程式的輸入存取。
在應用程式前面使用 BIG-IP,您可以使用 Microsoft Entra 預先驗證和標頭型 SSO 來重疊服務。 重疊可改善應用程式安全性狀態。
案例架構
SHA 解決方案具有下列元件:
- 應用程式 - 由 SHA 保護的 BIG-IP 已發佈服務。
- 應用程式會根據 Active Directory 驗證使用者認證
- 使用任何目錄,包括 Active Directory 輕量型目錄服務、開放原始碼 等等
- Microsoft Entra ID - 安全性判斷提示標記語言 (SAML) 識別提供者 (IdP) 會驗證使用者認證、條件式存取和 SSO 到 BIG-IP。
- 透過 SSO,Microsoft Entra ID 會提供 BIG-IP 的屬性,包括使用者識別碼
- BIG-IP - 反向 Proxy 和 SAML 服務提供者 (SP) 至應用程式。
- BIG-IP 會將驗證委派給 SAML IdP,然後對後端應用程式執行標頭型 SSO。
- SSO 會針對其他表單型驗證應用程式使用快取的用戶認證
SHA 支援由SP和IdP起始的流程。 下圖說明SP起始的流程。
- 用戶連線到應用程式端點 (BIG-IP)。
- BIG-IP APM 存取原則會將使用者重新導向至 Microsoft Entra ID (SAML IdP)。
- Microsoft Entra 會預先驗證使用者,並套用強制執行的條件式存取原則。
- 使用者會重新導向至 BIG-IP(SAML SP),而 SSO 會使用發行的 SAML 令牌進行。
- BIG-IP 會提示使用者輸入應用程式密碼,並將它儲存在快取中。
- BIG-IP 會將要求傳送至應用程式,並接收登入表單。
- APM 文本會填入使用者名稱和密碼,然後提交窗體。
- Web 伺服器會提供應用程式承載,並將其傳送至用戶端。
必要條件
您需要下列元件:
- 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 憑證,或在測試時使用預設憑證
- 請參閱 SSL 設定檔
- 表單式驗證應用程式,或設定 IIS FBA 應用程式進行測試
- 請參閱 表單型驗證
BIG-IP 組態
本文中的組態是彈性的SHA實作:手動建立 BIG-IP 組態物件。 針對引導式設定範本未涵蓋的案例,請使用此方法。
注意
以您環境中的字串或值取代範例字串或值。
在 Microsoft Entra 識別碼中註冊 F5 BIG-IP
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
BIG-IP 註冊是實體之間 SSO 的第一個步驟。 您從 F5 BIG-IP 資源庫範本建立的應用程式是信賴憑證者,代表 BIG-IP 已發佈應用程式的 SAML SP。
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [身分>識別應用程式>企業應用程式>] [所有應用程式]。
- 在 [ 所有應用程式 ] 窗格中,選取 [ 新增應用程式]。
- [ 流覽 Microsoft Entra 資源庫 ] 窗格隨即開啟。
- 磚會出現在雲端平臺、內部部署應用程式和精選應用程式。 精選應用程式 圖示表示支援同盟 SSO 和布建。
- 在 Azure 資源庫中,搜尋 F5。
- 選取 F5 BIG-IP APM Microsoft Entra ID 整合。
- 輸入新應用程式用來辨識應用程式實例的名稱。
- 選取 [新增]。
- 選取 建立。
啟用 SSO 至 F5 BIG-IP
設定 BIG-IP 註冊,以滿足 BIG-IP APM 要求的 SAML 令牌。
- 在左側功能表中的 [管理] 區段中,選取 [單一登錄]。
- [ 單一登錄] 窗格隨即出現。
- 在 [選取單一登入方法] 頁面上,選取 [SAML]。
- 選取 [ 否],稍後我會儲存。
- 在 [ 使用 SAML 設定單一登錄] 窗格上,選取 畫筆 圖示。
- 針對 [ 標識符],將值取代為 BIG-IP 已發佈的應用程式 URL。
- 針對 [ 回復 URL],取代 值,但保留應用程式 SAML SP 端點的路徑。 使用此設定時,SAML 流程會以IdP起始模式運作。 Microsoft Entra ID 會發出 SAML 判斷提示,然後將使用者重新導向至 BIG-IP 端點。
- 針對SP起始模式,針對 [登入URL],輸入應用程式URL。
- 針對 [註銷 URL],輸入服務主機標頭前面加上的 BIG-IP APM 單一註銷 (SLO) 端點。 然後,BIG-IP APM 用戶會話會在註銷 Microsoft Entra ID 時結束。
注意
從流量管理作業系統 (TMOS) v16 開始,SAML SLO 端點為 /saml/sp/profile/redirect/slo
。
- 選取 [儲存]。
- 關閉 [SAML 組態] 窗格。
- 略過 SSO 測試提示。
- 記下 用戶屬性和宣告 區段屬性。 Microsoft Entra ID 會發出 BIG-IP APM 驗證的屬性,以及對後端應用程式的 SSO。
- 在 [ SAML 簽署憑證 ] 窗格中,選取 [ 下載]。
- 同盟 元數據 XML 檔案會儲存至您的電腦。
注意
Microsoft Entra SAML 簽署憑證的存續期為三年。
深入瞭解:教學課程: 管理同盟單一登錄的憑證
指派使用者與群組
Microsoft Entra ID 會為使用者授與應用程式的存取權發出令牌。 若要授與特定使用者和群組應用程式存取權:
- 在 F5 BIG-IP 應用程式的概觀 窗格中,選取 [ 指派使用者和群組]。
- 選取 [+ 新增使用者/群組]。
- 選取您想要的使用者和群組。
- 選取指派。
BIG-IP 進階設定
使用下列指示來設定 BIG-IP。
設定 SAML 服務提供者設定
SAML SP 設定會定義 APM 用來將舊版應用程式與 SAML 預先驗證重疊的 SAML SP 屬性。 若要設定它們:
選取 [存取>同盟>SAML 服務提供者]。
選取 [ 本機 SP 服務]。
選取 建立。
在 [ 建立新的 SAML SP 服務 ] 窗格上,針對 [ 名稱 ] 和 [實體標識符],輸入定義的名稱和實體標識符。
注意
如果實體標識碼不符合已發佈 URL 的主機名部分,則需要 SP 名稱 設定 值。 或者,如果實體標識碼不是以一般主機名為基礎的 URL 格式,則需要值。
如果實體識別碼為
urn:myvacation:contosoonline
,請輸入應用程式外部配置和主機名。
設定外部 IdP 連接器
SAML IdP 連接器會定義 BIG-IP APM 的設定,以信任 Microsoft Entra ID 作為其 SAML IdP。 這些設定會將 SAML 服務提供者連線到 SAML IdP,以建立 APM 與 Microsoft Entra 識別符之間的同盟信任。
若要設定連接器:
選取新的 SAML 服務提供者物件。
選取 [系結/取消系結 IdP 連線 ors]。
在 [建立新的 IdP 連線 or] 清單中,選取 [從元數據]。
在 [建立新的 SAML IdP 連線 or] 窗格中,流覽您所下載的 [同盟元數據 XML] 檔案。
輸入 代表外部 SAML IdP 之 APM 物件的識別提供者名稱 。 例如,MyVacation_EntraID。
選取 [ 新增數據列]。
選取新的 SAML IdP 連線 or。
選取更新。
選取 [確定]。
設定表單型 SSO
建立 FBA SSO 至後端應用程式的 APM SSO 物件。
在用戶端起始模式或 BIG-IP 起始模式中執行 FBA SSO。 這兩種方法都會將認證插入使用者名稱和密碼標記,以模擬使用者登入。 表單已提交。 使用者提供密碼來存取 FBA 應用程式。 密碼會快取並重複使用給其他 FBA 應用程式。
選取 [存取>單一登錄]。
選取 [表單型]。
選取 建立。
針對 [ 名稱],輸入描述性名稱。 例如,Contoso\FBA\sso。
針對 [ 使用 SSO 範本],選取 [ 無]。
針對 [ 使用者名稱來源],輸入使用者名稱來源以預先填入密碼集合表單。 默認值
session.sso.token.last.username
運作良好,因為它具有已登入的使用者 Microsoft Entra 用戶主體名稱 (UPN)。針對 密碼來源,保留 APM 變數 BIG-IP 用來快取使用者密碼的預設
session.sso.token.last.password
。針對 [ 開始 URI],輸入 FBA 應用程式登入 URI。 如果要求 URI 符合此 URI 值,則 APM 表單式驗證會執行 SSO。
針對 [表單動作],將它保留空白。 然後,原始要求 URL 會用於 SSO。
針對 [ 使用者名稱的表單參數],輸入登入表單用戶名稱欄位元素。 使用瀏覽器開發工具來判斷 專案。
針對 [ 密碼的表單參數],輸入登入窗體密碼欄位元素。 使用瀏覽器開發工具來判斷 專案。
若要深入瞭解,請移至手動章節:單一登錄方法的 techdocs.f5.com。
設定存取配置檔
存取配置檔會系結管理 BIG-IP 虛擬伺服器存取權的 APM 元素,包括存取原則、SSO 組態和 UI 設定。
選取 [存取>配置檔/ 原則]。
選取 [存取配置檔] [個別會話原則]。
選取 建立。
輸入名稱。
針對 [ 配置文件類型],選取 [ 全部]。
針對 [SSO 組態],選取您所建立的 FBA SSO 組態物件。
針對 [接受的語言],選取至少一種語言。
在 [ 個別會話原則 ] 數據行中,針對配置文件選取 [ 編輯]。
APM 視覺原則編輯器隨即啟動。
在後援下,選取符號+。
- 在彈出視窗中,選取 [驗證]。
- 選取 [SAML 驗證]。
- 選取 [ 新增專案]。
- 在 [SAML 驗證 SP] 上,將 [ 名稱 ] 變更為 [Microsoft Entra 驗證]。
- 在 [ AAA 伺服器 ] 下拉式清單中,輸入您建立的 SAML 服務提供者物件。
- 在 [ 成功 ] 分支上 + ,選取符號。
- 在彈出視窗中,選取 [驗證]。
- 選取 [ 登入頁面]。
- 選取 [ 新增專案]。
- 針對 用戶名稱,在 [ 只讀 ] 數據行中,選取 [ 是]。
針對登入頁面後援,選取符號 + 。 此動作會新增 SSO 認證對應物件。
在彈出視窗中,選取 [ 指派] 索引標籤 。
選取 [SSO 認證對應]。
選取 [ 新增專案]。
在 [變數指派:SSO 認證對應] 上,保留預設設定。
選取 [儲存]。
在上方 的 [拒絕 ] 方塊中,選取連結。
[ 成功 ] 分支會變更為 [允許]。
選取 [儲存]。
(選擇性)設定屬性對應
您可以新增LogonID_Mapping組態。 然後,BIG-IP 使用中會話清單具有已登入的使用者 UPN,而不是會話號碼。 使用這項資訊來分析記錄或疑難解答。
針對 [SAML 驗證成功] 分支,選取+簽署。
在彈出視窗中,選取 [ 指派]。
選取 [ 變數指派]。
選取 [ 新增專案]。
在 [ 屬性] 索引標籤上,輸入 [ 名稱]。 例如,LogonID_Mapping。
在 [變數指派] 底下,選取 [新增專案]。
選取 [變更]。
針對 [自訂變數],請使用
session.logon.last.username
。針對 [工作階段變數],使用者
session.saml.last.identity
。選取 [已完成]。
選取 [儲存]。
選取 [ 套用存取原則]。
關閉 [視覺效果原則編輯器]。
設定後端集區
若要讓 BIG-IP 正確轉送用戶端流量,請建立 BIG-IP 節點物件,代表裝載應用程式的後端伺服器。 然後,將該節點放在 BIG-IP 伺服器集區中。
選取 [本機流量>集區]。
選取 [ 集區清單]。
選取 建立。
輸入 伺服器集區物件的 [名稱 ]。 例如,MyApps_VMs。
針對 [ 節點名稱],輸入伺服器顯示名稱。 此伺服器會裝載後端 Web 應用程式。
針對 [ 位址],輸入應用程式伺服器主機IP位址。
針對 [服務埠 ] 輸入應用程式正在接聽的 HTTP/S 連接埠。
注意
健康情況監視器需要設定本文未涵蓋。 移至 K13397 的 support.f5.com :BIG-IP DNS 系統 HTTP 健康情況監視器要求格式的概觀。
設定虛擬伺服器
虛擬伺服器是由虛擬IP位址表示的BIG-IP數據平面物件。 伺服器會接聽對應用程式的用戶端要求。 系統會根據與虛擬伺服器相關聯的 APM 存取配置檔,處理及評估任何收到的流量。 流量會根據原則進行導向。
若要設定虛擬伺服器:
選取 [本機流量>虛擬伺服器]。
選取 [虛擬伺服器清單]。
選取 建立。
輸入名稱。
針對 [ 目的地位址/遮罩],選取 [ 主機 ],然後輸入IPv4 或 IPv6 位址。 位址會接收已發佈後端應用程式的用戶端流量。
針對 [服務埠],選取 [埠],輸入 443,然後選取 [HTTPS]。
針對 [HTTP 配置檔][用戶端],選取 [HTTP]。
針對 [SSL 配置檔] [用戶端],選取您建立的配置檔,或保留用於測試的預設值。 此選項可讓傳輸層安全性 (TLS) 的虛擬伺服器透過 HTTPS 發佈服務。
針對 [ 來源地址翻譯],選取 [ 自動對應]。
在 [存取原則] 底下的 [存取配置檔] 方塊中,輸入您建立的名稱。 此動作會將 Microsoft Entra SAML 預先驗證配置檔和 FBA SSO 原則系結至虛擬伺服器。
- 在 [資源] 底下,針對 [預設集區],選取您建立的後端集區物件。
- 選取 [已完成]。
設定工作階段管理設定
BIG-IP 會話管理設定會定義會話終止和接續的條件。 在此區域中建立原則。
- 移至存取 原則。
- 選取 [ 存取配置檔]。
- 選取 [ 存取配置檔]。
- 從清單中選取您的應用程式。
如果您在 Microsoft Entra ID 中定義了單一註銷 URI 值,則從 MyApps 起始的 IdP 起始註銷會結束用戶端和 BIG-IP APM 會話。 匯入的應用程式同盟元數據 XML 檔案會為 APM 提供 MICROSOFT Entra SAML 端點以進行 SP 起始的登出。請確定 APM 會正確回應使用者註銷。
如果沒有 BIG-IP 入口網站,使用者就無法指示 APM 註銷。如果使用者註銷應用程式,BIG-IP 就會被遺忘。 應用程式會話可以透過 SSO 恢復。 針對SP起始的註銷,請確定工作階段會安全地終止。
您可以將 SLO 函式新增至應用程式 註銷 按鈕。 此函式會將用戶端重新導向至 Microsoft Entra SAML 註銷端點。 若要找出 SAML 註銷端點,請移至 [ 應用程式註冊 > 端點]。
如果您無法變更應用程式,請讓 BIG-IP 接聽應用程式註銷呼叫並觸發 SLO。
深入了解:
已發佈的應用程式
您的應用程式會透過應用程式 URL 或 Microsoft 入口網站透過 SHA 發佈和存取。
應用程式會顯示為條件式存取中的目標資源。 深入瞭解: 建置條件式存取原則。
為了提高安全性,請封鎖對應用程式的直接存取,並強制執行透過 BIG-IP 的路徑。
Test
使用瀏覽器,連線到應用程式外部 URL,或在 我的應用程式 中,選取應用程式圖示。
向 Microsoft Entra 識別碼進行驗證。
系統會將您重新導向至應用程式的 BIG-IP 端點。
密碼提示隨即出現。
APM 會以 Microsoft Entra ID 中的 UPN 填入使用者名稱。 用戶名稱是唯讀的會話一致性。 視需要隱藏此欄位。
資訊已提交。
您已登入應用程式。
疑難排解
進行疑難解答時,請考慮下列資訊:
BIG-IP 會在剖析 URI 的登入表單時執行 FBA SSO
- BIG-IP 會從您的設定中搜尋使用者名稱和密碼元素標記
確認專案標籤是一致的,或 SSO 失敗
動態產生的複雜表單可能需要開發工具分析才能瞭解登入窗體
用戶端起始較適合使用多個窗體登入頁面
- 您可以指定表單名稱並自訂 JavaScript 表單處理程式邏輯
FBA SSO 方法藉由隱藏表單互動來優化使用者體驗和安全性:
- 您可以驗證是否已插入認證
- 在用戶端起始模式中,停用 SSO 設定檔中的表單自動提交
- 使用開發工具停用防止登入頁面出現的兩個樣式屬性
增加記錄詳細資訊
BIG-IP 記錄包含隔離驗證和 SSO 問題的資訊。 增加記錄詳細資訊層級:
- 移至存取原則>概觀。
- 選取 [事件記錄檔]。
- 選取設定。
- 選取已發佈應用程式的數據列。
- 選取編輯。
- 選取 [ 存取系統記錄]。
- 在 SSO 清單中,選取 [ 偵錯]。
- 選取 [確定]。
- 重現問題。
- 檢閱記錄。
還原設定,否則會有過多的數據。
BIG-IP 錯誤訊息
如果 BIG-IP 錯誤出現在 Microsoft Entra 預先驗證之後,問題可能與 Microsoft Entra ID 和 BIG-IP SSO 有關。
- 移至 [存取>概觀]。
- 選取 [ 存取報表]。
- 執行過去一小時的報表。
- 檢閱記錄以取得線索。
使用會話的 [ 檢視會話變數 ] 鏈接來判斷 APM 是否收到預期的 Microsoft Entra 宣告。
沒有 BIG-IP 錯誤訊息
如果沒有出現 BIG-IP 錯誤訊息,問題可能與後端要求或 BIG-IP 對應用程式 SSO 有關。
- 選取 [存取原則>概觀]。
- 選取 [ 使用中會話]。
- 選取使用中的會話連結。
使用此位置的 [ 檢視變數 ] 鏈接可協助判斷根本原因,特別是當 APM 無法取得正確的使用者標識碼和密碼時。
若要深入瞭解,請移至手動章節:會話變數的 techdocs.f5.com。
資源
- 移至手動章節 techdocs.f5.com :Active Directory 驗證
- 無密碼驗證
- 何謂條件式存取?
- 零信任架構來啟用遠端工作