SSO 需要 Web 識別管理解決方案將已通過驗證之使用者的登入名稱傳遞給 Oracle Enterprise Performance Management System 產品。您可以使用下列的標準 EPM System 方法,將 EPM System 與商業和自訂的 Web 型 SSO 解決方案整合。
注意:
如果您的組織會以利用標頭傳送使用者識別的方式來進行識別傳播,Oracle 建議您,在 Web 伺服器與應用程式伺服器之間採用用戶端憑證驗證 (雙向 SSL) 來作為安全措施。
HTTP 標頭
如果您要把 Oracle 單一登入 (OSSO)、SiteMinder 或 Oracle Access Manager 作為 Web 識別管理解決方案,EPM System 安全性會自動選取自訂 HTTP 標頭,以便將已驗證使用者的登入名稱傳遞給 EPM System 元件。
EPM System 產品使用者的登入名稱,取決於您在 Oracle Hyperion Shared Services 中設定使用者目錄時所指定的 Login Attribute
。如需 Login Attribute
的簡短說明,請參閱 Oracle Enterprise Performance Management System User Security 管理手冊中的「設定 OID、Active Directory 及其他 LDAP 型的使用者目錄」。
HTTP 標頭必須包含設為 Login Attribute
的屬性值。例如,若 uid
為 Login Attribute
值,則 HTTP 標頭必須包含 uid
屬性的值。
如需如何定義及發出自訂 HTTP 標頭的詳細資訊,請參閱您 Web 識別管理解決方案的文件。
EPM System 安全性會剖析 HTTP 標頭,並根據您在 Shared Services 中設定的使用者目錄,驗證該標頭隨附的登入名稱是否有效。
自訂登入類別
當使用者登入時,Web 識別管理解決方案會根據目錄伺服器驗證使用者,並採用 SSO 機制來封裝已驗證使用者的認證,以便啟用下游系統的 SSO。若 Web 識別管理解決方案使用了 EPM System 產品不支援的機制,或是 SSO 機制未提供 Login Attribute
的值,請使用自訂登入類別來衍生 Login Attribute
的值,並將該值傳遞至 EPM System 產品。
使用自訂登入類別,會讓 EPM System 與使用 X509 憑證式驗證的安全性代理程式整合。若要使用這個驗證機制時,您必須實作標準 Shared Services API 來定義 EPM System 產品與 Web 識別管理解決方案之間的 SSO 介面。自訂登入類別必須將 Login Attribute
的值傳遞至 EPM System 產品。如需 Login Attribute
的簡短說明,請參閱 Oracle Enterprise Performance Management System User Security 管理手冊中的「設定 OID、Active Directory 及其他 LDAP 型的使用者目錄」。如需範例程式碼和實作步驟,請參閱實作自訂登入類別。
如要使用自訂登入類別 (預設名稱為 com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl
),類別路徑中必須要有 com.hyperion.css.CSSSecurityAgentIF
介面的實作。CSSSecurityAgentIF
會定義擷取使用者名稱與密碼的 Getter 方法 (選用)。介面若傳回 null 密碼,安全性驗證會將提供者視為信任的提供者,並確認已設定之提供者中確實存在該使用者。若介面傳回非空值的密碼,EPM System 會嘗試使用此實作所傳回的使用者名稱與密碼來驗證要求。
CSSSecurityAgentIF
包含兩種方法:getUserName
與 getPassword
。
getUserName 方法
此方法會傳回使用者名稱進行驗證。
java.lang.String getUserName( javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws java.lang.Exception
req
參數會指定內含可用於判斷使用者名稱之資訊的 HTTP 要求。不使用 res
參數 (回溯相容性的預設值)。
getPassword 方法
此方法會傳回純文字密碼進行驗證。密碼擷取為選用性。
java.lang.String getPassword( javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws java.lang.Exception
req
參數會指定內含可用於判斷密碼之資訊的 HTTP 要求。不使用 res
參數 (回溯相容性的預設值)。
HTTP 授權標頭
EPM System 安全性支援使用 HTTP 授權標頭,將 Login Attribute
的值從 Web 識別管理解決方案傳遞至 EPM System 產品。EPM System 產品會剖析授權標頭來擷取使用者的登入名稱。
從 HTTP 要求中取得遠端使用者
EPM System 安全性支援使用 HTTP 要求,將 Login Attribute
的值從 Web 識別管理解決方案傳遞至 EPM System 產品。如果 Web 識別管理解決方案會傳遞包含 Login Attribute
值的 HTTP 要求,且該要求使用 setRemoteUser
函數,請使用這個 SSO 方法。
搭配識別管理產品的標頭型驗證
EPM System 支援任何識別管理產品 (例如 Oracle Identity Cloud Services、Microsoft Azure AD、Okta),這些產品皆支援標頭型驗證。概念工作流程如下:
若要支援此驗證案例,EPM System 應設定為與透過 HTTP 標頭要求傳播的已驗證使用者識別搭配使用。