使用 Azure PaaS 安全地公開 SAP 舊版中介軟體
讓內部系統和外部合作夥伴能夠與 SAP 後端互動,是常見的需求。 現有的 SAP 環境通常仰賴舊版中介軟體 SAP Process Orchestration (PO) 或 Process Integration (PI),以滿足其整合和轉換需求。 為了簡單起見,本文使用 SAP 流程協調流程一詞來指涉這兩個供應項目。
本文會說明 Azure 上的設定選項,強調與網際網路互動的實作。
注意
SAP 提及 SAP IntegrationSuite,特別是 SAP CloudIntegration 在 Business TechnologyPlatform (BTP) 上執行,作為 SAP PO 和 PI 的後繼者。 BTP 平臺和服務都可在 Azure 上使用。 如需詳細資訊,請參閱 SAP 探索中心。 如要進一步瞭解舊版元件的維護支援時程表,請參閱 SAP OSS 附註 1648480。
概觀
以 SAP 中介軟體為基礎的現有實作通常會仰賴稱為 SAP WebDispatcher 的 SAP 專屬分派技術。 這項技術在 OSI 模型的第 7 層上運作。 這可作為反向 Proxy,並解決下游 SAP 應用程式工作負載 (例如 SAP 企業資源規劃 (ERP)、SAP Gateway 或 SAP Process Orchestration) 的負載平衡需求。
分派方法包括傳統的反向 Proxy (例如 Apache)、平台即服務 (PaaS) 選項 (例如 Azure Load Balancer) 和具有主導性的 SAP WebDispatcher,全都涵蓋在內。 本文中所述的整體概念適用於所述的選項。 如需使用非 SAP 負載平衡器的指導,請參閱 SAP 的 Wiki。
注意
本文中所有描述的設定都假設共用服務會在中樞輪輻網路拓撲中,部署至中樞。 根據 SAP 的關鍵性,您可能需要更多隔離。 如需詳細資訊,請參閱周邊網路的 SAP 設計指南。
主要 Azure 服務
Azure 應用程式閘道會處理公用網際網路型和內部私人 HTTP 路由,以及 Azure 訂用帳戶的加密通道。 範例包括安全性和自動調整。
Azure 應用程式閘道著重於公開 Web 應用程式,因此提供了 Web 應用程式防火牆 (WAF)。 其他虛擬網路中的工作負載,應透過 Azure 應用程式閘道與 SAP 通訊,至甚可以透過私人連結與跨租用戶建立連線。
Azure 防火牆會處理 OSI 型號第 4 至 7 層流量類型的公用網際網路型和/或內部私人路由。 其提供篩選功能,以及直接來自 Microsoft 安全性的威脅情報摘要。
Azure APIM 會特別針對 API 處理公用網際網路型和內部私人路由。 其提供要求節流、使用量配額和限制、治理功能等原則,以及 API 金鑰,以針對每個用戶端細分服務。
Azure VPN 閘道和 Azure ExpressRoute 可作為內部部署網路的進入點。 這兩者在圖表中縮寫為 VPN 和 XR。
設定考量
整合架構視組織使用的介面而有所不同。 中繼文件 (IDoc) 架構、商務應用程式開發介面 (BAPI)、交易式遠端函數調用 (tRFC) 或一般 RFC 等 SAP 專屬技術需要特定的執行階段環境。 它們會在 OSI 模型的第 4 層到第 7 層上運作,不同於通常依賴 HTP 型通訊的新型 API (OSI 模型的第 7 層)。 因為介面無法以相同方式處理。
本文著重於新型 API 和 HTTP,包括 Applicability Statement 2 (AS2) 等整合案例。 檔案傳輸通訊協定 (FTP) 可作為處理非 HTTP 整合需求的範例。 如需 Microsoft 負載平衡解決方案的詳細資訊,請參閱負載平衡選項。
注意
SAP 會為其專屬介面發佈專用連接器。 例如,請參閱 SAP 的 Java 和 .NET 說明文件。 其也受到 Microsoft 閘道支援。 請留意,iDocs 也可以透過 HTTP張貼。
出於安全性考量,需要針對較低層級的通訊協定使用防火牆和 WAF,以透過傳輸層安全性 (TLS) 因應 HTTP 型流量。 TLS 工作階段必須在 WAF 層級終止。 若要支援零信任方法,建議您後續再次重新加密,以提供端對加密。
AS2 之類的整合通訊協定可能會使用標準 WAF 規則引發警示。 建議您使用應用程式閘道 WAF 分級活頁簿,來識別並進一步瞭解觸發規則的原因,以便您有效且安全地進行補救。 Open Web Application Security Project (OWASP) 提供標準規則。 如需本主題的詳細影片 (影片重點是 SAP Fiori 曝光),請參閱 SAP on Azure Webcast。
您可以使用相互 TLS (mTLS) 進一步增強安全性,這也稱為相互驗證。 不同於一般 TLS,這會驗證用戶端身分識別。
注意
虛擬機器 (VM) 集區需要負載平衡器。 為了獲得更佳的可讀性,本文中的圖表不會顯示負載平衡器。
注意
如果您不需要 SAP Web Dispatcher 所提供的 SAP 特定平衡功能,您可以將這些功能取代為 Azure Load Balancer。 此取代提供受控 PaaS 供應項目的優點,而不是基礎結構即服務 (IaaS) 設定。
案例:專注於傳輸的 HTTP 連線
SAP Web Dispatcher 不提供 WAF。 因此,我們建議使用 Azure 應用程式閘道,以取得更安全的設定。 SAP Web Dispatcher 和「Process Orchestration」仍會負責協助保護 SAP 後端,避免要求多載 (方法是透過調整大小指南和並行要求限制)。 SAP 工作負載中沒有可用的節流功能。
您可以避免透過 SAP Web Dispatcher 上的存取控制清單意外存取。
SAP Process Orchestration 通訊的其中一個案例是輸入流程。 流量可能源自內部部署、外部應用程式或使用者或內部系統。 下列範例著重於 HTTPS。
案例:專注於輸出 HTTP/FTP 連線
針對反向通訊方向,SAP Process Orchestration 可能會利用虛擬網路路由,透過網際網路中斷,連線到內部部署工作負載或以網際網路為基礎的目標。 Azure 應用程式閘道在這類案例中會作為反向 Proxy。 若要進行非 HTTP 通訊,請考慮新增 Azure 防火牆。 如需詳細資訊,請參閱本文稍後的案例:檔案型和網路閘道元件的比較。
下列輸出案例會顯示兩種可能的方法。 其中一個會透過 Azure 應用程式閘道使用 HTTPS 來呼叫 Web 服務 (例如 SOAP 配接器)。 另一個會透過 Azure 防火牆透過 SSH (SFTP) 使用 FTP,將檔案傳輸至商務夥伴的 SFTP 伺服器。
案例:專注於 APIM
相較於輸入和輸出連線的案例,在內部模式中引進 Azure API 管理 (僅限私人 IP 和虛擬網路整合) 會新增內建功能,例如:
- 節流。
- API 控管。
- 其他安全性選項 (例如新式驗證流程)。
- Microsoft Entra ID 整合。
- 將 SAP API 新增至整個公司的中央 API 解決方案的機會。
您不需要 WAF 時,可以使用公用 IP 位址,以外部模式部署 Azure API 管理。 該部署可以簡化設定,同時保留節流和 API 控管功能。 所有 Azure PaaS 供應項目都會實作基本保護。
案例:全球觸及
Azure 應用程式閘道是區域服務。 相較於上述案例 Azure Front Door 可確保跨區域全域路由,包括 Web 應用程式防火牆。 如需差異的詳細資訊,請參閱此比較。
下圖將 SAP Web Dispatcher、SAP 流程協調流程和後端壓縮成單一映像,以提升可讀性。
案例:檔案型
FTP 之類的非 HTTP 通訊協定無法透過如先前案例中顯示的 Azure API 管理、應用程式閘道或 Azure Front Door 來處理。 受控 Azure 防火牆執行個體或對等的網路虛擬設備(NVA) 會接管保護輸入要求的角色。
必須先儲存檔案,SAP 才能處理它們。 建議您使用 SFTP。 Azure Blob 儲存體原生支援 SFTP。
如有需要,Azure Marketplace 會提供替代的 SFTP 選項。
下圖顯示此案例與外部和內部部署整合目標的變化。 安全 FTP 的不同類型會說明通訊路徑。
如需網路文件系統 (NFS) 檔案共用作為 Blob 儲存體替代方案的深入解析,請參閱 Azure 檔案儲存體中的 NFS 檔案共用。
案例:SAP RISE 專屬
SAP RISE 部署在技術上與之前所述的案例相同,但 SAP 本身會管理目標 SAP 工作負載。 您可以在這裡套用所述的概念。
下圖顯示兩個設定作為範例。 如需詳細資訊,請參閱 SAP RISE 參考指南。
重要
請連絡 SAP 以確保可允許您案例的通訊埠,且已在 NSG 中開啟。
HTTP 輸入
在第一個設定中,整合層包括「SAP Process Orchestration」,而且客戶控管完整的輸入路徑。 只有最終的 SAP 目標會在 RISE 訂用帳戶上執行。 與 RISE 裝載的工作負載進行通訊是透過虛擬網路對等互連來設定,通常是透過中樞來設定。 潛在的整合可能是由外部實體張貼至 SAP ERP Webservice /sap/bc/idoc_xml
的 iDocs。
第二個範例會顯示設定,其中 SAP RISE 會執行整個整合鏈結,但 APIM 層除外。
檔案輸出
在此案例中,SAP 管理的「Process Orchestration」執行個體會將檔案寫入 Azure 上的客戶受控檔案共用,或寫入位於內部部署的工作負載。 客戶會處理斷線。
閘道設定的比較
注意
效能和成本計量會假設生產等級層級。 如需詳細資訊,請參閱 Azure 定價計算機。 另請參閱下列文章:Azure 防火牆效能、應用程式閘道高流量支援,以及 Azure API 管理執行個體的容量。
視您使用的整合通訊協定而定,您可能需要多個元件。 如需將 Azure 應用程式閘道與 Azure 防火牆鏈結的各種組合優點的詳細資訊,請參閱虛擬網路的 Azure 防火牆和應用程式閘道。
整合的經驗法則
若要判斷本文所述的整合案例最符合您的需求,請逐一案例評估。 請考慮啟用下列功能:
使用 APIM 要求節流
SAP WebDispatcher 上的並行要求限制
相互 TLS 驗證用戶端和接收者
TLS 終止後 WAF 和重新加密
適用於非 HTTP 整合的 Azure 防火牆
適用的新式驗證機制,例如 OAuth2
針對所有涉及的認證、憑證和金鑰,Azure Key Vault 之類的受控金鑰存放區
使用 Azure Integration Services 的 SAP Process Orchestration 替代方案
透過 Azure Integration Services 組合,您可以原生解決 SAP 流程協調流程涵蓋的整合案例。 如需如何透過雲端原生方法設計 SAP iFlow 模式的見解,請參閱此部落格系列。 連接器指南包含有關 AS2 和 EDIFACT 的更多詳細資料。
如需詳細資訊,請檢視所需 SAP 介面的 Azure Logic Apps 連接器。
下一步
部署應用程式閘道 WAF 分級活頁簿,以進一步瞭解 SAP 相關的 WAF 警示