教學課程:針對標頭式和 LDAP 單一登入設定 F5 BIG-IP 簡單按鈕
在本文中,您可以使用 F5 BIG-IP 簡易按鈕引導式設定 16.1,瞭解如何使用 Microsoft Entra ID 來保護標頭和 LDAP 型應用程式。 將 BIG-IP 與 Microsoft Entra ID 整合可提供許多優點:
- 改善治理:請參閱 啟用遠端工作的零信任架構,並深入瞭解 Microsoft Entra 預先驗證
- 另請參閱 什麼是條件式存取? 以瞭解其如何協助強制執行組織原則
- Microsoft Entra ID 與 BIG-IP 已發佈服務之間的完整單一登入 (SSO)
- 從單一控制平面 Microsoft Entra 系統管理中心 管理身分識別和存取權限
若要深入瞭解更多優點,請參閱 F5 BIG-IP 與 Microsoft Entra 整合。
案例描述
此案例著重於使用 HTTP 授權標頭 (源自 LDAP 目錄屬性) 的傳統舊版應用程式,來管理對受保護內容的存取。
由於該應用程式為舊版,所以缺少可支援與 Microsoft Entra ID 直接整合的新式通訊協定。 您可以將應用程式現代化,但成本高昂、需要規劃,而且會帶來潛在停機時間的風險。 您可以改為使用 F5 BIG-IP 應用程式傳遞控制器 (ADC),透過通訊協定轉換來橋接舊版應用程式與新式識別碼控制平面之間的差距。
讓應用程式擁有 BIG-IP 可使服務與 Microsoft Entra 預先驗證和標頭型 SSO 重疊,改善應用程式的整體安全性狀態。
案例架構
適用於此案例的安全混合式存取解決方案具有:
- 應用程式 - 將由 Microsoft Entra ID 安全混合式存取 (SHA) 保護的 BIG-IP 已發佈服務
- Microsoft Entra ID - 安全性聲明標記語言 (SAML) 識別提供者 (IdP) 會驗證使用者認證、條件式存取,以及對 BIG-IP 的 SAML 型 SSO。 Microsoft Entra ID 透過 SSO 向 BIG-IP 提供必要的工作階段屬性。
- HR 系統 - 以 LDAP 為基礎的員工資料庫作為應用程式存取權限的真相來源
- BIG-IP - 應用程式的反向 Proxy 和 SAML 服務提供者 (SP),將驗證委派給 SAML IdP,然後對後端應用程式執行標頭型 SSO
適用於此案例的 SHA 支援 SP 和 IdP 起始的流程。 下圖說明 SP 起始的流程。
- 使用者會連線到應用程式端點 (BIG-IP)
- BIG-IP APM 存取原則會將使用者重新導向至Microsoft Entra ID (SAML IdP)
- Microsoft Entra ID 預先對使用者進行驗證,並套用強制執行的條件式存取原則
- 使用者會重新導向至 BIG-IP (SAML SP),並使用已發行的 SAML 權杖來執行 SSO
- BIG-IP 向 LDAP 型 HR 系統要求更多屬性
- BIG-IP 會將 Microsoft Entra ID 和 HR 系統屬性插入,作為應用程式要求中的標頭
- 應用程式會使用擴充的工作階段權限來授與存取權
必要條件
您不需要先前有 BIG-IP 體驗,但您需要:
- 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 Web 憑證,或在測試時使用預設的 BIG-IP 憑證
- 標頭式應用程式或設定簡單的 IIS 標頭應用程式進行測試
- 支援 LDAP的 使用者目錄,例如 Windows Active Directory 輕量型目錄服務 (AD LDS)、OpenLDAP 等等。
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 實例與已發行應用程式的之間的信任,並將 Microsoft Entra ID 作為 SAML IdP。
以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[應用程式]>[應用程式註冊]>[新增註冊]。
輸入應用程式的顯示名稱。 例如,F5 BIG-IP 簡單按鈕。
指定誰可以使用應用程式 > [僅此組織目錄中的帳戶]。
選取註冊。
瀏覽至 [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
為您的組織授與管理員同意。
在 [憑證與秘密]上,產生新的 客戶端密碼。 記下此祕密。
在 [概觀] 上,記下用戶端識別碼和租用戶識別碼。
設定 [簡易] 按鈕
起始 APM 引導式設定,以啟動簡單按鈕範本。
瀏覽至 [存取]>[引導式設定]>[Microsoft整合],然後選取 [Microsoft Entra 應用程式]。
檢閱步驟清單,然後選取 [下一步]
若要發佈您的應用程式,請遵循下列步驟。
組態屬性
[設定屬性] 索引標籤會建立 BIG-IP 應用程式設定和 SSO 物件。 Azure 服務帳戶詳細資料 區段代表您稍早在 Microsoft entra 租用戶中註冊的應用程式型用戶端。 這些設定可讓 BIG-IP OAuth 用戶端在租用戶中註冊 SAML SP,並使用您要手動設定的 SSO 屬性。 簡單按鈕會為每個針對 SHA 發佈並啟用的 BIG-IP 服務執行此動作。
這其中有些設定是全域的,因而可重複用來發佈更多應用程式,以減少部署時間和精力。
- 輸入唯一的設定名稱,讓管理員可以輕鬆地區分簡單按鈕設定。
- 開啟 單一登入 (SSO) 和 HTTP 標頭。
- 輸入 租用戶識別碼、用戶端識別碼,以及您在租用戶中註冊 [簡易按鈕] 用戶端時記下的 用戶端密碼。
- 確認 BIG-IP 可以連線至您的租用戶。
- 選取 [下一步]。
服務提供者
服務提供者設定定義透過受 SHA 保護的應用程式 SAML SP 執行個體屬性。
輸入 主機,這是要保護的應用程式的公用完整網域名稱 (FQDN)。
輸入 [實體標識碼],Microsoft Entra ID 使用此識別碼來識別要求權杖的 SAML SP。 使用選用安全性設定來指定 Microsoft Entra ID 是否將發行的 SAML 判斷提示加密。 加密 Microsoft Entra ID 與 BIG-IP APM 之間的判斷提示,可確保內容權杖無法攔截,也無法危害個人或公司資料。
從 [判斷提示解密私密金鑰] 清單中,選取 [新建]
選取 [確定]。 [匯入 SSL 憑證和金鑰] 對話方塊會在新的索引標籤中開啟。
選取 [PKCS 12 (IIS)] 以入您的憑證和私密金鑰。 佈建之後,關閉瀏覽器索引標籤以返回主要索引標籤。
核取 [啟用加密的判斷提示]。
如果您已啟用加密,從 [判斷提示解密私密金鑰] 清單中選取您的憑證。 BIG-IP APM 會使用此憑證私密金鑰來解密Microsoft Entra 判斷提示。
如果您已啟用加密,從 [判斷提示解密憑證] 清單中選取您的憑證。 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 Microsoft Entra ID 整合] > [新增]。
Azure 設定
輸入 BIG-IP 在您 Microsoft Entra 租用戶中建立的應用程式 顯示名稱,以及使用者在 MyApps 入口網站 上看到的圖示。
不要為 登入 URL (選擇性) 建立任何項目。
若要找出您匯入的憑證,請選取 [簽署金鑰] 和 [簽署憑證] 旁邊的 [重新整理] 圖示。
在 [簽署金鑰複雜密碼] 中,輸入憑證密碼。
啟用 簽署選項 (選擇性) 以確保 BIG-IP 接受由 Microsoft Entra ID 簽署的權杖和宣告。
使用者和使用者群組 會從您的 Microsoft Entra 租用戶動態查詢,並授權對應用程式的存取權限。 新增用於測試的使用者或群組,否則存取會被拒絕。
使用者屬性與宣告
使用者進行驗證時,Microsoft Entra ID 會發出 SAML 權杖,其中包含一組可唯一識別使用者的預設宣告和屬性。 使用者屬性和宣告 索引標籤會顯示新應用程式要發出的預設宣告。 其也可讓您設定更多宣告。
針對此範例,包含一個以上的屬性:
對於 [宣告名稱],請輸入 employeeid。
針對 [來源屬性] 輸入 user.employeeid。
其他使用者屬性
在 [其他使用者屬性] 索引標籤上,您可以針對分散式系統 (例如 Oracle、SAP 及其他需要將屬性儲存於其他目錄的 JAVA 型實作) 啟用工作階段增強功能。 從 LDAP 來源擷取的屬性可以插入,作為其他 SSO 標頭,以根據角色、合作夥伴識別碼等來控制存取權限。
啟用 [進階設定] 選項。
核取 [LDAP 屬性] 核取方塊。
在 [選擇驗證伺服器] 中,選取 [建立新的]。
視您的設定而定,請選取 [使用集區] 或 [直接] 伺服器連接模式以提供目標 LDAP 服務的 [伺服器位址]。 如果使用單一 LDAP 伺服器,則請選取 [直接]。
針對 服務連接埠,輸入 389、636 (安全)或 LDAP 服務使用的另一個連接埠。
對於 [基底搜尋 DN],請輸入包含 APM 針對 LDAP 服務查詢所驗的帳戶之位置的辨別名稱。
對於 搜尋 DN,請輸入位置的辨別名稱,其中包含 APM 透過 LDAP 查詢的使用者帳戶物件。
將這兩個成員資格選項設定為 [無],並新增必須從 LDAP 目錄傳回的使用者物件屬性名稱。 針對此案例:eventroles。
條件式存取原則
條件式存取原則會在 Microsoft Entra 預先驗證後強制執行,以根據裝置、應用程式、位置和風險訊號來控制存取。
可用的原則檢視會列出不包含用戶動作的條件式存取原則。
[ 選取的原則 ] 檢視會顯示以所有資源為目標的原則。 這些原則無法取消選取或移至「可用的原則」清單,因為這些會在租用戶層級強制執行。
選取要套用至所發佈應用程式的原則:
在 [可用原則] 清單中選取原則。
選取向右箭號,然後將其移至 [選取的原則] 清單。
注意
選取的原則已核取 [包含] 或 [排除] 選項。 如果同時核取這兩個選項,則不會強制執行選取的原則。
注意
當您一開始選取此索引標籤時,會列舉原則清單一次。使用 [重新整理] 按鈕,手動強制精靈查詢您的租用戶。 部署應用程式時會出現此按鈕。
虛擬伺服器屬性
虛擬伺服器是一種 BIG-IP 資料平面物件,由接聽用戶端對應用程式要求的虛擬 IP 位址來表示。 接收到的流量會先針對與虛擬伺服器相關聯的 APM 設定檔進行處理和評估,然後根據原則加以導向。
輸入 目的地位址,即 BIG-IP 可用來接收用戶端流量的可用 IPv4/IPv6 位址。 DNS 中應該會有對應的記錄,讓用戶端能夠將 BIG-IP 已發佈應用程式的外部 URL 解析為此 IP,而非應用程式。 使用測試 PC localhost DNS 進行測試是可接受的。
針對 [服務連接埠] 輸入 443 和 HTTPS。
核取 [啟用重新導向連接埠],然後輸入重新導向連接埠,以將傳入的 HTTP 用戶端流量重新導向 HTTPS。
用戶端 SSL 設定檔會啟用 HTTPS 的虛擬伺服器,因此用戶端連線會透過傳輸層安全性 (TLS) 加密。 選取您建立的用戶端 SSL 設定檔,或在測試時保留預設值。
集區屬性
[應用程式集區] 索引標籤會將受 BIG-IP 保護的服務呈現為一個集區,其中包含一或多部應用程式伺服器。
從 [選取集區] 中選擇。 建立新集區,或選取一個。
選擇 [負載平衡方法],例如循環配置資源。
針對 [集區伺服器] 選取節點,或針對裝載標頭式應用程式的伺服器指定 IP 和連接埠。
注意
我們的後端應用程式位於 HTTP 連接埠 80 上。 如果您使用的是 HTTPS,請切換至 443。
單一登入和 HTTP 標頭
啟用 SSO 可讓使用者存取 BIG-IP 已發佈的服務,而不需輸入認證。 [簡單按鈕精靈] 支援 Kerberos、OAuth 持有人和 HTTP 授權標頭以進行 SSO。
使用下列清單來設定選項。
標頭作業:插入
標頭名稱:upn
標頭值:%{session.saml.last.identity}
標頭作業:插入
標頭名稱:employeeid
標頭值:%{session.saml.last.attr.name.employeeid}
標頭作業:插入
標頭名稱:eventroles
標頭值:%{session.ldap.last.attr.eventroles}
注意
大括弧內的 APM 工作階段變數會區分大小寫。 例如,如果您輸入 OrclGUID,且 Microsoft Entra 屬性名稱為 orclguid,就會發生屬性對應失敗。
工作階段管理設定
BIG-IP 工作階段管理設定會定義使用者工作階段終止或允許其繼續的條件、使用者和 IP 位址的限制,以及對應的使用者資訊。 請參閱 F5 文章 K18390492:安全性 | BIG-IP APM 作業指南 \(英文\),以取得這些設定的詳細資料。
未涵蓋的內容是單一登出 (SLO) 功能,可確保在使用者登出時終止 IdP、BIG-IP 和使用者代理程式之間的工作階段。當您的 [簡易] 按鈕在您的 Microsoft Entra 租用戶中具現化 SAML 應用程式時,它會將 APM SLO 端點填入登出 URL。 從 Microsoft Entra 我的應用程式入口網站起始的 IdP 起始登出會終止 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 iRules。 如需使用 BIG-IP iRules 的詳細資訊,請參閱:
摘要
這最後一個步驟提供您的設定明細。
選取 [部署] 以認可設定,並確認應用程式位於企業應用程式的租用戶清單中。
您的應用程式是透過 SHA 發行和存取的,可透過 URL 或 Microsoft 應用程式入口網站。 為了提高安全性,使用此模式的組織可以封鎖對應用程式的直接存取。 此動作會強制透過 BIG-IP 的嚴格路徑。
下一步
從瀏覽器中,在 Microsoft MyApps 入口網站中,連線至應用程式外部 URL,或選取應用程式圖示。 向 Microsoft Entra ID 進行驗證之後,系統會將您重新導向至應用程式的 BIG-IP 虛擬伺服器,並透過 SSO 登入。
請參閱下列螢幕擷取畫面,以取得標頭式應用程式中已插入標頭的輸出。
為了提高安全性,使用此模式的組織可以封鎖對應用程式的直接存取。 此動作會強制透過 BIG-IP 的嚴格路徑。
進階部署
引導式設定範本缺乏達成特定需求的彈性。
在 BIG-IP 中,您可以停用引導式設定 嚴格的管理模式。 雖然您大部分的設定都是透過精靈型範本自動進行,但您接著可以手動變更設定。
針對您的應用程式組態,您可以瀏覽至 [存取]>[引導式設定],然後選取資料列最右邊的小型 掛鎖 圖示。
此時,無法再透過精靈 UI 進行變更,但會解除鎖定與應用程式已發佈執行個體相關聯的所有 BIG-IP 物件,以進行直接管理。
注意
重新啟用 strict 模式並部署設定,會覆寫在引導式設定 UI 之外執行的任何設定。 我們建議用於生產服務的進階設定方法。
疑難排解
BIG-IP 記錄
BIG-IP 記錄有助於隔離與連線能力、SSO、原則違規或變數對應設定錯誤有關的問題。
若要進行疑難排解,您可以提高記錄詳細資訊層級。
- 導覽至 [存取原則] > [概觀] > [事件記錄檔] > [設定]。
- 選取已發佈應用程式的資料列,然後選取 [編輯] > [存取系統記錄檔]。
- 從 SSO 清單中,選取 [偵錯],然後選取 [確定]。
重現您的問題,然後檢查記錄,但在完成時還原此設定。 詳細資訊模式會產生大量資料。
BIG-IP 錯誤頁面
如果在 Microsoft Entra 預先驗證之後出現 BIG-IP 錯誤,問題可能與從 Microsoft Entra ID 到 BIG-IP 的 SSO 有關。
- 導覽至 [存取] > [概觀] > [存取報告]。
- 執行過去一小時的報告,以查看記錄是否提供任何線索。
- 使用工作階段 檢視變數 連結,以瞭解 APM 是否收到來自 Microsoft Entra ID 的預期宣告。
後端要求
如果未出現錯誤頁面,則問題可能與後端要求有關,或與從 BIG-IP 到應用程式的 SSO 有關。
- 導覽至 [存取原則] > [概觀] > [作用中工作階段],然後選取作用中工作階段的連結。
- 若要協助找出問題的根本原因,請使用 檢視變數 連結,特別是當 BIG-IP APM 無法從 Microsoft Entra ID 或其他來源取得正確的屬性時。
驗證 APM 服務帳戶
若要驗證 LDAP 查詢的 APM 服務帳戶,請由 BIG-IP Bash 殼層中使用下列命令。 確認使用者物件的驗證和查詢。
ldapsearch -xLLL -H 'ldap://192.168.0.58' -b "CN=partners,dc=contoso,dc=lds" -s sub -D "CN=f5-apm,CN=partners,DC=contoso,DC=lds" -w 'P@55w0rd!' "(cn=testuser)"
如需詳細資訊,請參閱 F5 文章 K11072:設定適用於 Active Directory 的 LDAP 遠端驗證 \(英文\)。 您可以使用 BIG-IP 參考資料表,協助診斷下列 AskF5 文件中與 LDAP 相關的問題:LDAP 查詢 \(英文\)。