分享方式:


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

了解如何設定 F5 BIG-IP 存取原則管理員 (APM) 和 Microsoft Entra ID,以對表單型應用程式進行安全的混合式存取 (SHA)。 適用於 Microsoft Entra 單一登入 (SSO) 的 BIG-IP 已發佈服務具有以下優點:

深入了解:

案例描述

在此案例中,有一個設定為使用基本表單型驗證 (FBA) 的內部舊版應用程式。 在理想情況下,Microsoft Entra ID 會管理應用程式存取,因為舊版缺少新式驗證通訊協定。 現代化需要時間和精力,進而帶來停機風險。 相反地,請在公用網際網路與內部應用程式之間部署 BIG-IP。 此設定會管制對應用程式的輸入存取。

透過應用程式前面的 BIG-IP,您可以使用 Microsoft Entra 預先驗證和標頭型 SSO 來重疊服務。 重疊可改善應用程式安全性態勢。

案例架構

SHA 解決方案含有下列元件:

  • 應用程式 - 由 SHA 保護的 BIG-IP 已發佈服務。
    • 應用程式驗證使用者認證
    • 使用任何目錄、開放原始碼等等
  • Microsoft Entra ID - 安全性聲明標記語言 (SAML) 識別提供者 (IdP),可驗證使用者認證、條件式存取和 BIG-IP 的 SSO。
    • 透過 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),並使用已發行的 SAML 權杖來執行 SSO。
  5. BIG-IP 會提示使用者提供應用程式密碼,並將其儲存在快取中。
  6. BIG-IP 會將要求傳送至應用程式,並接收登入表單。
  7. APM 指令碼會填入使用者名稱和密碼,然後提交表單。
  8. Web 伺服器會提供應用程式承載,並將其傳送至用戶端。

必要條件

您需要下列元件:

  • Azure 訂用帳戶
  • 下列其中一個角色:雲端應用程式管理員或應用程式系統管理員
  • BIG-IP 或在 Azure 中部署 BIG-IP 虛擬版本 (VE)
  • 下列任一個 F5 BIG-IP 授權:
    • F5 BIG-IP® Best 搭售方案
    • F5 BIG-IP Access Policy Manager™ (APM) 獨立授權
    • BIG-IP F5 BIG-IP® 本機流量管理員™ (LTM) 上的 F5 BIG-IP 存取原則管理員™ (APM) 附加元件授權
    • 90 天 BIG-IP 完整功能試用版。 請參閱免費試用版
  • 從內部部署目錄同步至 Microsoft Entra ID 的使用者身分識別
  • 用來透過 HTTPS 發佈服務的 SSL 憑證,或在測試時使用預設的憑證
  • 表單式驗證應用程式,或設定用於測試的網際網路資訊服務 (IIS) 表單式驗證 (FBA) 應用程式

BIG-IP 設定

本文中的設定是靈活的 SHA 實作:手動建立 BIG-IP 設定物件。 請使用此方法處理引導式設定範本中未涵蓋的案例。

注意

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

在 Microsoft Entra ID 中註冊 F5 BIG-IP

提示

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

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

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

啟用單一登入至 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 起始模式運作。
  8. Microsoft Entra ID 會發出 SAML 判斷提示,然後將使用者重新導向至 BIG-IP 端點。
  9. 若為 SP 起始模式,在 [登入URL] 中輸入應用程式 URL。
  10. 對於 [登出 URL],輸入 BIG-IP APM 單一登出 (SLO) 端點,前面加上服務主機標頭。
  11. 然後,BIG-IP APM 使用者工作階段會在其登出 Microsoft Entra ID 時結束。
  12. 選取 [儲存]
  13. 關閉 [SAML 設定] 窗格。
  14. 跳過 SSO 測試提示。
  15. 記下 [使用者屬性與宣告] 區段屬性。 Microsoft Entra ID 會發出屬性,以進行 BIG-IP APM 驗證並單一登入 (SSO) 至後端應用程式。
  16. 在 [SAML 簽署憑證] 窗格中,選取 [下載]
  17. 同盟中繼資料 XML 檔案會儲存到您的電腦。

