教學課程:設定 F5 BIG-IP 簡單按鈕,以使用 Microsoft Entra ID 透過 SSO 至 SAP ERP

在本文中,瞭解如何使用 Microsoft Entra ID 透過 F5 BIG-IP Easy Button 引導式設定來保護 SAP ERP。

將 BIG-IP 與 Microsoft Entra ID 整合可提供許多優點,包括:

若要了解所有優點,請參閱 F5 BIG-IP 與 Microsoft Entra 整合的文章,以及什麼是搭配 Microsoft Entra ID 的應用程式存取和單一登入

案例描述

此情節會查看使用 Kerberos 驗證的傳統 SAP ERP 應用程式,以管理存取受保護的內容。

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

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

案例架構

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

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

Microsoft Entra ID:安全性聲明標記語言 (SAML) 識別提供者 (IdP) 負責驗證使用者認證、條件式存取 (CA) 和 SAML 型 SSO 至 BIG-IP。

BIG-IP:反向 Proxy 和 SAML 服務提供者 (SP) 至應用程式,並將驗證委派給 SAML IdP,再對 SAP 服務執行標頭型 SSO。

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

Sp Initiated Flow
1728960756795

必要條件

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

  • Microsoft Entra ID 免費訂用帳戶或更新版本
  • 現有的 BIG-IP 或在 Azure 中部署 BIG-IP 虛擬版本 (VE)
  • 下列任一 F5 BIG-IP 授權供應項目
    • F5 BIG-IP® Best 搭售方案
    • F5 BIG-IP APM 獨立授權
    • 現有 BIG-IP F5 BIG-IP® 本機流量管理員™ (LTM) 上的 F5 BIG-IP APM 附加元件授權
    • 90 天 BIG-IP 完整功能試用版授權
  • 從內部部署目錄同步至 Microsoft Entra ID 的使用者身分識別,或直接在 Microsoft Entra ID 內建立並流回內部部署目錄的使用者身分識別
  • 具有 Microsoft Entra Application Administrator 許可權的帳戶
  • 用來透過 HTTPS 發佈服務的 SSL Web 憑證,或在測試時使用預設 BIG-IP 憑證
  • 針對 Kerberos 驗證所設定的現有 SAP ERP 環境

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。

您也必須在 Microsoft Entra ID 中註冊簡單按鈕用戶端,才能允許在 BIG-IP 已發佈應用程式的每個 SAML SP 執行個體之間建立信任,並將 Microsoft Entra ID 註冊為 SAML IdP。

  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. 從瀏覽器登入 F5 BIG IP 管理主控台
  2. 瀏覽至 [存取]>[引導式設定]>[Microsoft 整合],然後選取 [Microsoft Entra 應用程式]。
Easy Button Template

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

Config Steps

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

Config Steps Flow

組態屬性

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

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

  1. 提供唯一的 [組態名稱],讓系統管理員可以輕鬆地區分簡單按鈕組態
  2. 啟用 [單一登入 (SSO) 和 HTTP 標頭]
  3. 輸入您在租用戶中註冊簡單按鈕用戶端時所記錄的 [租用戶識別碼]、[用戶端識別碼] 和 [用戶端密碼]
  4. 確認 BIG-IP 可以成功連線至您的租用戶,然後選取 [下一步]
Configuration General And Service Account Properties

服務提供者

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

  1. 輸入 [主機]。 這是受保護應用程式的公用 FQDN
  2. 輸入 [實體識別碼]。此為識別碼,Microsoft Entra ID 將用來識別要求權杖的 SAML SP
Service Provider Settings


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

3. 從 [判斷提示解密私密金鑰] 清單中,選取 [新建]

Configure Security Create New

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

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

Import Ssl Certificates And Keys

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 範本。 在此案例中,選取 [SAP ERP 中央元件] > [新增] 以啟動 Azure 設定。

Azure Config Add App

Azure 設定

  1. 輸入 BIG-IP 在您 Microsoft Entra 租用戶中建立的應用程式 [顯示名稱],以及使用者將在 [MyApps 入口網站] 上看到的圖示
  2. 將 [登入 URL (選用)] 保留空白,以啟動 IdP 起始的登入
Azure Configuration Add Display Info

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

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

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

Azure Configuration Sign Certificates

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

Azure Configuration Add User Groups

使用者屬性與宣告

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

因為我們的範例 AD 基礎結構是以內部和外部使用的 .com 網域後置詞為基礎,所以我們不需要任何額外的屬性即可達成功能性 KCD SSO 實作。 請參閱進階教學課程,以了解您有多個網域或使用者使用替代後置詞登入的案例。

User Attributes Claims

如有必要,您可以包含其他 Microsoft Entra 屬性,但在此情節中,SAP ERP 只需要預設屬性。

其他使用者屬性

