共用方式為


設定 F5 的 BIG-IP Easy Button 以使用 Microsoft Entra ID 實施基於標頭的單一登入 (SSO) 方案

在本文中,您將瞭解如何整合 F5 與 Microsoft Entra ID。 在整合 F5 與 Microsoft Entra ID 時,您可以:

  • 在 Microsoft Entra ID 中控制可存取 F5 的人員。
  • 讓使用者使用其 Microsoft Entra 帳戶自動登入 F5。
  • 在一個集中式位置管理您的帳戶。

注意

F5 BIG-IP APM 立即購買

案例描述

此案例會使用 HTTP 授權標頭 查看傳統舊版應用程式,以管理受保護內容的存取權。

因為是舊版,所以該應用程式缺少可支援與 Microsoft Entra ID 直接整合的新式通訊協定。 應用程式可以現代化,但成本高昂,需要仔細規劃,並帶來潛在的停機時間風險。 相反地,透過通訊協定轉換,使用 F5 BIG-IP 應用程式傳遞控制器 (ADC) 來橋接舊版應用程式與新式識別碼控制平面之間的差距。

在應用程式前面具有 BIG-IP,可讓我們使用 Microsoft Entra 預先驗證和標頭型 SSO 來重疊服務,以大幅改善應用程式的整體安全性狀態。

注意

組織也可以使用 Microsoft Entra 應用程式 Proxy 來遠端訪問這種類型的應用程式。

案例架構

此案例的 SHA 解決方案是由下列各項所組成:

應用程式: BIG-IP 已發行的服務受到 Microsoft Entra SHA 保護。

Microsoft Entra 識別碼: 安全性聲明標記語言 (SAML) 識別提供者 (IdP) 負責驗證使用者認證、條件式存取和 SAML 型 SSO 到 BIG-IP。 Microsoft Entra ID 透過單一登入 (SSO) 提供給 BIG-IP 所有必需的工作階段屬性。

BIG-IP: 作為應用程式的反向代理和 SAML 服務提供者(SP),將驗證委派給 SAML IdP,然後對後端應用程式執行基於標頭的單一登入(SSO)。

此案例的 SHA 支援 SP 和 IdP 起始的流程。 下圖說明 SP 起始的流程。

安全混合式存取 - SP 起始流程的截圖。

步驟 描述
1 使用者會連線到應用程式端點 (BIG-IP)
2 BIG-IP APM 存取原則會將使用者重新導向至Microsoft Entra ID (SAML IdP)
3 Microsoft Entra ID 預先對使用者進行驗證,並套用任何強制執行的條件式存取原則
4 使用者會重新導向至 BIG-IP (SAML SP),並使用已發行的 SAML 權杖來執行 SSO
5 BIG-IP 會將 Microsoft Entra 屬性作為 HTTP 標頭插入到發往應用程式的要求中
6 應用程式授權請求並傳回有效載荷

必要條件

無須事先具備 BIG-IP 經驗,但您會需要:

  • Microsoft Entra ID 免費訂用帳戶或更新版本。

  • 在 Azure 中的現有 BIG-IP 或部署 BIG-IP 的虛擬版 (VE)。

  • 下列任一個 F5 BIG-IP 授權 SKU。

    • F5 BIG-IP® 最佳套件組合。

    • F5 BIG-IP Access Policy Manager™ (APM) 獨立授權。

    • 現有 BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM) 上的 F5 BIG-IP Access Policy Manager™ (APM) 附加元件授權。

    • 90 天 BIG-IP 完整功能 試用版授權

  • 從內部部署目錄同步使用者身分識別到 Microsoft Entra ID。

  • 具有Microsoft Entra Application Administrator 許可權的帳戶。

  • SSL Web 憑證,用於透過 HTTPS 發佈服務,或在測試時使用預設 BIG-IP 憑證。

  • 現有的標頭型應用程式,或 設定簡單的 IIS 標頭應用程式 進行測試。

BIG-IP 設定方法

在此案例中,有許多方法可以設定 BIG-IP,包括兩個範本型選項和進階設定。 本文涵蓋最新的引導式設定 16.1,提供簡易按鈕範本。 使用「簡單按鈕」,管理員不再需要在 Microsoft Entra ID 與 BIG-IP 之間來回切換,以啟用適用於 SHA 的服務。 部署和原則管理會直接在 APM 的引導式設定精靈與 Microsoft Graph 之間處理。 BIG-IP APM 與 Microsoft Entra ID 之間的這種豐富整合可確保應用程式可以快速且輕鬆地支援身分識別同盟、SSO 和 Microsoft Entra 條件式存取,進而降低管理負擔。

