教學課程:設定 Microsoft Entra ID 與標頭式 SSO 的 F5 BIG-IP 簡單按鈕之間的 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 解決方案是由下列各項所組成:

應用程式:由 Microsoft Entra SHA 保護的 BIG-IP 已發佈服務。

Microsoft Entra ID:安全性聲明標記語言 (SAML) 識別提供者 (IdP) 負責驗證使用者認證、條件式存取 (CA) 和 SAML 型 SSO 至 BIG-IP。 Microsoft Entra ID 透過 SSO 向 BIG-IP 提供任何必要的工作階段屬性。

BIG-IP:反向 Proxy 和 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 屬性作為標頭
6 應用程式會授權要求並傳回承載

必要條件

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

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

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

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

    • F5 BIG-IP® Best 套件組合。

    • 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 許可權的帳戶。

  • 用來透過 HTTPS 發佈服務的 SSL Web 憑證,或在測試時使用預設 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 身分識別平台的信任,才能存取 Microsoft Graph。

第一個步驟會建立租用戶應用程式註冊,其將用來授權 [簡單按鈕] 存取 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
    • IdentityRiskyUser.Read.All
    • Policy.Read.All
    • Policy.ReadWrite.ApplicationConfiguration
    • Policy.ReadWrite.ConditionalAccess
    • User.Read.All
  8. 為您的組織授與管理員同意。

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

  10. 在 [概觀] 刀鋒視窗中,記下 [用戶端識別碼] 和 [租用戶識別碼]

設定簡單按鈕

起始 APM 的「引導式設定」,以啟動「簡單按鈕範本」。

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

    設定簡單按鈕的螢幕擷取畫面:安裝範本。

  2. 檢閱設定步驟的清單,然後選取 [下一步]

    設定簡單按鈕的螢幕擷取畫面:列出設定步驟。

  3. 遵循發佈應用程式所需的一連串步驟。

    設定步驟流程的螢幕擷取畫面。

組態屬性

[設定屬性] 索引標籤會建立 BIG-IP 應用程式設定和 SSO 物件。 考慮 [Azure 服務帳戶詳細資料] 區段,以將您稍早在 Microsoft entra 租用戶中註冊的用戶端表示為應用程式。 這些設定允許 BIG-IP 的 OAuth 用戶端直接在您的租用戶中,與您一般會手動設定的 SSO 屬性個別註冊 SAML SP。 簡單按鈕會為每個針對 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 ID

此區段會定義您通常用來在 Microsoft Entra 租用戶內手動設定新 BIG-IP SAML 應用程式的所有屬性。 簡單按鈕提供適用於 Oracle PeopleSoft、Oracle E-Business Suite、Oracle JD Edwards 和 SAP ERP 的一組預先定義應用程式範本,以及適用於任何其他應用程式的一般 SHA 範本。 針對此案例,選取 [F5 BIG-IP APM Azure AD 整合] > [新增]

Azure 設定的螢幕擷取畫面:新增 BIG-IP 應用程式。

Azure 設定

  1. 輸入 BIG-IP 在您 Microsoft Entra 租用戶中建立的應用程式 [顯示名稱],以及使用者將在 [我的應用程式] 入口網站 上看到的圖示。

  2. 請勿在 [登入 URL (選擇性)] 中輸入任何資訊來啟用 IdP 起始登入。

    Azure 設定的螢幕擷取畫面 - 新增顯示資訊。

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

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

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

    Azure 設定的螢幕擷取畫面:新增簽署憑證資訊。

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

    Azure 設定的螢幕擷取畫面:新增使用者和群組。

使用者屬性與宣告

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

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

  1. 在 [標頭名稱]輸入 employeeid。

  2. 在 [來源屬性]輸入 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 已發佈的服務,而不需要輸入認證。 簡單按鈕精靈支援 Kerberos、OAuth 持有人和 HTTP 授權標頭的 SSO,我們會啟用後者來設定下列各項。

  • 標頭作業: 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 與使用者代理程式之間的所有工作階段。 若 [簡單按鈕] 在您的 Microsoft Entra 租用戶中具現化 SAML 應用程式,系統也會將 APM SLO 端點填入登出 URL。 如此一來,IdP 從 Microsoft Entra [我的應用程式] 入口網站起始的登出也會終止 BIG-IP 與用戶端之間的工作階段。

也會與此項目一起從您的租用戶匯入已發佈應用程式的 SAML 同盟中繼資料,並將 Microsoft Entra ID 的 SAML 登出端點提供給 APM。 這可確保由 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 包含選項的概觀

摘要

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

您的應用程式現在應該可以直接透過其 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 遠端驗證。 另外還有一份不錯的 BIG-I 參考表,有助於在 LDAP 查詢的這篇 F5 知識文章中診斷 LDAP 相關問題。