教學課程:為標頭型單一登錄設定 F5 BIG-IP 存取原則管理員

瞭解如何使用 F5 BIG-IP 進階設定,使用單一登錄 (SSO) 來實作安全混合式存取 (SHA) 至標頭型應用程式。 BIG-IP 已發佈的應用程式和 Microsoft Entra 設定優點:

深入了解:

案例描述

在此案例中,有使用 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 和應用程式。

使用者流程圖表,其中包含 Microsoft Entra ID、BIG-IP、APM 和應用程式

  1. 用戶連線到應用程式 SAML SP 端點 (BIG-IP)。
  2. BIG-IP APM 存取原則會將使用者重新導向至 Microsoft Entra ID (SAML IdP)。
  3. Microsoft Entra 會預先驗證使用者,並套用 ConditionalAccess 原則。
  4. 使用者會重新導向至 BIG-IP(SAML SP),而 SSO 會使用發行的 SAML 令牌進行。
  5. BIG-IP 會將 Microsoft Entra 屬性插入為應用程式要求中的標頭。
  6. 應用程式會授權要求並傳回承載。

必要條件

針對您需要的案例:

  • 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 組態物件。 針對引導式組態範本中未包含的案例,請使用此方法。

注意

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

提示

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

若要實作 SHA,第一個步驟是設定 BIG-IP APM 與 Microsoft Entra ID 之間的 SAML 同盟信任。 信任會建立 BIG-IP 的整合,以在授與已發行服務的存取權之前,將預先驗證和條件式存取權移交給 Microsoft Entra ID。

深入了解: 什麼是條件式存取?

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心

  2. 流覽至 [身分>識別應用程式>企業應用程式>] [所有應用程式]。

  3. 在頂端功能區上,選取 [+ 新增應用程式]。

  4. 在資源庫中,搜尋 F5

  5. 選取 F5 BIG-IP APM Microsoft Entra ID 整合

  6. 輸入應用程式 名稱

  7. 選取 [ 新增/建立]。

  8. 名稱會反映服務。

設定 Microsoft Entra SSO

  1. 新的 F5 應用程式屬性隨即出現

  2. 選取 [管理>單一登入]

  3. 在 [選取單一登入方法] 頁面上,選取 [SAML]

  4. 略過提示以儲存單一登錄設定。

  5. 選取 [ 否],稍後我會儲存

  6. 在 [使用 SAML 設定單一登錄] 上,針對 [基本 SAML 組態],選取畫筆圖示。

  7. 標識碼 URL 取代為 BIG-IP 已發佈的服務 URL。 例如,https://mytravel.contoso.com

  8. 重複回復 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 模式。

  9. 針對 [註銷 URI ],輸入服務主機標頭前面加上 BIG-IP APM 單一註銷 (SLO) 端點。 SLO URI 可確保使用者 BIG-IP APM 會話在 Microsoft Entra 註銷之後結束。例如, https://mytravel.contoso.com/saml/sp/profile/redirect/slr

    標識碼、回復 URL、登入 URL 等基本 SAML 組態輸入的螢幕快照。

    注意

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

  10. 選取 [儲存]。

  11. 結束 SAML 組態。

  12. 略過 SSO 測試提示。

  13. 若要編輯 使用者屬性和宣告 > + 新增宣告,請選取 畫筆 圖示。

  14. 針對 [ 名稱] 選取 [Employeeid]。

  15. 針對 [ 來源屬性 ] 選取 user.employeeid

  16. 選取儲存

[管理宣告] 對話框中 [名稱] 和 [來源] 屬性的輸入螢幕快照。

  1. 選取 [+ 新增群組宣告]
  2. 選取指派給應用程式>來源屬性>sAMAccountName的群組。

[群組宣告] 對話框中 [來源屬性] 輸入的螢幕快照。

  1. 選取 [ 儲存 組態]。
  2. 關閉檢視。
  3. 觀察用戶屬性和宣告區段屬性。 Microsoft Entra ID 會針對 BIG-IP APM 驗證和 SSO 對後端應用程式發出用戶屬性。

使用者屬性和宣告資訊的螢幕快照,例如姓氏、電子郵件位址、身分識別等。

注意

新增 BIG-IP 已發佈應用程式預期為標頭的其他宣告。 如果宣告位於 Microsoft Entra ID 中,則會發出更多定義的宣告。 在發出宣告之前,先定義 Microsoft Entra ID 中的目錄成員資格和用戶物件。 請參閱使用 Microsoft Entra ID 設定應用程式的群組宣告。

  1. 在 [ SAML 簽署憑證 ] 區段中,選取 [ 下載]。
  2. 同盟元數據 XML 檔案會儲存在您的電腦上。

[SAML 簽署憑證] 對話方塊上 [同盟元數據 XML 下載] 鏈接的螢幕快照。