注意

本指南中所參考的所有範例字串或值都應該替換為實際環境使用的字串或值。

註冊簡單按鈕

在客戶端或服務能存取 Microsoft Graph 之前,必須先經過 Microsoft 身分識別平臺 的信任。

第一個步驟會建立租用戶應用程式註冊,用來授權 輕鬆按鈕 存取 Graph。 透過這些許可權,允許 BIG-IP 推送所需的設定,以在已發行應用程式的 SAML SP 實例與作為 SAML IdP 的 Microsoft Entra ID 之間建立信任。

  1. 使用具有應用程式系統管理許可權的帳戶登入 Azure 入口網站

  2. 從左側瀏覽窗格中,選取 [Microsoft Entra ID] 服務。

  3. 在 [管理] 底下,選取 [應用程式註冊]>[新增註冊]

  4. 輸入應用程式的顯示名稱,例如 F5 BIG-IP Easy Button

  5. 指定誰可以使用應用程式 > [僅此組織目錄中的帳戶]

  6. 選取 [註冊] 以完成伺服器初始註冊。

  7. 瀏覽至 API 許可權 ,並授權下列Microsoft Graph 應用程式權限

    • Application.Read.All(應用程式.讀取.全部)
    • Application.ReadWrite.All
    • Application.ReadWrite.OwnedBy
    • Directory.Read.All (允許讀取所有目錄的權限)
    • Group.Read.All (群組.讀取.全部)
    • 身份高風險使用者讀取全部
    • 讀取所有政策 (Policy.Read.All)
    • 政策.讀寫.應用程式設定
    • 政策.讀寫.條件存取
    • 使用者.Read.All
  8. 為您的組織授與管理員同意。

  9. 在 [憑證和密碼] 刀鋒視窗中,產生新的 [用戶端密碼],然後將其記下。

  10. 在「概觀」邊欄中,記下「用戶端識別碼」和「租用戶識別碼」。

設定簡單按鈕

啟動 APM 的「引導式配置」,以啟動「簡單按鈕模板」。

  1. 瀏覽至 [存取]>[引導式設定]>[Microsoft 整合],然後選取 [Microsoft Entra 應用程式]

  2. [使用下列步驟設定解決方案] 下,會建立必要的對象,檢閱設定步驟列表,然後選取 [ 下一步]。

  3. [引導式設定] 底下,遵循發佈應用程式所需的步驟順序。

組態屬性

[設定屬性] 索引標籤會建立 BIG-IP 應用程式設定和 SSO 物件。 考慮 [Azure 服務帳戶詳細資料] 區段,以將您稍早在 Microsoft entra 租用戶中註冊的用戶端表示為應用程式。 這些設定允許 BIG-IP 的 OAuth 用戶端直接在您的租用戶中個別註冊 SAML SP,並設置您通常會手動配置的 SSO 屬性。 簡單按鈕會為每個針對 SHA 發佈和啟用的 BIG-IP 服務執行此作業。

其中有些是全域設定,因此可以重複使用以發佈更多應用程式,進而減少部署時間和精力。

  1. 輸入唯一的 [組態名稱],讓系統管理員可以輕鬆地區分簡單按鈕組態。

  2. 啟用 [單一登入 (SSO) 和 HTTP 標頭]

  3. 輸入您在租用戶中註冊簡單按鈕用戶端時所記錄的 [租用戶識別碼]、[用戶端識別碼] 和 [用戶端密碼]

  4. 確認 BIG-IP 可以成功連線到您的租用戶,然後選取 [ 下一步]。

    設定一般和服務帳戶屬性的螢幕快照。

服務提供者