[其他使用者屬性] 索引標籤可以支援各種分散式系統,而這些系統需要其他目錄中所儲存的屬性來進行工作階段增強。 然後,可以將從 LDAP 來源提取的屬性插入為其他 SSO 標頭,以根據角色、合作夥伴識別碼等進一步控制存取權。

Additional User Attributes

條件式存取原則

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

[可用的原則] 檢視依預設會列出所有不包含使用者動作的條件式存取原則。

[選取的原則] 檢視預設會顯示以所有雲端應用程式為目標的所有原則。 這些原則在租用戶層級強制執行時,無法取消選取或移至 [可用的原則] 清單。

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

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

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

Conditional Access Policy

虛擬伺服器屬性

虛擬伺服器是一種 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 設定檔],或在測試時保留預設值
Virtual Server

集區屬性

[應用程式集區] 索引標籤會詳述受 BIG-IP 保護的服務,而這些服務以包含一或多個應用程式伺服器的集區表示。

  1. 從 [選取集區] 中選擇。建立新的集區,或選取現有集區
  2. 將 [負載平衡方法] 選擇為 [循環配置資源]
  3. 針對 [集區伺服器] 選取現有的伺服器節點,或為裝載標頭型應用程式的後端節點指定 IP 和連接埠
Application Pool

單一登入和 HTTP 標頭

啟用 SSO 可讓使用者存取 BIG-IP 已發佈的服務,而不需要輸入認證。 [簡單按鈕精靈] 支援 Kerberos、OAuth 持有人和 HTTP 授權標頭以進行 SSO。 您將需要稍早建立的 Kerberos 委派帳戶才能完成此步驟。

啟用 [Kerberos] 並 [顯示進階設定],以輸入下列內容:

  • 使用者名稱來源:指定要快取以進行 SSO 的慣用使用者名稱。 您可以提供任何工作階段變數做為使用者識別碼的來源,但 session.saml.last.identity 應該會最適用,因為其會保留包含已登入使用者識別碼的 Microsoft Entra 宣告
  • 使用者領域來源:如果使用者網域與 BIG-IP 的 Kerberos 領域不同,則為必要項目。 在此情況下,APM 工作階段變數會包含已登入的使用者網域。 例如,session.saml.last.attr.name.domain
Sso Headers
  • KDC:網域控制站的 IP (或 FQDN,如果 DNS 設定並且有效率)
  • UPN 支援:針對 APM 啟用以使用 UPN 進行 Kerberos 票證
  • SPN 模式:使用 HTTP/%h 來通知 APM 使用用戶端要求的主機標頭,並建置要求其 Kerberos 權杖的 SPN。
  • 傳送授權:針對偏好協商驗證的應用程式停用,而非在第一個要求中接收 Kerberos 權杖。 例如,Tomcat。
Sso Method Config

工作階段管理

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

然而未涵蓋單一登出 (SLO) 功能,此功能可以確保在使用者登出時,終止 IdP、BIG-IP 和使用者代理程式之間的所有工作階段。 「簡單按鈕」將 SAML 應用程式部署至您的 Microsoft Entra 租用戶時,也會在 [登出 Url] 中填入 APM 的 SLO 端點。 如此一來,IdP 從 Microsoft MyApps 入口網站起始的登出也會終止 BIG-IP 與用戶端之間的工作階段。

在部署期間,會從您的租用戶匯入已發佈應用程式的 SAML 同盟中繼資料,以將 Microsoft Entra ID 的 SAML 登出端點提供給 APM。 這可協助由 SP 起始的登出終止用戶端與 Microsoft Entra ID 之間的工作階段。

摘要

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

下一步

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

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

進階部署

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

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

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

Strict Mode Padlock

屆時,您將無法再透過精靈 UI 進行變更,但會解除鎖定與應用程式已發佈執行個體相關聯的所有 BIG-IP 物件,以進行直接管理。

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

疑難排解

由於有許多因素 (包括設定錯誤),因此您可能無法存取 SHA 保護的應用程式。

  • Kerberos 具有時效性,因此會要求伺服器和用戶端設定為正確的時間,而且可能的話,會與可靠的時間來源同步
  • 確保網域控制站和 Web 應用程式的主機名稱可在 DNS 中解析
  • 在網域 PC 的命令列執行下列查詢:setspn -q HTTP/my_target_SPN,確定您 AD 環境中沒有重複的 SPN

您可以參考我們的應用程式 Proxy 指引,驗證是否已針對 KCD 適當地設定 IIS 應用程式。 關於 APM 如何處理 Kerberos SSO 的 F5 文章也是很重要的資源。

記錄檔分析

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. 選取作用中工作階段的連結。 此位置中的 [檢視變數] 連結也可能有助於判斷根本原因 KCD 問題,特別是 BIG-IP APM 無法從工作階段變數取得正確的使用者和網域識別碼時。

如需詳細資訊,請參閱 BIG-IP APM 變數指派範例和 F5 BIG-IP 工作階段變數參考

文章來源:Microsoft