Microsoft Entra ID 所建立的 SAML 簽署憑證的存續期為三年。

Microsoft Entra 授權

根據預設,Microsoft Entra ID 會將令牌發行給已授與應用程式存取權的使用者。

  1. 在應用程式的組態檢視中,選取 [ 使用者和群組]。
  2. 選取 [+ 新增使用者],然後在 [新增指派] 中,選取 [使用者和群組]。
  3. 在 [ 使用者和群組] 對話框中,新增授權存取標頭型應用程式的使用者群組。
  4. 選取選取
  5. 選取指派

Microsoft Entra SAML 同盟信任已完成。 接下來,設定 BIG-IP APM 發佈 Web 應用程式,並設定屬性以完成 SAML 預先驗證信任。

進階設定

使用下列各節來設定 SAML、標頭 SSO、存取設定檔等等。

SAML 組態

若要將已發佈的應用程式與 Microsoft Entra ID 同盟,請建立 BIG-IP SAML 服務提供者和對應的 SAML IdP 物件。

  1. 選取 [存取>同盟>SAML 服務提供者>本機 SP 服務>建立]。

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

  2. 輸入名稱

  3. 輸入 Microsoft Entra ID 中定義的實體識別碼。

    [建立新的 SAML SP 服務] 對話框上 [名稱] 和 [實體標識符] 輸入的螢幕快照。

  4. 針對 [SP 名稱] 設定,如果實體識別碼不符合已發佈 URL 的主機名,請進行選取;如果它不是以一般主機名為基礎的 URL 格式,則進行選取。 如果實體識別碼為 urn:mytravel:contosoonline,請提供外部配置和應用程式主機名。

  5. 向下捲動以選取新的 SAML SP 物件。

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

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

  7. 選取 [建立新的 IdP 連線 or]。

  8. 從下拉式清單中,選取 [從元數據]。

    [建立新的 IdP 連線] 下拉功能表中 [從元數據] 選項的螢幕快照。

  9. 流覽至您下載的同盟元數據 XML 檔案。

  10. 輸入 外部 SAML IdP 之 APM 物件的識別提供者名稱 。 例如,MyTravel_EntraID

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

  1. 選取 [ 新增數據列]。
  2. 選取新的 SAML IdP 連線 or
  3. 選取更新

[SAML IdP 連線 ors] 底下 [更新] 選項的螢幕快照。

  1. 選取 [確定]。

已儲存設定的螢幕快照

標頭 SSO 組態