服務提供者設定定義透過受 SHA 保護的應用程式 SAML SP 執行個體屬性。

  1. 輸入 主機。 這是受保護應用程式的公用 FQDN。

  2. 輸入 [實體識別碼]。 此為識別碼,Microsoft Entra ID 將用來識別要求權杖的 SAML SP。

    服務提供者設定的螢幕快照。

    選用的 [安全性設定] 指定 Microsoft Entra ID 是否應該加密已發出的 SAML 判斷提示。 加密 Microsoft Entra ID 與 BIG-IP APM 之間的判斷提示,可額外保證內容權杖無法攔截,而且個人或公司資料也不會遭入侵。

  3. 從 [斷言解密私密金鑰] 清單中,選擇 [建立新項目]

    [設定簡易按鈕- 建立新匯入] 的螢幕快照。

  4. 選取 [確定]。 這會在新的索引標籤中開啟 [匯入 SSL 憑證和金鑰] 對話方塊。

  5. 選取 [PKCS 12 (IIS)] 以入您的憑證和私密金鑰。 佈建之後,請關閉瀏覽器索引標籤以返回主要索引標籤。

    [設定簡易按鈕- 匯入新憑證] 的螢幕快照。

  6. 勾選 [啟用加密宣告]

  7. 如果您已啟用加密,則請從 [判斷提示解密私密金鑰] 清單中選取您的憑證。 這是供 BIG-IP APM 用於解密 Microsoft Entra 聲明的證書私鑰。

  8. 如果您已啟用加密,則請從 [判斷提示解密憑證] 清單中選取您的憑證。 這是 BIG-IP 將上傳至 Microsoft Entra ID 以加密已發行 SAML 聲明的憑證。

服務提供者安全性設定的螢幕快照。

Microsoft Entra 識別碼

此區段會定義您通常用來在 Microsoft Entra 租用戶內手動設定新 BIG-IP SAML 應用程式的所有屬性。 Easy Button 為 Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP 和一般 SHA 範本提供一組預先定義的應用程式範本,適用於任何其他應用程式。

在此案例中,在 [Azure 組態 ] 頁面中,選取 [F5 BIG-IP APM Azure AD 整合>新增]。

Azure 設定

[Azure 組態 ] 頁面中,遵循下列步驟:

  1. 組態屬性中,輸入 BIG-IP 於您的 Microsoft Entra 租戶中建立的應用程式 顯示名稱,以及使用者在 MyApps 入口網站上看到的圖示。

  2. 請勿在 登入 URL(可選) 中輸入任何內容,以啟用 IdP 發起的登入。

  3. 選取 [簽署金鑰] 和 [簽署憑證] 旁邊的重新整理圖示,以找出您稍早匯入的憑證。

  4. 在 [簽署金鑰密碼] 中,輸入憑證的密碼。

  5. 啟用 [簽署選項] (選用)。 這可確保 BIG-IP 只接受由 Microsoft Entra ID 所簽署的權杖和宣告。

    Azure 設定的螢幕快照 - 新增簽署憑證資訊。

  6. 使用者和使用者群組 會從您的 Microsoft Entra 租戶動態查詢,並用來授權對應用程式的存取。 新增稍後可用於測試的使用者或群組,否則會拒絕所有存取。

    Azure 設定的螢幕快照 - 新增使用者和群組。

使用者屬性與宣告

使用者驗證成功時,Microsoft Entra ID 會發出 SAML 權杖,其中包含一組可唯一識別使用者的預設宣告和屬性。 [使用者屬性與宣告] 標籤會顯示要對新應用程式發出的預設的宣告。 它也可以讓您設定更多的宣告。

在此範例中,您可以包含一個以上的屬性:

  1. 輸入 Header Name 作為 employeeid。

  2. 輸入 Source Attribute 作為 user.employeeid。

    用戶屬性和宣告的螢幕快照。

其他使用者屬性

在 [其他使用者屬性] 索引標籤中,您可以啟用各種分散式系統 (例如 ORACLE、SAP 和其他需要將屬性儲存在其他目錄中的 JAVA 型) 所需的工作階段增強功能。 然後,可以將從 LDAP 來源提取的屬性插入為其他 SSO 標頭,以根據角色、合作夥伴識別碼等進一步控制存取權。

注意

這項功能與 Microsoft Entra ID 沒有關聯,而是屬性的另一個來源。 

條件式存取原則

條件式存取原則會在 Microsoft Entra 預先驗證後強制執行,以根據裝置、應用程式、位置和風險訊號來控制存取。

根據預設, [可用的原則 ] 檢視會列出不包含用戶型動作的所有條件式存取原則。

[ 選取的原則 ] 檢視預設會顯示以 [所有資源] 為目標的所有原則。 由於這些原則是在租用戶層級強制執行,因此無法取消選取或移到可用原則清單。

選取要套用至所發佈應用程式的原則:

  1. 在 [可用的原則] 清單中,選取所需的原則。
  2. 選取向右箭號,然後將其移至 [選取的原則] 清單。

選取的政策應該已核取《包含》 或《排除》 選項。 如果同時核取這兩個選項,則不會強制執行選取的原則。

條件式存取原則的螢幕快照。

注意

