簡介
Oracle Enterprise Performance Management System 產品支援 Kerberos SSO 機制,但前提是裝載 EPM System 產品的應用程式伺服器已設定成可使用 Kerberos 驗證機制。
Kerberos 是受信任的驗證服務,其中的每個 Kerberos 用戶端都會信任另一個 Kerberos (使用者、網路服務等) 的識別。
當使用者存取 EPM System 產品時,會發生下列情況:
支援限制
除下列例外之外,所有 EPM System 產品皆支援 Kerberos SSO:
假設
本文件 (包含應用程式層級的 Kerberos 設定步驟) 假設,您熟悉系統層級的 Kerberos 組態。在您開始執行這些程序之前,請先確認您已滿足這些工作的先決條件。
本文件假設,您已啟用 Kerberos 的網路環境功能齊全,且其中的 Windows 用戶端機器已針對 Kerberos 驗證機制來設定。
搭配 WebLogic Server 的 Kerberos SSO
Oracle WebLogic Server Kerberos SSO 會使用「協商識別宣告器」來協商,並將 SPNEGO 憑證解碼以啟用 Microsoft 用戶端的 SSO。WebLogic Server 會將 SPNEGO 憑證解碼以取得 Kerberos 票證,然後驗證該票證,並將它對映至 WebLogic Server 使用者。您可以搭配「協商識別宣告器」來使用 WebLogic Server 的 Active Directory 認證者,將 Active Directory 設定成 WebLogic Server 使用者的使用者目錄。
當瀏覽器要求存取 EMP System 產品時,KDC 會發出 Kerberos 票證給瀏覽器,以建立包含受支援 GSS 憑證類型的 SPNEGO 憑證。「協商識別宣告器」會將 SPNEGO 憑證解碼,並使用 GSSAPI 來接受安全相關資訊環境。發起請求的使用者識別會先對映至使用者名稱,然後再傳回 WebLogic Server。此外,WebLogic Server 會決定使用者所屬的群組。在此階段,要求的 EMP System 產品即可供使用者使用。
註:
使用者必須使用支援 SPNEGO 的瀏覽器 (例如 Internet Explorer 或 Firefox),存取在 WebLogic Server 上執行的 EMP System 產品。
EMP System 產品授權程序會使用衍生自驗證程序的使用者 ID,檢查提供資料。EPM System 產品存取權的限制取決於提供資料。
支援 Kerberos 驗證的 WebLogic Server 程序
管理員必須完成下列工作來支援 Kerberos 驗證:
建立 EPM System 的 WebLogic 網域
一般來說,EPM System 元件已部署到 EPMSystem
WebLogic 網域中 (預設位置為 MIDDLEWARE_HOME/user_projects/domains/EPMSystem
)。
如何針對 Kerberos 驗證機制來設定 EPM System WebLogic 網域:
Foundation Services 部署會建立預設的 EPM System WebLogic 網域。
在 WebLogic Server 中建立 LDAP 驗證提供者
WebLogic Server 管理員將會建立 LDAP 驗證提供者,而該提供者會在外部 LDAP 伺服器中儲存使用者和群組資訊。與 LDAP v2 或 v3 相容的 LDAP 伺服器能與 WebLogic Server 搭配使用。請參閱下列參考資料。
建立協商識別宣告器
「協商識別宣告」提供者會搭配 Microsoft 用戶端啟用 SSO。這會將 SPNEGO 解碼以取得 Kerberos 憑證、驗證 Kerberos 憑證,並將憑證對映到 WebLogic 使用者。「協商識別宣告」提供者是安全服務提供者介面 (SSPI) 的實作 (如 WebLogic 安全性架構所定義),它會提供必要的邏輯,以便根據用戶端的 SPNEGO 憑證來驗證使用者。
當您建立「協商識別宣告」提供者時,請將所有認證者的「JAAS 控制旗標」選項設定成 SUFFICIENT
。請參閱 Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help中的「設定 JAAS 控制旗標」。
建立 WebLogic Server 的 Kerberos 識別
請在 Active Directory 網域控制站機器上,建立代表 WebLogic Server 和 EPM System Web 伺服器的使用者物件,並將該物件對映到代表您的 WebLogic Server 和 Kerberos 領域中之 Web 伺服器的服務主體名稱 (SPN)。用戶端無法找到沒有 SPN 的服務。您將 SPN 儲存在已複製到 WebLogic Server 網域的 keytab 檔案,以便在登入程序中使用。
如需詳細程序,請參閱 Oracle Fusion Middleware Securing Oracle WebLogic Server 手冊中的建立 WebLogic Server 的識別。
如何建立 WebLogic Server 的 Kerberos 識別:
epmHost
)。
註:
請將識別建立成使用者物件,而非機器。請使用電腦的簡單名稱;例如,如果主機名稱為 epmHost.example.com
,請使用 epmHost
。
請記錄您在建立使用者物件的過程中使用的密碼。您將會在建立 SPN 時使用這個密碼。
請勿選取任何密碼選項,尤其是 User must change password at next logon
選項。
Do not require Kerberos pre-authentication
)。epmHost
) 建立關聯。
setspn -L epmHost
ktpass -princ HTTP/epmHost.example.com@EXAMPLE.COM -pass password -mapuser epmHost -out c:\epmHost.keytab
MIDDLEWARE_HOME/jdk/bin
。ktab -k keytab_filename -a epmHost@example.com
C:\Oracle\Middleware\user_projects\domains\EPMSystem
。kinit -k -t keytab-file account-name
在上述命令中,account-name
會指定 Kerberos 原則,例如 HTTP/epmHost.example.com@EXAMPLE.COM
。這個命令的輸出內容應該與下列內容類似:
New ticket is stored in cache file C:\Documents and Settings\Username\krb5cc_MachineB
更新 Kerberos 的 JVM 選項
請參閱 Oracle Fusion Middleware Securing Oracle WebLogic Server 11g Release 1 (10.3.1) 中的搭配 WebLogic Server 來使用 Kerberos 驗證機制的啟動引數和建立 JAAS 登入檔案。
如果您把 EPM System 受管理伺服器當作 Windows 服務來執行,請更新 Windows 登錄來設定 JVM 啟動選項。
如何更新 Windows 登錄中的 JVM 啟動選項:
註:
下表中所列的名稱是範例。
表格 3-3 Kerberos 驗證機制的 JVM 啟動選項
名稱 | 類型 | 資料 |
---|---|---|
JVMOption44 | REG_SZ | -Djava.security.krb5.realm=Active Directory 領域名稱 |
JVMOption45 | REG_SZ | -Djava.security.krb5.kdc=Active Directory 主機名稱或 IP 位址 |
JVMOption46 | REG_SZ | -Djava.security.auth.login.config=Kerberos 登入組態檔的位置 |
JVMOption47 | REG_SZ | -Djavax.security.auth.useSubjectCredsOnly=false |
更新 JVMOptionCount DWord,以反映新增的 JVMOptions (請將目前的十進位值加 4)。
設定授權原則
如需如何針對會存取 EPM System 的 Active Directory 使用者設定授權原則的相關資訊,請參閱 Oracle Fusion Middleware Securing Resources Using Roles and Policies for Oracle WebLogic Server 手冊中的 Options for Securing Web Application and EJB Resources。
如需原則設定步驟的範例,請參閱建立 SSODiag 適用的原則。
使用 SSODiag 來測試 Kerberos 環境
SSODiag 是診斷用的 Web 應用程式,可用來測試您 Kerberos 環境中的 WebLogic Server 是否已準備好支援 EPM System。
部署 SSODiag
請使用您在部署 Foundation Services 時指定的 WebLogic Server 管理員認證 (預設的使用者名稱是 epm_admin
) 來部署 SSODiag。
如何部署及設定 SSOdiag:
在「變更中心」中,選取鎖定和編輯
/products/Foundation/AppServer/InstallableApps/common/SSODiag.war
。針對 SSODiag 設定 Oracle HTTP Server
請更新 mod_wl_ohs.conf
來設定 Oracle HTTP Server,以便將 SSODiag URL 要求轉送到 WebLogic Server。
如何設定 Oracle HTTP Server 中的 URL 轉送功能:
/httpConfig/ohs/config/fmwconfig/components/OHS/ohs_component/mod_wl_ohs.conf
。LocationMatch
定義:
<LocationMatch /SSODiag/> SetHandler weblogic-handler WeblogicCluster myServer:28080 </LocationMatch>
在以上範例中,myServer
代表 Foundation Services 主機,28080
則代表 Oracle Hyperion Shared Services 用來監聽要求的連接埠。
mod_wl_ohs.conf
。建立 SSODiag 適用的原則
請在 WebLogic Server 管理主控台建立原則來保護以下 SSODiag URL。
http://OHS_HOST_NAME:PORT/SSODiag/krbssodiag
在以上範例中,OHS_HOST_NAME
代表裝載 Oracle HTTP Server 之伺服器的名稱,PORT
則代表 Oracle HTTP Server 用來監聽要求的連接埠。
如何建立原則來保護 SSODiag:
/
/index.jsp
krbuser1
),然後選取新增。krbuser1
為 Active Directory 或 Windows 桌面使用者。選取儲存。
使用 SSODiag 來測試 Kerberos 驗證適用的 WebLogic Server 組態
如果 Kerberos 驗證適用的 WebLogic Server 組態能正常運作,Oracle Hyperion Kerberos SSO 診斷公用程式 V 1.0 頁面就會顯示下列訊息:
Retrieving Kerberos User principal name... Success.
Kerberos principal name retrieved... SOME_USER_NAME
注意:
如果 SSODiag 無法擷取 Kerberos 原則名稱,請勿針對 Kerberos 驗證機制來設定 EPM System 元件。
如何測試 Kerberos 驗證適用的 WebLogic Server 組態:
http://OHS_HOST_NAME:PORT/SSODiag/krbssodiag
在以上範例中,OHS_HOST_NAME
代表裝載 Oracle HTTP Server 之伺服器的名稱,PORT
則代表 Oracle HTTP Server 用來監聽要求的連接埠。
如果 Kerberos 驗證機制的運作正常,SSODiag 會顯示下列資訊:
Retrieving Kerberos User principal name... Success.
Kerberos principal name retrieved... SOME_USER_NAME
如果 Kerberos 驗證機制沒有正常運作,SSODiag 會顯示下列資訊:
Retrieving Kerberos User principal name... failed.
變更安全性模型
受安全性領域保護之 Web 應用程式的預設安全性模型為 DDonly
。您必須將安全性模型變更成 CustomRolesAndPolicies
。
如何變更安全性模型:
MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/config.xml
。<security-dd-model>DDOnly</security-dd-model>
<security-dd-model>CustomRolesAndPolicies</security-dd-model>
config.xml
。更新 EPM System 安全性組態
請變更 EPM System 安全性組態以啟用 Kerberos SSO。
如何針對 Kerberos 驗證機制來設定 EPM System:
在安全性選項,選取下表中的設定值以啟用 Kerberos SSO。
表格 3-4 啟用 Kerberos SSO 的設定
欄位 | 必要設定 |
---|---|
啟用 SSO | 已選取 |
SSO 提供者或代理程式 | 其他 |
SSO 機制 | 從 HTTP 要求中取得遠端使用者 |
測試 Kerberos SSO
登入 Foundation Services 來確認 Kerberos SSO 是否運作正常。
如何測試 Kerberos SSO:
設定 EPM System 元件
請使用 EPM System Configurator 設定其他 EPM System 元件,並將這些元件部署到 Foundation Services 部署之處的 WebLogic 網域中。
針對 Kerberos 驗證機制來設定 EPM System 受管理伺服器。
在 Microsoft Windows 環境中,EPM System 受管理伺服器會被當作 Windows 服務來執行。您必須修改每個 WebLogic 受管理伺服器的啟動 JVM 選項。以下是採非精簡部署模式之受管理伺服器的完整清單:
如果 EPM System Web 應用程式是採用精簡模式來部署的,您就只需要更新 EPMSystem0
受管理伺服器的啟動 JVM 選項。如果您有多個精簡受管理伺服器,就必須更新所有受管理伺服器的啟動 JVM 選項。
請參閱 Oracle Fusion Middleware Securing Oracle WebLogic Server 手冊中的搭配 WebLogic Server 來使用 Kerberos 驗證機制的啟動引數。
註:
以下程序說明,如何設定 Foundation Services 受管理伺服器的啟動 JVM 選項。您必須針對部署中的每個 WebLogic 受管理伺服器執行該工作。如需在 WebLogic Server 啟動命令檔中設定 JVM 選項的詳細程序,請參閱更新 Kerberos 的 JVM 選項。
如何在 WebLogic Server 啟動命令檔中設定 JVM 選項
設定授權原則
請針對將會存取 Foundation Services 以外之 EPM System 元件的 Active Directory 使用者設定授權原則。如需如何在 WebLogic 管理主控台中設定安全性原則的相關資訊,請參閱 設定授權原則。
變更 EPM System 元件的預設安全性模型
您將編輯 EPM System 組態檔,以變更預設的安全性模型。針對非精簡的 EPM System 部署,您必須變更記錄在 config.xml
中的每個 EPM System Web 應用程式的預設安全性模型。以下是 EPM System Web 應用程式的清單:
如何變更安全性模型:
MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/config.xml
<security-dd-model>
的值設定成 CustomRolesAndPolicies
,如以下範例所示:
<app-deployment> <name>SHAREDSERVICES#11.1.2.0</name> <target>EPMServer</target> <module-type>ear</module-type> <source-path>C:\Oracle\Middleware\EPMSystem11R1/products/Foundation/AppServer/InstallableApps/common/interop.ear</source-path> <security-dd-model>CustomRolesAndPolicies</security-dd-model> <staging-mode>nostage</staging-mode> </app-deployment>
config.xml
。建立 EPM System 元件的 URL 保護原則
請在 WebLogic Server 管理主控台中建立 URL 保護原則,以保護每個 EPM System 元件 URL。如需詳細資訊,請參閱 Oracle Fusion Middleware Securing Oracle WebLogic Server 手冊中的 Options for Securing Web Applications and EJB Resources。
如何建立 URL 保護原則:
PLANNING
),然後按一下其 Web 應用程式 (例如 HyperionPlanning
)。如需 EPM System 元件的清單,請參閱變更 EPM System 元件的預設安全性模型。
註:
某些企業應用程式 (例如 Oracle Essbase Administration Services) 包含多個 Web 應用程式,您必須分別定義它們的 URL 樣式。Oracle 建議您使用 Group
條件,因為它會將這個安全性原則授予給特定群組的所有成員。
Group
,就必須完成接下來的步驟:如果 WebLogic Server 無法在 Active Directory 中找到該群組,就會顯示錯誤訊息。您必須修正該錯誤,才能繼續進行。
啟用 Web 應用程式中的用戶端憑證式驗證機制
在下列位於 EPM_ORACLE_HOME/products/
內部之應用程式封存的組態檔中,插入 login-config
定義。
Essbase/eas/server/AppServer/InstallableApps/Common/eas.ear
FinancialDataQuality/AppServer/InstallableApps/aif.ear
financialreporting/InstallableApps/HReports.ear
Profitability/AppServer/InstallableApps/common/profitability.ear
如何啟用用戶端憑證式的驗證機制
EPM_ORACLE_HOME/products/Essbase/eas/server/AppServer/InstallableApps/Common/eas.ear/eas.war
。WEB-INF
。web.xml
,方法是將下列 login_config
定義新增到 </webapp>
元素的正前方:
<login-config> <auth-method>CLIENT-CERT</auth-method> </login-config>
web.xml
。更新 EPM System 安全性組態
請設定 EPM System 安全性來支援 SSO。請參閱設定 EPM System 進行 SSO。