建立 APM SSO 物件。

  1. 選取 [存取>配置文件/>原則個別要求原則>建立]。

  2. 輸入名稱

  3. 至少新增一個 接受的語言

  4. 選取 [已完成]。

    [名稱] 和 [接受的語言] 輸入螢幕快照。

  5. 針對新的個別要求原則,選取 [ 編輯]。

    [每個要求原則] 資料行中 [編輯] 選項的螢幕快照。

  6. 視覺效果原則編輯器隨即啟動。

  7. 在後援,選取+符號。

    後援下加號選項的螢幕快照。

  8. 在 [一般用途] 索引標籤上>,選取 [HTTP 標頭新增專案]。

    HTTP 標頭選項的螢幕快照。

  9. 選取 [ 新增專案]。

  10. 建立三個 HTTP 和標頭修改專案。

  11. 針對 [ 標頭名稱],輸入 upn

  12. 針對 [標頭值],輸入 %{session.saml.last.identity}

  13. 針對 [ 標頭名稱],輸入 employeeid

  14. 針對 [標頭值],輸入 %{session.saml.last.attr.name.employeeid}

  15. 針對 [ 標頭名稱],輸入 group_authz

  16. 針對 [ 標頭值],輸入 %{session.saml.last.attr.name。http://schemas.microsoft.com/ws/2008/06/identity/claims/groups}

注意

大括弧中的 APM 會話變數會區分大小寫。 建議您以小寫定義屬性。

標頭輸入的螢幕快照,在 [HTTP 標頭修改] 底下,於 [屬性] 索引卷標上。

  1. 選取 [儲存]。
  2. 關閉可視化原則編輯器。

可視化原則編輯器的螢幕快照。

存取配置檔組態

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

  1. 選取 [存取>配置檔/原則>存取配置檔][個別會話原則][>建立]。

  2. 針對 [ 名稱],輸入 MyTravel

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

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

  5. 選取 [ 已完成]。

    名稱、配置檔類型和已接受語言的項目螢幕快照。

  6. 針對您所建立的每個會話配置檔,選取 [ 編輯]。

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

  7. 視覺效果原則編輯器隨即啟動。

  8. 在後援下,選取 + 符號。

    加號選項的螢幕快照。

  9. 選取 [驗證>SAML 驗證>新增專案]。

    [驗證] 索引標籤上 [SAML 驗證] 選項的螢幕快照。

  10. 針對 SAML 驗證 SP 組態,從 [AAA 伺服器] 下拉式清單中,選取您建立的 SAML SP 物件。

  11. 選取 [儲存]。

AAA 伺服器選取項目的螢幕快照。

屬性對應

下列指示是選擇性的。 使用LogonID_Mapping設定時,BIG-IP 使用中的會話清單具有已登入的用戶主體名稱 (UPN),而不是會話號碼。 分析記錄或疑難解答時,請使用此數據。

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

    SAML 驗證成功分支上加號的螢幕快照。

  2. 在彈出視窗中,選取 [指派>變數指派>新增專案]。

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

  3. 輸入名稱

  4. 在 [變數指派] 區段中,選取 [新增項目>變更]。 例如,LogonID_Mapping。

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

  5. 針對 [自定義變數],設定 session.saml.last.identity

  6. 針對 [會話變數],設定 session.logon.last.username

  7. 選取 [已完成]。

  8. 選取儲存

  9. 在 [存取原則 成功 ] 分支上,選取 [ 拒絕 終端機]。

  10. 選取允許

  11. 選取 [儲存]。

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

  13. 關閉可視化原則編輯器。

後端集區組態

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

  1. 選取 [ 本機流量 > 集區 > ] 清單 > [建立]。

  2. 針對伺服器集區對象,輸入 [名稱]。 例如,MyApps_VMs。

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

  3. 新增集區成員物件。

  4. 針對 [ 節點名稱],輸入裝載後端Web應用程式之伺服器的名稱。

  5. 針對 [ 位址],輸入裝載應用程式之伺服器的IP位址。

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

  7. 選取 [新增]。

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

    注意

    若要深入瞭解,請移至 K13397 的 my.f5.com :BIG-IP DNS 系統 HTTP 健康情況監視器要求格式的概觀。

虛擬伺服器組態

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

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

  2. 輸入虛擬伺服器 名稱

  3. 針對 [ 目的地位址/遮罩],選取 [ 主機]

  4. 輸入未使用的IP IPv4或IPv6,以指派給BIG-IP以接收用戶端流量。

  5. 針對 [服務埠],選取 []、[443] 和 [HTTPS]。

    名稱、目的地位址掩碼和服務埠的項目螢幕快照。

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

  7. 針對 [SSL 配置檔] [用戶端],選取您建立的用戶端 SSL 配置檔,或保留用於測試的預設值。

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

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

    [來源地址翻譯] 選項的螢幕快照。

  9. 針對 [ 存取原則],選取稍早建立的 存取配置檔 。 此動作會將 Microsoft Entra SAML 預先驗證配置檔和標頭 SSO 原則系結至虛擬伺服器。

  10. 針對 [ 個別要求原則],選取 [SSO_Headers]。

存取配置檔和要求前原則的項目螢幕快照。

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

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

工作階段管理

使用 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。 若要深入了解:

部署

  1. 選取 [ 部署 ] 來認可設定。
  2. 確認應用程式出現在您的租使用者中。
  3. 應用程式是透過 SHA 發行和存取,其 URL 或 Microsoft 入口網站。

Test

以使用者身分執行下列測試。

  1. 選取應用程式外部 URL,或在 MyApps 入口網站中選取應用程式圖示。

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

  3. 重新導向至應用程式的 BIG-IP 虛擬伺服器,並使用 SSO 登入。

  4. 插入的標頭輸出會由標頭型應用程式顯示。

    伺服器變數的螢幕快照,例如UPN、員工標識碼和群組授權。

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

疑難排解

使用下列指引進行疑難解答。

記錄詳細資訊

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

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

BIG-IP 錯誤訊息

如果重新導向之後出現 BIG-IP 錯誤,問題可能與從 Microsoft Entra ID 到 BIG-IP 的 SSO 有關。

  1. 流覽至存取原則>概觀。
  2. 選取 [ 存取報表]。
  3. 執行過去一小時的報表。
  4. 檢閱記錄以取得線索。
  5. 針對您的工作階段,選取 [ 檢視會話變數] 連結。
  6. 確認 APM 收到來自 Microsoft Entra ID 的預期宣告。

沒有 BIG-IP 錯誤訊息

如果沒有出現 BIG-IP 錯誤訊息,則問題可能與從 BIG-IP 到後端應用程式的 SSO 更相關。

  1. 流覽至存取原則>概觀。
  2. 選取 [ 使用中會話]。
  3. 選取作用中會話的連結。
  4. 選取 [ 檢視變數 ] 連結以判斷任何 SSO 問題。
  5. 確認 BIG-IP APM 失敗或成功,以取得正確的使用者和網域識別碼。

深入了解:

  • 移至 APM 變數指派範例的 devcentral.f5.com
  • 移至 BIG-IP 存取原則管理員的 techdocs.f5.com :可視化原則編輯器

資源