只有在第一次切換至此索引標籤時,才會列出政策清單一次。您可以使用 [重新整理] 按鈕來手動強制精靈查詢您的租用者,但只有在應用程式已部署時,才會顯示此按鈕。

虛擬伺服器屬性

虛擬伺服器是一種 BIG-IP 資料平面物件,由接聽用戶端對應用程式要求的虛擬 IP 位址來表示。 任何收到的流量都會先針對與虛擬伺服器相關聯的 APM 設定檔進行處理和評估,才會根據原則結果和設定進行導向。

  1. 輸入 [目的地位址]。 這是 BIG-IP 可用來接收用戶端流量的任何可用 IPv4/IPv6 位址。 對應的記錄也應該存在於 DNS 中,讓用戶端能夠將 BIG-IP 已發佈應用程式的外部 URL 解析為此 IP,而非應用程式本身。 使用測試 PC 的 localhost DNS 適合進行測試。

  2. 針對 HTTPS 輸入 服務埠443

  3. 核取 [啟用重新導向連接埠],然後輸入 [重新導向連接埠]。 這會將傳入的 HTTP 用戶端流量重新導向至 HTTPS。

  4. 用戶端 SSL 設定檔可以啟用適用 HTTPS 的虛擬伺服器,所以可以透過 TLS 加密用戶端連線。 選取您在必要條件期間建立的 [用戶端 SSL 設定檔],或在測試時保留預設值。

    虛擬伺服器的螢幕快照。

池屬性

[ 應用程式集區 ] 索引標籤會詳細說明以集區表示之 BIG-IP 背後的服務,其中包含一或多個應用程式伺服器。

  1. 從 [選取集區] 中選擇。 建立新的集區,或選取現有集區。

  2. 將 [負載平衡方法] 選擇為 Round Robin

  3. 針對 [集區伺服器] 選取現有的節點,或針對裝載標頭式應用程式的伺服器指定 IP 和連接埠。

    應用程式集區的螢幕快照。

我們的後端應用程式位於 HTTP 連接埠 80 上,但如果您是 HTTPS,顯然會切換至 443。

單一登入和 HTTP 標頭

啟用 SSO 可讓使用者存取 BIG-IP 已發佈的服務,而不需要輸入認證。 簡單按鈕精靈 支援 SSO 的 Kerberos、OAuth Bearer 和 HTTP 授權標頭,我們將啟用 HTTP 授權標頭來設定以下內容。

  • 標頭作業:Insert

  • 標頭名稱:upn

  • 標頭值:%{session.saml.last.identity}

  • 標頭作業:Insert

  • 標頭名稱:employeeid

  • 標頭值:%{session.saml.last.attr.name.employeeid}

    SSO 和 HTTP 標頭的螢幕快照。

注意

大括弧內所定義的 APM 工作階段變數是區分大小寫。 例如,如果您在 Microsoft Entra 屬性名稱定義為 orclguid 時輸入 OrclGUID,則會導致屬性對應失敗。

工作階段管理

BIG-IP 的工作階段管理設定用來定義使用者工作階段終止或允許繼續的條件、使用者和 IP 位址的限制,以及對應的使用者資訊。 如需這些設定的詳細資訊 ,請參閱 F5 的檔

不過,這裡未涵蓋單一登出 (SLO) 功能,而此功能確保在使用者登出時,會終止 IdP、BIG-IP 與使用者代理程式之間的所有工作階段。 若 Easy Button 在您的 Microsoft Entra 租用戶中建立 SAML 應用程式,系統也會將 APM 的 SLO 端點填入登出 URL。 IdP 從 Microsoft Entra [我的應用程式] 入口網站起始的登出操作,也會終止 BIG-IP 與用戶端之間的會話。

隨著這一過程,還會從您的租用戶匯入已發佈應用程式的 SAML 同盟中繼資料,為 APM 提供 Microsoft Entra ID 的 SAML 登出端點。 這可確保由 SP 起始的登出操作會終止用戶端與 Microsoft Entra ID 之間的工作階段。 但為了達到真正的效用,必須要讓 APM 確切得知使用者登出應用程式的時間。

如果使用 BIG-IP Webtop 入口網站來存取已發佈的應用程式,那麼 APM 處理登出時,將會同時呼叫 Microsoft Entra 的登出端點。 但請考慮未使用 BIG-IP Webtop 入口網站的情況,屆時使用者沒辦法指示 APM 登出。即使使用者登出應用程式本身,BIG-IP 在技術上也不會察覺。 因此,基於此原因,應謹慎考慮 SP 發起的登出,以確保在不再需要時能安全終止會話。 達成此目的的一種方法,是將 SLO 函數新增至您的應用程式登出按鈕,使其可以將您的用戶端重新導向至 Microsoft Entra SAML 或 BIG-IP 登出端點。 您可以在 [應用程式註冊] 端點 中找到您租戶的 SAML 登出端點 URL。

