設定表單型 SSO 的 F5 BIG-IP 存取原則管理員

瞭解如何將 F5 BIG-IP 存取原則管理員 (APM) 和 Microsoft Entra ID 設定為以表單為基礎的應用程式。 Microsoft Entra 單一登錄的 BIG-IP 已發佈服務具有優點:

深入了解:

案例描述

在此案例中,有針對窗體式驗證 (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起始的流程。

服務提供者起始流程的圖表。

  1. 用戶連線到應用程式端點 (BIG-IP)。
  2. BIG-IP APM 存取原則會將使用者重新導向至 Microsoft Entra ID (SAML IdP)。
  3. Microsoft Entra 會預先驗證使用者,並套用強制執行的條件式存取原則。
  4. 使用者會重新導向至 BIG-IP(SAML SP),而 SSO 會使用發行的 SAML 令牌進行。
  5. BIG-IP 會提示使用者輸入應用程式密碼,並將它儲存在快取中。
  6. BIG-IP 會將要求傳送至應用程式,並接收登入表單。
  7. APM 文本會填入使用者名稱和密碼,然後提交窗體。
  8. Web 伺服器會提供應用程式承載,並將其傳送至用戶端。

必要條件

您需要下列元件:

  • 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 FBA 應用程式進行測試

BIG-IP 組態

本文中的組態是彈性的SHA實作:手動建立 BIG-IP 組態物件。 針對引導式設定範本未涵蓋的案例,請使用此方法。

注意

以您環境中的字串或值取代範例字串或值。

在 Microsoft Entra 識別碼中註冊 F5 BIG-IP

提示

本文中的步驟可能會根據您從開始的入口網站稍有不同。

BIG-IP 註冊是實體之間 SSO 的第一個步驟。 您從 F5 BIG-IP 資源庫範本建立的應用程式是信賴憑證者,代表 BIG-IP 已發佈應用程式的 SAML SP。

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 流覽至 [身分>識別應用程式>企業應用程式>] [所有應用程式]。
  3. 在 [ 所有應用程式 ] 窗格中,選取 [ 新增應用程式]。
  4. [ 流覽 Microsoft Entra 資源庫 ] 窗格隨即開啟。
  5. 磚會出現在雲端平臺、內部部署應用程式和精選應用程式。 精選應用程式 圖示表示支援同盟 SSO 和布建。
  6. 在 Azure 資源庫中,搜尋 F5
  7. 選取 F5 BIG-IP APM Microsoft Entra ID 整合
  8. 輸入新應用程式用來辨識應用程式實例的名稱。
  9. 選取 [新增]。
  10. 選取 建立

啟用 SSO 至 F5 BIG-IP

設定 BIG-IP 註冊,以滿足 BIG-IP APM 要求的 SAML 令牌。

  1. 在左側功能表中的 [管理] 區段中,選取 [單一登錄]。
  2. [ 單一登錄] 窗格隨即出現。
  3. 在 [選取單一登入方法] 頁面上,選取 [SAML]
  4. 選取 [ 否],稍後我會儲存
  5. 在 [ 使用 SAML 設定單一登錄] 窗格上,選取 畫筆 圖示。
  6. 針對 [ 標識符],將值取代為 BIG-IP 已發佈的應用程式 URL。
  7. 針對 [ 回復 URL],取代 值,但保留應用程式 SAML SP 端點的路徑。 使用此設定時,SAML 流程會以IdP起始模式運作。 Microsoft Entra ID 會發出 SAML 判斷提示,然後將使用者重新導向至 BIG-IP 端點。
  8. 針對SP起始模式,針對 [登入URL],輸入應用程式URL。
  9. 針對 [註銷 URL],輸入服務主機標頭前面加上的 BIG-IP APM 單一註銷 (SLO) 端點。 然後,BIG-IP APM 用戶會話會在註銷 Microsoft Entra ID 時結束。

SAML 組態中 URL 的螢幕快照。

注意

從流量管理作業系統 (TMOS) v16 開始,SAML SLO 端點為 /saml/sp/profile/redirect/slo

  1. 選取 [儲存]。
  2. 關閉 [SAML 組態] 窗格。
  3. 略過 SSO 測試提示。
  4. 記下 用戶屬性和宣告 區段屬性。 Microsoft Entra ID 會發出 BIG-IP APM 驗證的屬性,以及對後端應用程式的 SSO。
  5. 在 [ SAML 簽署憑證 ] 窗格中,選取 [ 下載]。
  6. 同盟 元數據 XML 檔案會儲存至您的電腦。

SAML 簽署憑證底下的 [下載] 選項螢幕快照。

注意

Microsoft Entra SAML 簽署憑證的存續期為三年。

深入瞭解:教學課程: 管理同盟單一登錄的憑證

指派使用者與群組

Microsoft Entra ID 會為使用者授與應用程式的存取權發出令牌。 若要授與特定使用者和群組應用程式存取權:

  1. F5 BIG-IP 應用程式的概觀 窗格中,選取 [ 指派使用者和群組]。
  2. 選取 [+ 新增使用者/群組]。
  3. 選取您想要的使用者和群組。
  4. 選取指派

BIG-IP 進階設定

使用下列指示來設定 BIG-IP。

設定 SAML 服務提供者設定

SAML SP 設定會定義 APM 用來將舊版應用程式與 SAML 預先驗證重疊的 SAML SP 屬性。 若要設定它們:

  1. 選取 [存取>同盟>SAML 服務提供者]。

  2. 選取 [ 本機 SP 服務]。

  3. 選取 建立

    [SAML 服務提供者] 索引標籤上 [建立] 選項的螢幕快照。

  4. 在 [ 建立新的 SAML SP 服務 ] 窗格上,針對 [ 名稱 ] 和 [實體標識符],輸入定義的名稱和實體標識符。

    [建立新的 SAML SP 服務] 底下的 [名稱] 和 [實體標識符] 字段螢幕快照。

    注意

    如果實體標識碼不符合已發佈 URL 的主機名部分,則需要 SP 名稱 設定 值。 或者,如果實體標識碼不是以一般主機名為基礎的 URL 格式,則需要值。

  5. 如果實體識別碼為 urn:myvacation:contosoonline,請輸入應用程式外部配置和主機名。

設定外部 IdP 連接器

SAML IdP 連接器會定義 BIG-IP APM 的設定,以信任 Microsoft Entra ID 作為其 SAML IdP。 這些設定會將 SAML 服務提供者連線到 SAML IdP,以建立 APM 與 Microsoft Entra 識別符之間的同盟信任。

若要設定連接器:

  1. 選取新的 SAML 服務提供者物件。

  2. 選取 [系結/取消系結 IdP 連線 ors]。

    [SAML 服務提供者] 索引標籤上 [系結未系結 IdP 連線 ors] 選項的螢幕快照。

  3. 在 [建立新的 IdP 連線 or] 清單中,選取 [從元數據]。

    [建立新的 IdP 連線 or] 下拉式清單中的 [從元數據] 選項螢幕快照。

  4. 在 [建立新的 SAML IdP 連線 or] 窗格中,流覽您所下載的 [同盟元數據 XML] 檔案。

  5. 輸入 代表外部 SAML IdP 之 APM 物件的識別提供者名稱 。 例如,MyVacation_EntraID。

    [建立新的 SAML IdP] 連線 or 上的 [選取檔案和識別提供者名稱] 字段的螢幕快照。

  6. 選取 [ 新增數據列]。

  7. 選取新的 SAML IdP 連線 or

  8. 選取更新

    [更新] 選項的螢幕快照。

  9. 選取 [確定]。

    [編輯使用此 SP] 對話方塊之 SAML IdP 的螢幕快照。

設定表單型 SSO

建立 FBA SSO 至後端應用程式的 APM SSO 物件。

在用戶端起始模式或 BIG-IP 起始模式中執行 FBA SSO。 這兩種方法都會將認證插入使用者名稱和密碼標記,以模擬使用者登入。 表單已提交。 使用者提供密碼來存取 FBA 應用程式。 密碼會快取並重複使用給其他 FBA 應用程式。

  1. 選取 [存取>單一登錄]。

  2. 選取 [表單型]。

  3. 選取 建立

  4. 針對 [ 名稱],輸入描述性名稱。 例如,Contoso\FBA\sso。

  5. 針對 [ 使用 SSO 範本],選取 [ ]。

  6. 針對 [ 使用者名稱來源],輸入使用者名稱來源以預先填入密碼集合表單。 默認值 session.sso.token.last.username 運作良好,因為它具有已登入的使用者 Microsoft Entra 用戶主體名稱 (UPN)。

  7. 針對 密碼來源,保留 APM 變數 BIG-IP 用來快取使用者密碼的預設 session.sso.token.last.password

    [新增 SSO 組態] 底下的 [名稱] 和使用 SSO 範本選項的螢幕快照。

  8. 針對 [ 開始 URI],輸入 FBA 應用程式登入 URI。 如果要求 URI 符合此 URI 值,則 APM 表單式驗證會執行 SSO。

  9. 針對 [表單動作],將它保留空白。 然後,原始要求 URL 會用於 SSO。

  10. 針對 [ 使用者名稱的表單參數],輸入登入表單用戶名稱欄位元素。 使用瀏覽器開發工具來判斷 專案。

  11. 針對 [ 密碼的表單參數],輸入登入窗體密碼欄位元素。 使用瀏覽器開發工具來判斷 專案。

[開始 URI]、[使用者名稱的窗體參數] 和 [密碼的窗體參數] 欄位的螢幕快照。

[登入] 頁面的螢幕快照,其中包含用戶名稱字段和密碼字段的圖說文字。

若要深入瞭解,請移至手動章節:單一登錄方法的 techdocs.f5.com

設定存取配置檔

存取配置檔會系結管理 BIG-IP 虛擬伺服器存取權的 APM 元素,包括存取原則、SSO 組態和 UI 設定。

  1. 選取 [存取>配置檔/ 原則]。

  2. 選取 [存取配置檔] [個別會話原則]。

  3. 選取 建立

  4. 輸入名稱

  5. 針對 [ 配置文件類型],選取 [ 全部]。

  6. 針對 [SSO 組態],選取您所建立的 FBA SSO 組態物件。

  7. 針對 [接受的語言],選取至少一種語言。

    [每一會話原則存取配置檔]、[新增配置檔] 的選項和選取項目螢幕快照。

  8. 在 [ 個別會話原則 ] 數據行中,針對配置文件選取 [ 編輯]。

  9. APM 視覺原則編輯器隨即啟動。

    [每一會話原則] 數據行中 [編輯] 選項的螢幕快照。

  10. 在後援,選取符號+

後援下 APM 視覺原則編輯器加號選項的螢幕快照。

  1. 在彈出視窗中,選取 [驗證]。
  2. 選取 [SAML 驗證]。
  3. 選取 [ 新增專案]。

SAML 驗證選項的螢幕快照。

  1. [SAML 驗證 SP] 上,將 [ 名稱 ] 變更為 [Microsoft Entra 驗證]。
  2. 在 [ AAA 伺服器 ] 下拉式清單中,輸入您建立的 SAML 服務提供者物件。

顯示 Microsoft Entra 驗證伺服器設定的螢幕快照。

  1. 在 [ 成功 ] 分支上 + ,選取符號。
  2. 在彈出視窗中,選取 [驗證]。
  3. 選取 [ 登入頁面]。
  4. 選取 [ 新增專案]。

[登入] 索引標籤上 [登入頁面] 選項的螢幕快照。

  1. 針對 用戶名稱,在 [ 只讀 ] 數據行中,選取 [ ]。

[屬性] 索引標籤上 [用戶名稱] 列中 [是] 選項的螢幕快照。

  1. 針對登入頁面後援,選取符號 + 。 此動作會新增 SSO 認證對應物件。

  2. 在彈出視窗中,選取 [ 指派] 索引標籤

  3. 選取 [SSO 認證對應]。

  4. 選取 [ 新增專案]。

    [指派] 索引標籤上 [SSO 認證對應] 選項的螢幕快照。

  5. 在 [變數指派:SSO 認證對應] 上,保留預設設定。

  6. 選取 [儲存]。

    [屬性] 索引標籤上 [儲存] 選項的螢幕快照。

  7. 在上方 的 [拒絕 ] 方塊中,選取連結。

  8. [ 成功 ] 分支會變更為 [允許]。

  9. 選取 [儲存]。

(選擇性)設定屬性對應

您可以新增LogonID_Mapping組態。 然後,BIG-IP 使用中會話清單具有已登入的使用者 UPN,而不是會話號碼。 使用這項資訊來分析記錄或疑難解答。

  1. 針對 [SAML 驗證成功] 分支,選取+簽署。

  2. 在彈出視窗中,選取 [ 指派]。

  3. 選取 [ 變數指派]。

  4. 選取 [ 新增專案]。

    [指派] 索引標籤上 [變數指派] 選項的螢幕快照。

  5. 在 [ 屬性] 索引標籤上,輸入 [ 名稱]。 例如,LogonID_Mapping。

  6. 在 [變數指派] 底下,選取 [新增專案]。

  7. 選取 [變更]。

    [新增專案] 選項和變更選項的螢幕快照。

  8. 針對 [自訂變數],請使用 session.logon.last.username

  9. 針對 [工作階段變數],使用者 session.saml.last.identity

  10. 選取 [已完成]。

  11. 選取 [儲存]。

  12. 選取 [ 套用存取原則]。

  13. 關閉 [視覺效果原則編輯器]。

套用存取原則上存取原則的螢幕快照。

設定後端集區

若要讓 BIG-IP 正確轉送用戶端流量,請建立 BIG-IP 節點物件,代表裝載應用程式的後端伺服器。 然後,將該節點放在 BIG-IP 伺服器集區中。

  1. 選取 [本機流量>集區]。

  2. 選取 [ 集區清單]。

  3. 選取 建立

  4. 輸入 伺服器集區物件的 [名稱 ]。 例如,MyApps_VMs。

    [新增集區] 底下 [名稱] 字段的螢幕快照。

  5. 針對 [ 節點名稱],輸入伺服器顯示名稱。 此伺服器會裝載後端 Web 應用程式。

  6. 針對 [ 位址],輸入應用程式伺服器主機IP位址。

  7. 針對 [服務埠 ] 輸入應用程式正在接聽的 HTTP/S 連接埠。

    [節點名稱]、[位址]、[服務埠] 字段和 [新增] 選項的螢幕快照。

    注意

    健康情況監視器需要設定本文未涵蓋。 移至 K13397 的 support.f5.com :BIG-IP DNS 系統 HTTP 健康情況監視器要求格式的概觀。

設定虛擬伺服器

虛擬伺服器是由虛擬IP位址表示的BIG-IP數據平面物件。 伺服器會接聽對應用程式的用戶端要求。 系統會根據與虛擬伺服器相關聯的 APM 存取配置檔,處理及評估任何收到的流量。 流量會根據原則進行導向。

若要設定虛擬伺服器:

  1. 選取 [本機流量>虛擬伺服器]。

  2. 選取 [虛擬伺服器清單]。

  3. 選取 建立

  4. 輸入名稱

  5. 針對 [ 目的地位址/遮罩],選取 [ 主機 ],然後輸入IPv4 或 IPv6 位址。 位址會接收已發佈後端應用程式的用戶端流量。

  6. 針對 [服務埠],選取 [埠],輸入 443,然後選取 [HTTPS]。

    [名稱]、[目的地位址] 和服務埠字段和選項的螢幕快照。

  7. 針對 [HTTP 配置檔][用戶端],選取 [HTTP]。

  8. 針對 [SSL 配置檔] [用戶端],選取您建立的配置檔,或保留用於測試的預設值。 此選項可讓傳輸層安全性 (TLS) 的虛擬伺服器透過 HTTPS 發佈服務。

    HTTP 設定檔用戶端和 SSL 設定檔用戶端選項的螢幕快照。

  9. 針對 [ 來源地址翻譯],選取 [ 自動對應]。

    [來源地址翻譯] 的 [自動對應] 選取項目的螢幕快照。

  10. [存取原則] 底下的 [存取配置檔] 方塊,輸入您建立的名稱。 此動作會將 Microsoft Entra SAML 預先驗證配置檔和 FBA SSO 原則系結至虛擬伺服器。

存取原則下 [存取配置檔] 項目的螢幕快照。

  1. 在 [資源] 底下,針對 [預設集區],選取您建立的後端集區物件。
  2. 選取 [已完成]。

[資源] 底下 [預設集區] 選項的螢幕快照。

設定工作階段管理設定

BIG-IP 會話管理設定會定義會話終止和接續的條件。 在此區域中建立原則。

  1. 移至存取 原則
  2. 選取 [ 存取配置檔]。
  3. 選取 [ 存取配置檔]。
  4. 從清單中選取您的應用程式。

如果您在 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

  1. 使用瀏覽器,連線到應用程式外部 URL,或在 我的應用程式 中,選取應用程式圖示。

  2. 向 Microsoft Entra 識別碼進行驗證。

  3. 系統會將您重新導向至應用程式的 BIG-IP 端點。

  4. 密碼提示隨即出現。

  5. APM 會以 Microsoft Entra ID 中的 UPN 填入使用者名稱。 用戶名稱是唯讀的會話一致性。 視需要隱藏此欄位。

    登入頁面的螢幕快照。

  6. 資訊已提交。

  7. 您已登入應用程式。

    [歡迎使用] 頁面的螢幕快照。

疑難排解

進行疑難解答時,請考慮下列資訊:

  • BIG-IP 會在剖析 URI 的登入表單時執行 FBA SSO

    • BIG-IP 會從您的設定中搜尋使用者名稱和密碼元素標記
  • 確認專案標籤是一致的,或 SSO 失敗

  • 動態產生的複雜表單可能需要開發工具分析才能瞭解登入窗體

  • 用戶端起始較適合使用多個窗體登入頁面

    • 您可以指定表單名稱並自訂 JavaScript 表單處理程式邏輯
  • FBA SSO 方法藉由隱藏表單互動來優化使用者體驗和安全性:

    • 您可以驗證是否已插入認證
    • 在用戶端起始模式中,停用 SSO 設定檔中的表單自動提交
    • 使用開發工具停用防止登入頁面出現的兩個樣式屬性

    [屬性] 頁面的螢幕快照。

增加記錄詳細資訊

BIG-IP 記錄包含隔離驗證和 SSO 問題的資訊。 增加記錄詳細資訊層級:

  1. 移至存取原則>概觀。
  2. 選取 [事件記錄檔]。
  3. 選取設定
  4. 選取已發佈應用程式的數據列。
  5. 選取編輯
  6. 選取 [ 存取系統記錄]。
  7. 在 SSO 清單中,選取 [ 偵錯]。
  8. 選取 [確定]。
  9. 重現問題。
  10. 檢閱記錄。

還原設定,否則會有過多的數據。

BIG-IP 錯誤訊息

如果 BIG-IP 錯誤出現在 Microsoft Entra 預先驗證之後,問題可能與 Microsoft Entra ID 和 BIG-IP SSO 有關。

  1. 移至 [存取>概觀]。
  2. 選取 [ 存取報表]。
  3. 執行過去一小時的報表。
  4. 檢閱記錄以取得線索。

使用會話的 [ 檢視會話變數 ] 鏈接來判斷 APM 是否收到預期的 Microsoft Entra 宣告。

沒有 BIG-IP 錯誤訊息

如果沒有出現 BIG-IP 錯誤訊息,問題可能與後端要求或 BIG-IP 對應用程式 SSO 有關。

  1. 選取 [存取原則>概觀]。
  2. 選取 [ 使用中會話]。
  3. 選取使用中的會話連結。

使用此位置的 [ 檢視變數 ] 鏈接可協助判斷根本原因,特別是當 APM 無法取得正確的使用者標識碼和密碼時。

若要深入瞭解,請移至手動章節:會話變數的 techdocs.f5.com

資源