注意

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

螢幕擷取畫面:SAML 設定中的 URL。

注意

Microsoft Entra SAML 簽署憑證有三年的使用期限。

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

指派使用者與群組

Microsoft Entra ID 會將權杖發給獲得應用程式存取權的使用者。 若要將應用程式存取權授與給特定使用者與群組,請執行下列動作:

  1. 在 [F5 BIG-IP 應用程式概觀] 窗格上,選取 [指派使用者與群組]
  2. 選取 [+ 新增使用者/群組]
  3. 選取所需的使用者和群組。
  4. 選取 [指派]

BIG-IP 進階設定

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

設定 SAML 服務提供者設定

SAML SP 設定定義了 SAML SP 屬性,APM 會使用這些屬性透過 SAML 預先驗證來覆蓋舊版應用程式。 若要進行設定:

  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 ID 之間建立同盟信任。

若要設定連接器:

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

  2. 選取 [繫結/取消繫結 IdP 連接器]

    螢幕擷取畫面:[SAML 服務提供者] 索引標籤上的 [繫結/取消繫結 IdP 連接器] 選項。

  3. 在 [建立新的 IdP 連接器] 清單中,選取 [從中繼資料]

    螢幕擷取畫面:[建立新的 IdP 連接器] 下拉式清單中的 [從中繼資料] 選項。

  4. 在 [建立新的 SAML IdP 連接器] 窗格中,瀏覽您所下載的同盟中繼資料 XML 檔案。

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

    螢幕擷取畫面:[建立新的 SAML IdP 連接器] 上的 [選取檔案] 和 [識別提供者名稱] 欄位。

  6. 選取 [新增資料列]

  7. 選取新的 SAML IdP 連接器

  8. 選取 [更新]

    螢幕擷取畫面:[更新] 選項。

  9. 選取 [確定]

    螢幕擷取畫面:[編輯使用此 SP 的 SAML IdP] 對話方塊。

設定表單型 SSO

建立 APM SSO 物件,以便對後端應用程式進行 FBA 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. 在 [密碼來源] 中,請保留預設值 session.sso.token.last.password(即 BIG-IP 用來快取使用者密碼的 APM 變數)。

    螢幕擷取畫面:[新增 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 連接埠。

    螢幕擷取畫面:[節點名稱]、[位址]、[服務連接埠] 欄位及 [新增] 選項。

    注意

    健康情況監視需要本文未涵蓋的設定。 請前往 support.f5.com,參閱 K13397: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 值,IdP 起始的 MyApps 登出會結束用戶端與 BIG-IP APM 的工作階段。 匯入的應用程式同盟中繼資料 XML 檔案會為 APM 提供適用於 SP 啟始登出的 Microsoft Entra SAML 登出端點。請確定 APM 會正確回應使用者登出。

如果沒有 BIG-IP 入口網站,使用者就無法指示 APM 登出。如果使用者登出應用程式,則 BIG-IP 無法察覺此情況。 可以透過 SSO 恢復應用程式工作階段。 對於 SP 起始的登出,請確定工作階段會安全地終止。

您可以將 SLO 功能新增至應用程式 [登出] 按鈕。 此功能會將用戶端重新導向至 Microsoft Entra SAML 登出端點。 若要尋找 SAML 登出端點,請移至 [應用程式註冊] > [端點]

若無法變更應用程式,請讓 BIG-IP 接聽應用程式登出呼叫並觸發 SLO。

深入了解:

發佈的應用程式

您的應用程式已發佈,並透過 SHA 使用應用程式 URL 或 Microsoft 入口網站存取。

該應用程式會顯示為條件式存取中的目標資源。 深入了解:建立條件式存取原則

為了提高安全性,請封鎖對應用程式的直接存取,並強制執行透過 BIG-IP 的路徑。

Test

  1. 使用者連線到應用程式外部 URL,或在我的應用程式上選取應用程式圖示。

  2. 使用者透過 Microsoft Entra ID 驗證。

  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 以查看手冊章節:工作階段變數 (英文)。

資源