關於為 Oracle E-Business Suite 設定 Azure AD 與 Oracle Access Manager 之間的 SSO

當客戶想要在 Microsoft Azure 上執行 Oracle 應用程式 (例如 Oracle E-Business Suite),但使用內部部署 Oracle Access Manager 作為服務提供者時,Azure AD 和內部部署 OAM 之間需要聯合 SSO。

由於在使用其他雲端應用程式時,雲端內有最大的整合支援,因此理想的解決方案是設定 SAML 2.0 以提供必要的聯合 SSO 架構。

開始之前

在您開始在 Oracle Cloud 中連線到資料庫的 Microsoft Azure 中執行應用程式之前,請先瞭解網路架構,以連接部署在 Oracle Cloud 和 Microsoft Azure 上的工作負載。

請參閱 瞭解如何將 Oracle Cloud 與 Microsoft Azure 互相連線

架構

此解決方案會以混合方式呈現 Oracle Access Manager 與 E-Business Suite 之間已經記錄的企業內部部署整合。

這會被視為混合架構,因為:
  • 它會將 Oracle E-Business Suite 置於 Azure。
  • 它使用 Azure Active Directory (Azure AD) 作為聯合身分識別提供者 (IDP),向 E-Business Suite 認證使用者。
  • 您會以內部部署的服務提供者 (SP) 的後端 LDAP 伺服器 (Oracle Unified Directory 或 Oracle Internet Directory) 執行 Oracle Access Manager。
ebiz-architecture.png 的描述如下
ebiz-architecture.png 圖解描述

這個方法可讓您更進一步將某些基礎架構搬移至雲端。而只要將 E-Business Suite - Oracle Access Manager 與 Oracle Unified Directory 或 Oracle Internet Directory 搬移至雲端,就不需要停止這些功能。

此架構的另一個關鍵部分是提供使用者帳戶。本白皮書假設 Azure AD 是使用者帳戶的真值來源。這表示必須使用佈建 (例如 Oracle Directory Integration Platform 同步化) 或識別管理工具 (例如 Microsoft Identity Manager 或 Oracle Identity Manager) 的方法,將使用者帳戶佈建到 Oracle Access Manager LDAP 伺服器 (Oracle Unified Directory 或 Oracle Internet Directory)。然後,當作雙向同步處理的 Oracle Directory Integration Platform 可以將該帳戶同步至 E-Business Suite 資料庫。本文件稍後將說明 SSO 的重要屬性。

瞭解元件

下表說明此混合架構中的元件 (如上圖所示)。

資料中心 元件
Azure
  • Azure AD
  • Oracle E-Business Suite 12.2.x
  • Oracle HTTP Server 11g 或 12c
  • Oracle WebGate 11g 或 12c
  • Oracle AccessGate 11g 或 12c
Oracle Cloud Infrastructure Oracle E-Business Suite Database 12.2 或更新版本
客戶內部部署
  • Oracle Access Manager 11g 或 12c
  • Oracle Unified Directory 或 Oracle Internet Directory 11g 或 12c
  • Oracle Directory Integration Platform 11g 或 12c
  • Oracle HTTP Server 11g 或 12c (選擇性)

瞭解佈建和同盟流程

上圖說明為此架構定義的合併佈建與聯合流程。

此佈建流程 (下面在交易 1-3 中說明) 說明如何在 Azure AD 中建立使用者帳戶、佈建至 Oracle Access Manager LDAP 伺服器,以及使用 Oracle Directory Integration Platform 同步至 E-Business Suite 資料庫的一個範例。聯合流程說明在交易 4-10 中。如需其他同盟流程詳細資訊,請參閱瞭解 Azure AD 和 E-Business Suite Federation Flow

  1. 包含使用者主要項目名稱 (UPN) 的初始使用者帳戶會從 Azure AD 佈建至 Oracle Access Manager LDAP 伺服器 (Oracle Unified Directory 或 Oracle Internet Directory)。此佈建不是 Oracle Directory Integration Platform 的責任,而是透過此手冊範圍之外的一些佈建類型來完成。
  2. Oracle Directory Integration Platform 會監聽 Oracle Unified Directory 變更日誌,並將使用者帳戶佈建至 E-Business Suite 資料庫。
  3. Oracle Directory Integration Platform 會將使用者帳戶對應至 USER_NAME,並將 orclguid 對應至 USER_GUID,再對應至 E-Business Suite 資料庫。
  4. 使用者要求 E-Business Suite 存取,WebGate 會檢查 OAMAuthCookie 權杖。
  5. WebGate 會驗證使用者沒有 OAMAuthCookie 記號,因此它會向 Oracle Access Manager 檢查是否有動作。
  6. Oracle Access Manager 會告知 WebGate 將使用者重新導向至 Azure AD 以進行聯合認證,而 Azure AD 會提示使用者登入。
  7. Azure AD 會驗證使用者的證明資料,然後使用郵件屬性作為使用者對應,將 SAML 2.0 宣告傳送至 Oracle Access Manager。
  8. Oracle Access Manager 接受 SAML 2.0 宣告,並使用 UPN 在 Oracle Unified Directory 中傳回相符的使用者。在回應中,它會在原則中定義的標頭中提供 Oracle Unified Directory 的 USER_NAME (uid) 和 USER_ORCLGUID (orclguid)。
  9. WebGate 會將使用者重新導向至 E-Business Suite,並將 USER_NAME 與 USER_ORCLGUID 作為標頭傳送至 AccessGate。
  10. AccessGate 會查尋 E-Business Suite 資料庫中的 USER_NAME 與 USER_ORCLGUID,以確認使用者是否存在。成功時,它會設定自己的階段作業,並將 E-Business Suite 入口網站頁面傳回給使用者。

關於必要的服務與角色

此解決方案需要在這些服務內組合特定服務和角色。

這些服務和應用系統都是必要的:
  • Oracle Cloud Infrastructure
  • Oracle Access Manager
  • 部署到 Azure 的完整功能 Oracle E-Business Suite 執行處理
  • Microsoft Azure 廣告
服務名稱:角色 需要 ...
Oracle Cloud Infrastructure:管理員 建立及管理身分識別資源
Oracle Access Manager:管理員 設定及維護內部部署使用者設定值
E-Business Suite:管理角色,包含資料庫管理員LDAP 管理員 設定 E-Business Suite 並變更安全性設定值
Azure AD:Azure AD 貢獻者或更高權限帳戶 取得 Azure 訂閱
Azure AD:Azure 應用程式全域管理員 處理 Azure 端的組態和設定