本節提供在 Tomcat 上安裝新 Identity Applications 例項,然後針對叢集設定該例項的逐步說明。
安裝 Identity Manager 引擎。對於生產層級部署,建議將 Identity Manager 引擎安裝在單獨的伺服器上。
為 Identity Applications 安裝資料庫。可以使用隨 Identity Applications 一併安裝的 PostgreSQL 資料庫。不過,建議將資料庫安裝在單獨的伺服器上。
在節點 1 上,安裝並設定 Identity Applications。
在組態期間,請確定:
選取新資料庫選項
提供唯一的工作流程引擎 ID。例如,節點 1。
叢集中的所有使用者應用程式節點上均有可用的資料庫 jar 檔案。對於 PostgreSQL,postgresql-9.4.1212.jar 位於 /opt/netiq/idm/postgres。
Identity Applications 使用萬能金鑰來加密敏感性資料。在 Identity Applications 組態期間,安裝程式將建立新的萬能金鑰。在叢集中,使用者應用程式叢集要求每個使用者應用程式例項都使用相同的萬能金鑰。萬能金鑰儲存在 /opt/netiq/idm/apps/tomcat/conf/ 目錄中 ism-configuration.properties 檔案內的內容 com.novell.idm.masterkey 下。
在節點 2 上,安裝並設定 Identity Applications。
在組態期間,請確定:
選取現有資料庫選項
提供唯一的工作流程引擎 ID。例如,節點 2。
叢集中的所有使用者應用程式節點上均有可用的資料庫 jar 檔案。對於 PostgreSQL,postgresql-9.4.1212.jar 位於 /opt/netiq/idm/postgres。
完成節點 2 上的使用者應用程式組態後,複製節點 1 的 ism-configuration.properties 中的萬能金鑰值,並取代節點 2 的 ism-configuration.properties 中儲存的相應萬能金鑰值。萬能金鑰儲存在 ism-configuration.properties (/opt/netiq/idm/apps/tomcat/conf/) 中的內容 com.novell.idm.masterkey 下。
在負載平衡器伺服器中,針對所有叢集節點使用 Identity Applications 連接埠號碼啟動一個負載平衡器例項,使用表單轉譯器連接埠號碼啟動另一個負載平衡器例項。例如,
./balance 8543 apps1-au.edu.in:8543 ! apps2-au.edu.in:8543
./balance 8600 apps1-au.edu.in:8600 ! apps2-au.edu.in:8600
在單獨的電腦上安裝 SSPR。
完成 SSPR 安裝後,啟動 SSPR (https://<IP>:<連接埠>/sspr/private/config/editor) 並登入其中。按一下組態編輯器 > 設定 > 安全性 > Web 安全性 > 重新導向白名單。
按一下新增值並指定以下 URL:
https://<容錯移轉的 DNS>/osp
儲存變更。
在 SSPR 組態頁面中,按一下設定 > 單一登入 (SSO) 用戶端 > OAuth,然後修改 OAuth 登入 URL、OAuth 代碼解析服務 URL 和 OAuth 設定檔服務 URL 連結,具體方法是以安裝了負載平衡器軟體的伺服器的 DNS 名稱取代 IP 位址。
按一下設定 > 應用程式 > 應用程式,然後更新轉遞 URL 和登出 URL,具體方法是以安裝了負載平衡器軟體的伺服器的 DNS 名稱取代 IP 位址。透過提供安裝了 SSPR 的伺服器/系統的 IP 位址或主機名稱來更新網站 URL。
若要在節點 1 上更新 SSPR 資訊,請啟動位於 /opt/netiq/idm/apps/configupdate/ 中的組態公用程式。
./configupdate.sh
附註:您應只從 configupdate 目錄執行 configudate.sh 檔案。從自訂位置執行 configupdate.sh 將導致失敗。
按一下 SSO 用戶端 > Self Service Password Reset,輸入用戶端 ID、密碼和 OSP Auth 重新導向 URL 參數的值。如需詳細資訊,請參閱Self Service Password Reset。
附註:驗證節點 2 中是否更新了這些參數的值。
在節點 1 中,停止 Tomcat,並使用以下指令指定負載平衡器伺服器的 DNS 名稱,以產生新 osp.jks 檔案:
/opt/netiq/common/jre/bin/keytool -genkey -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore osp.jks -storepass <密碼> -keypass <密碼> -alias osp -validity 1800 -dname "cn=<負載平衡器 IP/DNS>"
例如:/opt/netiq/common/jre/bin/keytool -genkey -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore osp.jks -storepass changeit -keypass changeit -alias osp -validity 1800 -dname "cn=mydnsname"
附註:確認金鑰密碼與在 OSP 安裝期間提供的密碼相同。或者,可以使用組態更新公用程式並包括金鑰儲存區密碼來變更該密碼。
(視情況而定) 若要驗證 osp.jks 檔案是否已透過這些變更更新,請執行以下指令:
/opt/netiq/common/jre/bin/keytool -list -v -keystore osp.jks -storepass changeit
備份位於 /opt/netiq/idm/apps/osp/ 中的原始 osp.jks 檔案,並將新 osp.jks 檔案複製到此位置。
將節點 1 上位於 /opt/netiq/idm/apps/osp/ 中的新 osp.jks 文件複製到叢集中的其他使用者應用程式節點上。
在每個叢集節點上:
導覽至 /opt/netiq/idm/apps/sites 目錄,然後編輯 ServiceRegistry.json 檔案以新增負載平衡器詳細資料。
{"serviceRegisteries":[{"serviceID":"IDM","restUrl":"https://<DNS of the load balancer>:8543/IDMProv"}]}
導覽至 /opt/netiq/idm/apps/sites 目錄,然後編輯 config.ini 檔案以新增負載平衡器 DNS 和連接埠號碼。
OSPIssuerUrl=https://<DNS of the load balancer>:8543/osp/a/idm/auth/oauth2 OSPRedirectUrl=https://<DNS of the load balancer>:8600/forms/oauth.html ClientID=forms OSPLogoutUrl=https://<DNS of the load balancer>:8543/osp/a/idm/auth/app/logout
在節點 1 中啟動組態公用程式,並在「SSO 用戶端」索引標籤下將所有 URL 設定 (例如抵達頁面的 URL 連結和 OAuth 重新導向 URL) 變更為負載平衡器 DNS 名稱。
儲存在組態公用程式中所做的變更。檢查 ism-configuration properties 檔案是否體現了相應變更,若有任何 URL 仍指向節點 1 DNS 和連接埠,請予以修改。
若要在叢集的所有其他節點中反映此變更,請將節點 1 上位於 /TOMCAT_INSTALLED_HOME/conf 中的 ism-configuration properties 檔案複製到叢集中的其他使用者應用程式節點上。
附註:
您之前已將節點 1 上的 ism-configuration.properties 檔案複製到叢集中的其他節點上。如果您在使用者應用程式安裝期間指定了自訂安裝路徑,請在叢集節點中使用組態更新公用程式確保參考路徑正確。
將 ism-configuration.properties 檔案從一個節點複製到另一個節點後,請確定對該檔案具有 novlua:novlua 許可權。
此情境中,OSP 和使用者應用程式安裝在同一部伺服器上;因此,為重新導向 URL 使用了相同的 DNS 名稱。
如果 OSP 和使用者應用程式安裝在不同的伺服器上,請將 OSP URL 變更為指向負載平衡器的不同 DNS 名稱。請對安裝了 OSP 的所有伺服器執行此操作。執行此操作可確保所有 OSP 申請均透過負載平衡器發送到 OSP 叢集 DNS 名稱。這涉及到為 OSP 節點建立一個單獨的叢集。
指定對 osp.jks 檔案的 novlua 許可權:
chown novlua:novlua osp.jks
在位於 /TOMCAT_INSTALLED_HOME/bin/ 目錄下的 setenv.sh 檔案中執行以下動作:
為確保 mcast_addr 繫結成功,JGroups 要求將 preferIPv4Stack 內容設定為 true。為此,請在所有節點上的 setenv.sh 檔案中新增 JVM 內容「-Djava.net.preferIPv4Stack=true」。
在節點 1 上的 setenv.sh 檔案中新增 -Dcom.novell.afw.wf.engine-id="Engine1"。同樣,為叢集中的每個節點新增唯一的引擎名稱。例如,對於節點 2,您可以新增引擎名稱 Engine2。
在使用者應用程式中啟用叢集。
在節點 1 上啟動 Tomcat。
不要啟動任何其他伺服器。
以使用者應用程式管理員身分登入使用者應用程式。
按一下組態 > 快取和叢集選項。
使用者應用程式將顯示「快取管理」頁面。
按一下叢集快取組態,並為叢集已開啟內容選取 True。
按一下儲存。
重新啟動 Tomcat。
附註:如果您已選取「啟用本地」設定,請針對叢集中的每個伺服器重複此程序。
使用者應用程式叢集使用 JGroups 在採用預設 UDP 的節點間進行快取同步。如果您要變更此通訊協定以使用 TCP,請參閱《NetIQ Identity Manager - Administrator’s Guide to the Identity Applications》(NetIQ Identity Manager - Identity Applications 管理員指南) 中的「Configuring User Application Caching to use TCP」(將使用者應用程式快取設定為使用 TCP)。
為叢集啟用許可權索引。
在 IDVault 中登入 iManager,然後導覽至檢視物件。
在系統下,導覽至包含使用者應用程式驅動程式的驅動程式集。
選取 AppConfig > AppDefs > 組態。
選取 XMLData 屬性,並將 com.netiq.idm.cis.clustered 內容設定為 true。
例如:
<property>
<key>com.netiq.idm.cis.clustered</key>
<value>true</value>
</property>
按一下確定。
按一下「套用」>「確定」。
啟用 Tomcat 叢集。
在所有叢集節點上開啟 /TOMCAT_INSTALLED_HOME/conf/ 中的 Tomcat server.xml 檔案,並取消注釋此檔案中的下行:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
對於進階 Tomcat 叢集組態,請依照 https://tomcat.apache.org/tomcat-8.5-doc/cluster-howto.html 中的步驟操作。
在所有節點上重新啟動 Tomcat。
為叢集設定使用者應用程式驅動程式。
在叢集中,必須將使用者應用程式驅動程式設定為使用叢集負載平衡器的 DNS 名稱。可使用 iManager 來設定使用者應用程式驅動程式。
登入用於管理 Identity Manager 引擎的 iManager。
在 iManager 導覽框架中,按一下 Identity Manager 節點。
按一下 Identity Manager 綜覽。
使用搜尋網頁顯示「Identity Manager 綜覽」,以尋找包含使用者應用程式驅動程式及角色與資源服務驅動程式的驅動程式集。
按一下驅動程式圖示右上角的圓形狀態指示器:
一個功能表即會顯示,其中列出了用於啟動和停止驅動程式以及編輯驅動程式內容的指令。
選取編輯內容。
在「驅動程式參數」區段中,將主機變更為負載平衡器的主機名稱或 IP 位址。
按一下確定。
重新啟動驅動程式。
若要變更角色與資源服務驅動程式的 URL,請重複步驟 19a 至 19f,然後按一下驅動程式組態,並以負載平衡器 DNS 名稱更新使用者應用程式 URL。
確認針對使用者應用程式節點的負載平衡器軟體中建立的叢集啟用了工作階段綁定。
在 Identity Manager 儀表板上設定用戶端設定。如需詳細資訊,請參閱《NetIQ Identity Manager - Administrator’s Guide to the Identity Applications》(NetIQ Identity Manager - Identity Applications 管理員指南) 中的「Configuring Client Settings Mode」(設定用戶端設定模式)。