如果無法對應用程式進行變更,則請考慮讓 BIG-IP 接聽應用程式登出呼叫,並在偵測到要求時讓其觸發 SLO。 請參閱我們的 Oracle PeopleSoft SLO 指引 ,以使用 BIG-IP irule 來達成此目的。 更多關於使用 BIG-IP iRules 達成此目的的詳細資訊,請參閱 F5 知識文章 根據 URI 參考的檔名設定自動會話終止(登出) 以及 登出 URI Include 選項的概觀

摘要

這最後一個步驟提供您的設定明細。 選取 [部署] 以認可所有設定,並確認應用程式現在存在於企業應用程式的租用戶清單中。

您的應用程式現在應該可以直接透過其 URL 或透過 Microsoft 的應用程式入口網站,來透過 SHA 進行發佈和存取。

瀏覽器連線到應用程式的外部 URL,或在 Microsoft MyApps 入口網站中選取應用程式的圖示。 向 Microsoft Entra ID 進行驗證之後,系統會將您重新導向至應用程式的 BIG-IP 虛擬伺服器,並透過 SSO 自動登入。

為了提高安全性,使用此模式的組織還可以考慮封鎖所有對應用程式的直接存取,從而強制通過 BIG-IP 的嚴格路徑。

進階部署

在某些情況下,引導式設定範本可能缺乏彈性來達成更具體的需求。 針對這些案例,請參閱 標頭型 SSO 的進階設定

或者,BIG-IP 可讓您選擇停用「引導式設定的嚴格管理模式」。 這可讓您手動調整您的設定,即使大量的設定都是透過精靈型範本自動完成也是一樣。

您可以導覽至 [存取] > [引導式設定],然後在您應用程式設定的資料列最右側選取「小型掛鎖圖示」

[設定簡易按鈕 - 嚴格管理] 的螢幕快照。

此時,無法再透過精靈 UI 進行變更,但與應用程式已發行實例相關聯的所有 BIG-IP 對象都會解除鎖定以進行直接管理。

注意

重新啟用嚴格模式以及部署設定,將會覆寫在引導式設定 UI 外部執行的任何設定,因此建議使用適用於生產服務的進階設定方法。

疑難排解

無法存取 SHA 保護的應用程式可能是許多因素所造成。 BIG-IP 記錄有助於快速找出連線能力、SSO、原則違規或變數對應設定錯誤的各種問題。 開始進行疑難排解時,請增加日誌的詳細程度層級。

  1. 導覽至 [存取原則] > [概觀] > [事件記錄檔] > [設定]

  2. 選擇已發佈應用程式的資料列,然後編輯存取系統記錄檔

  3. 從 SSO 清單中選取 [偵錯],然後選取 [確定]

請重現問題,然後檢查日誌,但請記得在完成後將其切換回來,因為冗長模式會生成大量資料。

如果您在 Microsoft Entra 預先驗證成功之後,立即看到標有 BIG-IP 品牌的錯誤,則問題可能與從 Microsoft Entra ID 到 BIG-IP 的 SSO 有關。

  1. 導覽至 [存取] > [概觀] > [存取報告]

  2. 執行過去一小時的報告,以查看記錄是否提供任何線索。 您的工作階段的 [檢視工作階段] 變數連結也有助於判斷 APM 是否收到了來自 Microsoft Entra ID 的預期主張。

如果您看不到 BIG-IP 錯誤頁面,則問題可能與後端要求有關,或與從 BIG-IP 到應用程式的 SSO 有關。

  1. 在這種情況下,前往 [存取原則] > [概觀] > [作用中工作階段],然後選取作用中工作階段的連結。

  2. 此位置中的 [檢視變數] 連結可能也有助於分析 SSO 問題的根本原因,特別是在 BIG-IP APM 無法從 Microsoft Entra ID 或其他來源獲取正確屬性時。

如需詳細資訊,請流覽此 F5 知識文章 :設定 Active Directory 的 LDAP 遠端驗證。 此外,此 F5 關於 LDAP 查詢的知識文章中有一個很棒的 BIG-IP 參考表,可以幫助診斷 LDAP 相關問題。