將 BIG-IP 與 Microsoft Entra ID 整合可提供許多優點,包括:
- 透過 Microsoft Entra 預先驗證和條件式存取,改善零信任治理
- Microsoft Entra ID 與 BIG-IP 已發佈服務之間的完整 SSO
- 從單一控制平面 (即 Azure 入口網站) 來管理身分識別和存取權
若要了解所有優點,請參閱 F5 BIG-IP 與 Microsoft Entra 整合的文章,以及什麼是搭配 Microsoft Entra ID 的應用程式存取和單一登入。
案例描述
此案例會查看使用「HTTP 授權標頭」的傳統「Oracle EBS 應用程式」,以管理受保護內容的存取權。
因為是舊版,所以該應用程式缺少可支援與 Microsoft Entra ID 直接整合的新式通訊協定。 您可以現代化應用程式,但成本很高,需要進行仔細規劃,並且會導致可能的停機風險。 相反地,透過通訊協定轉換,使用 F5 BIG-IP 應用程式傳遞控制器 (ADC) 來橋接舊版應用程式與新式識別碼控制平面之間的差距。
在應用程式前面具有 BIG-IP,可讓我們使用 Microsoft Entra 預先驗證和標頭型 SSO 來重疊服務,以大幅改善應用程式的整體安全性狀態。
案例架構
此案例的安全混合式存取解決方案是由數個元件所組成,包括多層式 Oracle 結構:
Oracle EBS 應用程式:由 Microsoft Entra SHA 保護的 BIG-IP 已發佈服務。
Microsoft Entra ID:安全性聲明標記語言 (SAML) 識別提供者 (IdP) 負責驗證使用者認證、條件式存取 (CA) 和 SAML 型 SSO 至 BIG-IP。 Microsoft Entra ID 透過 SSO 向 BIG-IP 提供任何必要的工作階段屬性。
Oracle Internet Directory (OID):裝載使用者資料庫。 透過 LDAP 針對授權屬性進行的 BIG-IP 檢查。
Oracle AccessGate:在發出 EBS 存取 Cookie 之前,使用 OID 服務透過反向通道來驗證授權屬性
BIG-IP:反向 Proxy 和 SAML 服務提供者 (SP) 至應用程式,並先將驗證委派給 SAML IdP,再執行標頭型 SSO 至 Oracle 應用程式。
此案例的 SHA 支援 SP 和 IdP 起始的流程。 下圖說明 SP 起始的流程。
必要條件
不需要事先具備 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 ID 內建立並流回內部部署目錄的使用者身分識別
- 具有 Microsoft Entra Application Administrator 許可權的帳戶
- 用來透過 HTTPS 發佈服務的 SSL Web 憑證,或在測試時使用預設 BIG-IP 憑證
- 現有的 Oracle EBS 套件,包括 Oracle AccessGate 和已啟用 LDAP 的 OID (Oracle Internet Database)
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 之間的信任所需的設定。
- 使用具有應用程式管理權限的帳戶登入 Azure 入口網站。
- 從左側瀏覽窗格中,選取 [Microsoft Entra ID] 服務。
- 在 [管理] 底下,選取 [應用程式註冊]>[新增註冊]。
- 輸入應用程式的顯示名稱,例如
F5 BIG-IP Easy Button
。 - 指定誰可以使用應用程式 > [僅此組織目錄中的帳戶]。
- 選取 [註冊] 以完成伺服器初始註冊。
- 瀏覽至 [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 應用程式]。
2. 檢閱設定步驟的清單,然後選取 [下一步]
3. 遵循發佈應用程式所需的一連串步驟。
組態屬性
[設定屬性] 索引標籤會建立 BIG-IP 應用程式設定和 SSO 物件。 考慮 [Azure 服務帳戶詳細資料] 區段,以將您稍早在 Microsoft entra 租用戶中註冊的用戶端表示為應用程式。 這些設定允許 BIG-IP 的 OAuth 用戶端直接在您的租用戶中,與您一般會手動設定的 SSO 屬性個別註冊 SAML SP。 簡單按鈕會為每個針對 SHA 發佈和啟用的 BIG-IP 服務執行此作業。
其中有些是全域設定,因此可以重複使用於發佈更多應用程式,進而減少部署時間和精力。
- 提供唯一的 [設定名稱],讓管理員輕鬆地區分「簡單按鈕」設定
- 啟用 [單一登入 (SSO) 和 HTTP 標頭]
- 輸入您在租用戶中註冊簡單按鈕用戶端時所記錄的 [租用戶識別碼]、[用戶端識別碼] 和 [用戶端祕密]。
- 選取 [下一步] 之前,請確認 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 範本。 在此案例中,選取 [Oracle E-Business Suite] > [新增]。
Azure 設定
1. 輸入 BIG-IP 在您 Microsoft Entra 租用戶中建立的應用程式 [顯示名稱],以及使用者在 [我的應用程式] 入口網站上看到的圖示
2. 在 [登入 URL (選用)] 中,輸入所要保護 EBS 應用程式的公用 FQDN,以及 Oracle EBS 首頁的預設路徑
3. 選取 [簽署金鑰] 和 [簽署憑證] 旁邊的重新整理圖示,以找出您稍早匯入的憑證
4. 在 [簽署金鑰複雜密碼] 中,輸入憑證的密碼
5. 啟用 [簽署選項] (選用)。 這可確保 BIG-IP 只接受 Microsoft Entra ID 所簽署的權杖和宣告
6. 使用者和使用者群組會從您的 Microsoft Entra 租用戶動態查詢,並用來授權對應用程式的存取權限。 新增您稍後可用於測試的使用者或群組,否則將會拒絕所有存取
使用者屬性與宣告
使用者驗證成功時,Microsoft Entra ID 會發出 SAML 權杖,其中包含一組可唯一識別使用者的預設宣告和屬性。 [使用者屬性與宣告] 索引標籤會顯示要對新應用程式發出的預設宣告。 其也可讓您設定更多宣告。
如有必要,您可以納入其他 Microsoft Entra 屬性,但 Oracle EBS 案例只需要預設屬性。
其他使用者屬性
[其他使用者屬性] 索引標籤可以支援各種分散式系統,而這些系統需要其他目錄中所儲存的屬性來進行工作階段增強。 然後,可以將從 LDAP 來源提取的屬性插入為其他 SSO 標頭,以根據角色、合作夥伴識別碼等進一步控制存取權。
- 啟用 [進階設定] 選項
- 核取 [LDAP 屬性] 核取方塊
- 選取 [選擇驗證伺服器] 中的 [建立新的]
- 根據您的設定,選取 [使用集區] 或 [直接] 伺服器連線模式。 這會提供目標 LDAP 服務的 [伺服器位址]。 如果使用單一 LDAP 伺服器,則請選取 [直接]。
- 將 [服務連接埠] 輸入為 3060 (預設值)、3161 (安全),或 Oracle LDAP 服務在其上運作的任何其他連接埠
- 輸入從中搜尋的 [基本搜尋 DN] (辨別名稱)。 此搜尋 DN 用來搜尋整個目錄中的群組。
- 將 [管理員 DN] 設定為帳戶的確切辨別名稱和其密碼,而 APM 將使用此帳戶來對 LDAP 查詢進行驗證
8. 保留所有預設 [LDAP 結構描述屬性]
9. 在 [LDAP 查詢屬性] 底下,將 [搜尋 DN] 設定為 LDAP 伺服器的基礎節點,以從中搜尋使用者物件
10. 新增必須從 LDAP 目錄傳回的使用者物件屬性名稱。 針對 EBS,預設值為 orclguid
條件式存取原則
條件式存取原則會在 Microsoft Entra 預先驗證後強制執行,以根據裝置、應用程式、位置和風險訊號來控制存取。
[可用的原則] 檢視預設會列出所有未含使用者動作的條件式存取原則。
[選取的原則] 檢視預設會顯示以所有雲端應用程式為目標的所有原則。 這些原則在租用戶層級強制執行時,無法取消選取或移至 [可用的原則] 清單。
選取要套用至所發佈應用程式的原則:
- 在 [可用的原則] 清單中,選取所需的原則
- 選取向右箭號,然後將它移至 [選取的原則] 清單選取的原則應該已核取 [包含] 或 [排除] 選項。 如果同時核取這兩個選項,則不會強制執行原則。
⚠︎ 注意
只有在第一次切換至此索引標籤時,才會列舉原則清單一次。您可以使用 [重新整理] 按鈕來手動強制精靈查詢您的租用戶,但只有在已部署應用程式時,才會顯示此按鈕。
虛擬伺服器屬性
虛擬伺服器是一種 BIG-IP 資料平面物件,由接聽用戶端對應用程式要求的虛擬 IP 位址來表示。 任何收到的流量都會先針對與虛擬伺服器相關聯的 APM 設定檔進行處理和評估,才會根據原則結果和設定進行導向。
- 輸入 [目的地位址]。 這是 BIG-IP 可用來接收用戶端流量的任何可用 IPv4/IPv6 位址。 對應的記錄也應該存在於 DNS 中,讓用戶端能夠將 BIG-IP 已發佈應用程式的外部 URL 解析為此 IP,而非應用程式本身。 使用測試 PC 的 localhost DNS 適合進行測試。
- 針對 HTTPS,將 [服務連接埠] 輸入為 443
- 核取 [啟用重新導向連接埠],然後輸入 [重新導向連接埠]。 它會將傳入的 HTTP 用戶端流量重新導向至 HTTPS
- 用戶端 SSL 設定檔可以啟用適用 HTTPS 的虛擬伺服器,所以可以透過 TLS 加密用戶端連線。 選取您在必要條件期間建立的 [用戶端 SSL 設定檔],或在測試時保留預設值
集區屬性
[應用程式集區] 索引標籤會詳述受 BIG-IP 保護的服務,而這些服務以包含一或多個應用程式伺服器的集區表示。
- 從 [選取集區] 中選擇。 建立新的集區,或選取現有集區
- 將 [負載平衡方法] 選擇為 [循環配置資源]
- 針對 [集區伺服器],選取現有節點,或針對裝載 Oracle EBS 應用程式的伺服器指定 IP 和連接埠。
4. [存取閘道集區] 會指定 Oracle EBS 用於將 SSO 已驗證使用者對應至 Oracle E-Business Suite 工作階段的伺服器。 使用裝載應用程式的 Oracle 應用程式伺服器 IP 和連接埠來更新 [集區伺服器]
單一登入和 HTTP 標頭
[簡單按鈕精靈] 支援 Kerberos、OAuth 持有人和 HTTP 授權標頭,以對已發佈應用程式進行 SSO。 Oracle EBS 應用程式需要標頭時,請啟用 [HTTP 標頭],然後輸入下列屬性。
- 標頭作業:取代
- 標頭名稱:USER_NAME
- 標頭值:%{session.sso.token.last.username}
- 標頭作業:取代
- 標頭名稱:USER_ORCLGUID
- 標頭值:%{session.ldap.last.attr.orclguid}
⚠︎ 注意
大括弧內所定義的 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 包含選項的概觀。
摘要
這最後一個步驟提供您的設定明細。 選取 [部署] 以認可所有設定,並確認應用程式現在存在於企業應用程式的租用戶清單中。
下一步
從瀏覽器中,連線至「Oracle EBS 應用程式的外部 URL」,或在 Microsoft [我的應用程式] 入口網站中選取應用程式的圖示。 向 Microsoft Entra ID 進行驗證之後,系統會將您重新導向至應用程式的 BIG-IP 虛擬伺服器,並透過 SSO 自動登入。
為了提高安全性,使用此模式的組織也可以考慮封鎖所有對應用程式的直接存取,進而強制執行整個 BIG-IP 的嚴格路徑。
進階部署
在某些情況下,引導式設定範本可能缺乏彈性來達成更具體的需求。 針對這些案例,請參閱標頭型 SSO 的進階設定。 或者,BIG-IP 可讓您選擇停用「引導式設定的嚴格管理模式」。 這可讓您手動調整您的設定,即使大量的設定都是透過精靈型範本自動完成也是一樣。
就應用程式設定而言,您可以瀏覽至 [存取]>[引導式設定],然後選取資料列最右邊的小型掛鎖圖示。
屆時,您將無法再透過精靈 UI 進行變更,但會解除鎖定與應用程式已發佈執行個體相關聯的所有 BIG-IP 物件,以進行直接管理。
⚠︎ 注意
重新啟用嚴格模式以及部署設定,將會覆寫在引導式設定 UI 外部執行的任何設定,因此建議使用適用於生產服務的進階設定方法。
疑難排解
無法存取 SHA 保護的應用程式可能是許多因素所造成。 BIG-IP 記錄有助於快速找出連線能力、SSO、原則違規或變數對應設定錯誤的各種問題。 增加記錄詳細程度層級來開始疑難排解。
- 導覽至 [存取原則] > [概觀] > [事件記錄檔] > [設定]
- 選取已發佈應用程式的資料列,然後 [編輯] > [存取系統記錄檔]
- 從 SSO 清單中選取 [偵錯],然後選取 [確定]
請重現問題,然後檢查記錄,但記得在完成時將其切換回來,因為詳細資訊模式會產生大量資料。
如果您在 Microsoft Entra 預先驗證成功之後,立即看到標有 BIG-IP 品牌的錯誤,則問題可能與從 Microsoft Entra ID 到 BIG-IP 的 SSO 有關。
- 導覽至 [存取] > [概觀] > [存取報告]
- 執行過去一小時的報告,以查看記錄是否提供任何線索。 您工作階段的 [檢視工作階段] 變數連結也有助於了解 APM 是否收到來自 Microsoft Entra ID 的預期宣告
如果您看不到 BIG-IP 錯誤頁面,則問題可能與後端要求有關,或與從 BIG-IP 到應用程式的 SSO 有關。
- 在這種情況下,前往 [存取原則] > [概觀] > [作用中工作階段],然後選取作用中工作階段的連結
- 此位置中的 [檢視變數] 連結也可能有助於根本原因 SSO 問題,特別是 BIG-IP APM 無法從 Microsoft Entra ID 或另一個來源取得正確的屬性時
如需詳細資訊,請參閱 BIG-IP APM 變數指派範例和 F5 BIG-IP 工作階段變數參考。
下列來自 Bash Shell 的命令會驗證用於 LDAP 查詢的 APM 服務帳戶,並且可以成功驗證和查詢使用者物件:
ldapsearch -xLLL -H 'ldap://192.168.0.58' -b "CN=oraclef5,dc=contoso,dc=lds" -s sub -D "CN=f5-apm,CN=partners,DC=contoso,DC=lds" -w 'P@55w0rd!' "(cn=testuser)"
如需詳細資訊,請造訪此 F5 知識文章:設定 Active Directory 的 LDAP 遠端驗證。 另外還有一份不錯的 BIG-IP 參考表,有助於在 LDAP 查詢的這篇 F5 知識文章中診斷 LDAP 相關問題。
文章來源:Microsoft Entra