本節提供有關升級 Identity Applications 和支援軟體的資訊,其中包括更新以下元件的內容︰
Identity Manager 使用者應用程式
One SSO Provider (OSP)
Self-Service Password Reset (SSPR)
Tomcat、JDK 和 ActiveMQ
PostgreSQL 資料庫
升級後,元件會升級至以下版本︰
Tomcat – 8.5.27
ActiveMQ – 5.15.2
Java – 1.8.0_162
One SSO Provider – 6.2.1
Self-Service Password Reset – 4.2.0.4
本節提供關於以下主題的資訊︰
升級程序會從現有元件中讀取組態值。這些資訊包括 ism-configuration.properties、server.xml、SSPRConfiguration 和其他組態檔案。升級程序會使用這些組態檔案在內部叫用各元件的升級程式。此外,此程式還會建立目前安裝的備份。
執行升級前,請先檢閱以下注意事項︰
Identity Manager 已升級至版本 4.5.6︰ 您不能從低於 4.5.6 的版本升級或移轉至版本 4.7。如需如何升級至 Identity Manager 4.7 的詳細資訊,請參閱節 25.3, 支援的升級路徑。
系統要求: 升級程序至少需要 3 GB 可用磁碟空間,用於儲存目前的組態以及升級期間建立的暫存檔案。確認伺服器器具有足夠儲存備份的空間,另外還有可供升級的可用空間。
如果您已將 Identity Applications 安裝在非根分割區的其他分割區中,請確定該分割區具有足夠的空間用來儲存備份組態。另外,請確定 /tmp 目錄具有足夠的空間用來儲存記錄和暫存檔案。如果此目錄不能提供所需的空間,請將 IATEMPDIR 環境變數設定為分割區上具有足夠可用空間的某個目錄。如此會重新指示升級程式將檔案儲存到該目錄。
若要將 IATEMPDIR 設定為某個目錄:
開啟終端機並輸入以下指令:
export IATEMPDIR=/opt/custom_tmp
其中,/opt/custom_tmp 是具有足夠可用磁碟空間的目錄路徑。
附註:備份 Identity Applications 證書 (cacerts)。
從指令行啟動升級程式。
使用 Tomcat 做為應用程式伺服器︰ 此版本的 Identity Manager 僅支援使用 Tomcat 做為應用程式伺服器。
如果用於執行 Identity Applications 的應用程式伺服器不是 Tomcat,請在執行升級前將該應用程式伺服器移轉至 Tomcat。如需詳細資訊,請參閱「從 Websphere 或 JBoss 移轉至 Tomcat」。
資料庫平台已升級︰ 此程式不會升級 Identity Applications 的資料庫平台。請手動將目前的資料庫版本升級至受支援的版本。若要升級 PostgreSQL 資料庫,請參閱節 26.5.4, 升級 PostgreSQL 資料庫。
Role and Resource Service 驅動程式套件已升級︰ 如需詳細資訊,請參閱《NetIQ Designer for Identity Manager Administration Guide》(NetIQ Designer for Identity Manager 管理指南) 中的「Upgrading Installed Packages」(升級安裝的套件)。
Self Service Password Reset: 若要從 SSPR 4.0 升級,請確定您已更新 CATALINA_OPTS 內容,並且 -Dsspr.application.Path 設定為儲存 SSPR 組態的資料夾。
例如,
export CATALINA_OPTS="-Dsspr.applicationPath=/home/sspr_data
在升級前備份 SSPR LocalDB。若要輸出或下載 LocalDB,請執行以下步驟︰
以管理員身分登入 SSPR 入口網站。
在頁面右上角的下拉式功能表中按一下組態管理器。
按一下 LocalDB。
按一下下載 LocalDB。
升級程序會為所安裝元件的目前組態建立備份。確認伺服器器具有足夠儲存備份的空間,另外還有可供升級的可用空間。
需要執行以下升級前步驟以升級 PostgreSQL 資料庫。
停止 PostgreSQL 服務。
su -s /bin/sh - postgres -c "/opt/netiq/idm/apps/postgres/bin/pg_ctl stop -w -D /opt/netiq/idm/apps/postgres/data"
停用 PostgreSQL 服務的現有單位檔案。
systemctl disable postgresql-9.6.service
清理 PostgreSQL 服務的現有單位檔案。
rm /usr/lib/systemd/system/postgresql-9.6.service
systemctl daemon-reload
systemctl reset-failed
建立備份目錄並備份現有 PostgreSQL 目錄。
例如︰
mkdir -p /home/backup
cp -rvf /opt/netiq/idm/apps/postgres/ /home/backup/
導覽至掛接 Identity_Manager_4.7_Linux.iso 的位置。
導覽至 /common/packages/postgres/ 目錄。
安裝新版 PostgreSQL。
rpm -ivh netiq-postgresql-9.6.6-0.noarch.rpm
附註:PostgreSQL 主目錄會從先前安裝的自訂位置變更為 /opt/netiq/idm/postgres/。
在 PostgreSQL 安裝位置中建立 data 目錄。
mkdir -p <POSTGRES_HOME>/data, where <POSTGRES_HOME> is /opt/netiq/idm/postgres
例如︰
mkdir -p /opt/netiq/idm/postgres/data
變更新安裝 PostgreSQL 目錄的許可權。
chown -R postgres:postgres <postgres directory path>
例如︰
chown -R postgres:postgres /opt/netiq/idm/postgres
建立 postgres 使用者主目錄。
例如,mkdir -p /home/users/postgres
變更新建立 PostgreSQL 使用者主目錄的許可權。
chown -R postgres:postgres <postgres home directory path>
例如︰
chown -R postgres:postgres /home/users/postgres
輸出 PostgreSQL home 目錄
export PGHOME=<postgres home directory path>
例如︰
export PG_HOME=/opt/netiq/idm/postgres
輸出 PostgreSQL 密碼:
export PGPASSWORD=<輸入資料庫密碼>
啟始化資料庫。
su -s /bin/sh - postgres -c "LANG=en_US.UTF-8 <POSTGRES_HOME>/bin/initdb -D <POSTGRES_HOME>/data"
例如︰
su -s /bin/sh - postgres -c "LANG=en_US.UTF-8 /opt/netiq/idm/postgres/bin/initdb -D /opt/netiq/idm/postgres/data"
在 /etc/passwd 檔案中,將 postgres 使用者的主目錄路徑變更為 /opt/netiq/idm/postgres/。
導覽至 /etc/ 目錄。
編輯 passwd 檔案。
vi /etc/passwd
將 postgres 使用者的主目錄變更為 /opt/netiq/idm/postgres/。
導覽至 /opt/netiq/idm/postgres/ 目錄。
以 postgres 使用者身分登入。
例如︰
su postgres
移轉現有資料。
例如︰
/opt/netiq/idm/postgres/bin/pg_upgrade --old-datadir /opt/netiq/idm/apps/postgres/data/ --new-datadir /opt/netiq/idm/postgres/data/ --old-bindir /opt/netiq/idm/apps/postgres/bin --new-bindir /opt/netiq/idm/postgres/bin/
以 postgres 使用者身分登出。
更新 pg_hba.conf 檔案以信任伺服器網路:
導覽至 /opt/netiq/idm/postgres/data/ 目錄。
編輯 pg_hba.conf 檔案:
vi pg_hba.conf
在 pg_hba.conf 檔案中新增下行:
host all all 0.0.0.0/0 trust
為了確保 PostgreSQL 例項會監聽 localhost 以外的其他網路例項,請更新組態檔案:
導覽至 /opt/netiq/idm/postgres/data/ 目錄。
編輯 postgresql.conf 檔案:
vi postgresql.conf
在 postgresql.conf 檔案中新增下行:
listen_addresses = '*'
附註:若要監聽受限的網路介面,請指定以逗號分隔的 IP 位址清單。
在 <postgres home directory path>/data 下建立 pg_log 目錄。
例如︰
mkdir -p /opt/netiq/idm/postgres/data/pg_log
變更 pg_log 目錄的許可權。
chown -R postgres:postgres <postgres directory path>/data/pg_log
例如︰
chown -R postgres:postgres /opt/netiq/idm/postgres/data/pg_log
啟動 PostgreSQL 服務。
systemctl start netiq-postgresql
此指令將啟動新的 PostgreSQL 服務。
(選擇性) 從圖形使用者介面啟動新 pgAdmin:
將 scripts 目錄從舊的 postgres 主目錄複製到新的 postgres 主目錄。
例如︰
cp -rvf /opt/netiq/idm/apps/postgres/scripts /opt/netiq/idm/postgres
導覽至 /opt/netiq/idm/postgres/scripts 目錄。
編輯 launchpgadmin.sh,以新的 PostgreSQL 路徑取代舊路徑。
以 /opt/netiq/idm/postgres 取代 /opt/netiq/idm/apps/postgres/。
導覽至 /usr/share/application 目錄,然後編輯 .desktop 應用程式以提供 launchpgadmin.sh 的新路徑。
SLES: 編輯 pg-pgadmin-9_6.desktop 應用程式,以新的 launchpgadmin.sh 路徑取代 EXEC 值
例如︰
將 "Exec=/opt/netiq/idm/apps/postgres/scripts/launchpgadmin.sh" 的值變更為 :"Exec=/opt/netiq/idm/postgres/scripts/launchpgadmin.sh"
RHEL: 導覽至 /usr/share/application,然後建立包含以下詳細資料的 pg-pgadmin-9_6.desktop 檔案:
例如︰
[Desktop Entry] Version=1.0 Encoding=UTF-8 Name=pgAdmin 4 Exec=/opt/netiq/idm/postgres/scripts/launchpgadmin.sh Icon=pg-pgadmin-9_6.png Terminal=false Type=Application
從系統中移除舊的 postgres 主目錄。
rm -rf /opt/netiq/idm/apps/postgres/
為使變更生效,請重新啟動您的系統。
本節介紹如何將使用者應用程式驅動程式以及角色與資源服務驅動程式的套件更新到最新版本。升級 Identity Applications 前必須先執行此任務。
在 Designer 中開啟目前的專案。
在套件目錄 > 輸入套件上按一下滑鼠右鍵。
選取相應的套件。例如,使用者應用程式驅動程式基礎套件。
按一下「確定」。
在開發人員檢視窗中,在該驅動程式上按一下滑鼠右鍵,然後按一下內容。
導覽至內容頁面中的套件索引標籤。
按一下右上角的新增套件 (+) 符號。
選取該套件,然後按一下確定。
重複相同程序,以升級角色與資源服務驅動程式的套件。
附註:確定使用者應用程式驅動程式以及角色與資源服務驅動程式連接至升級後的 Identity Manager。
附註:如果 Identity Applications 和 SSPR 安裝在不同的伺服器上,您需要手動升級 SSPR。如需詳細資訊,請參閱升級 SSPR。
下面的程序介紹如何升級 Identity Applications。
從 NetIQ 下載網站下載 Identity_Manager_4.7_Linux.iso。
掛接下載的 .iso。
執行以下指令:
./install.sh
通讀授權合約。
輸入 y 以接受授權合約。
指定是否要升級 Identity Manager 元件。可用選項有 y 和 n。
選取 Identity Applications 以繼續升級。
指定以下詳細資料:
SSPR 安裝資料夾: 指定 SSPR 安裝資料夾。
使用者應用程式資料夾: 指定使用者應用程式資料夾。
Identity Applications One SSO 服務密碼: 指定 One SSO 密碼。
Identity Applications 資料庫 JDBC jar 檔案: 指定資料庫 JAR 檔案。現有資料庫 jar 檔案的預設位置為 /opt/netiq/idm/apps/postgres/postgresql-9.4.1212.jar。
建立 Identity Applications 的綱要: 指定要在何時建立資料庫綱要。可用選項有現在、啟動和檔案。
附註:如果 SSPR 安裝在與 Identity Applications 和 OSP 伺服器不同的伺服器上,則必須單獨升級 SSPR。
如節 5.11, 下載安裝檔案 中所述下載 Identity_Manager_4.7_Linux.iso。
掛接下載的 .iso。
從 .iso 檔案的根目錄中,導覽至 SSPR 目錄。
執行以下指令:
./install.sh
通讀授權合約。
輸入 y 以接受授權合約。
驗證 configupdate 公用程式中的 RBPM 至 eDirectory SAML 組態參數是否設定為自動。
啟動 configupdate 公用程式。
導覽至 SSO 用戶端 > RBPM,並將 RBPM 至 eDirectory SAML 組態設定為自動。
儲存變更。
啟動 Tomcat。
變更 OSP 目錄的許可權和擁有權:
chmod +x novlua:novlua /opt/netiq/idm/apps/osp
手動刪除先前版本的 Tomcat 和 ActiveMQ 服務。
/etc/init.d/idmapps_tomcat_init
/etc/init.d/idmapps_activemq_init
您還必須手動還原 Tomcat、SSPR、OSP 或 Identity Applications 的自訂設定。
驗證升級後的 JRE 位置 (jre/lib/security/cacerts) 是否包含較舊 JRE 位置中的所有證書。如果某個證書遺失,請手動將該證書輸入到升級後的 JRE 的 cacerts 中。
使用 keytool 指令輸入 java cacerts︰
keytool -import -trustcacerts -file Cerificate_Path -alias ALIAS_NAME -keystore cacerts
附註:升級後,JRE 儲存在 Identity Applications 安裝位置。例如︰/opt/netiq/idm/apps/jre。
驗證 JRE 主目錄位置。
tomcat/bin/setenv.sh
啟動組態更新公用程式,並驗證您的 cacerts 路徑。
(視情況而定) 若要從升級程序先前建立的備份還原自訂檔案,請執行以下任務︰
還原自訂的 https 證書。若要還原這些證書,請將所備份 server.xml 中的 Java Secure Socket Extension (JSSE) 內容複製到 /tomcat/conf 目錄下的新 server.xml 檔案中。
不要將所備份 Tomcat 目錄中的組態檔案複製到新 Tomcat 目錄中。應視需要在新版本預設組態的基礎上進行變更。如需詳細資訊,請造訪此 Apache 網站。
驗證新的 server.xml 檔案是否包含以下項目︰
<Connector port="8543" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="path_to_keystore_file"
keystorePass="keystore_password" />
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
或
<Connector port="8543" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="path_to_keystore_file"
keystorePass="keystore_password" />
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
附註:在叢集環境中,手動取消備註 server.xml 中的 Cluster 標記,然後將第一個節點上的 osp.jks (位於 /opt/netiq/idm/apps/osp_backup_<date> 中) 複製到所有節點上。
如果您自訂了金鑰儲存區檔案,請在新 server.xml 檔案中包括正確的路徑。
將 Identity Applications 證書輸入到 Identity Vault (位於 /opt/novell/eDirectory/lib64/nds-modules/jre/lib/security/cacerts 中)。
例如,您可以使用以下 keytool 指令將證書輸入到 Identity Vault 中:
keytool -importkeystore -alias <keyalias> -srckeystore <backup cacert> -srcstorepass changeit -destkeystore /opt/novell/eDirectory/lib64/nds-modules/jre/lib/security/cacerts -deststorepass changeit
(視情況而定) 導覽至使用者應用程式,然後透過讀取備份的組態手動還原自訂設定。
從升級期間建立的備份還原 Identity Applications 自訂組態。
如果您在執行升級程式前已將自訂網路位置資料夾重新命名為 IDMProv,則應使用 configupdate 公用程式將該網路位置資料夾名稱變更為原來的網路位置名稱。例如,原來的自訂網路位置名稱為 IDMDev,現在它被重新命名為 IDMProv。
請完成以下步驟將網路位置名稱改回為原來的網路位置名稱︰
導覽至使用者應用程式目錄 (位於 /opt/netiq/idm/apps/UserApplication 中)。
(選擇性) 若要以圖形使用者介面模式啟動 configupdate 公用程式,請確定 configupdate.sh.properties 檔案中的 use_console 選項設定為 false。
需要執行此步驟的原因是,升級公用程式會將此選項的值變更為 true。
或者,在 Linux 上啟動 configupdate 公用程式,並傳遞額外的指令行引數。
./configupdate.sh use_console=false
啟動 configupdate 公用程式。
configupdate.sh
在使用者應用程式索引標籤中按一下進階選項,然後執行以下步驟︰
核取變更 RBPM 網路位置名稱核取方塊。
將 RBPM 網路位置名稱變更為原來的網路位置名稱。
瀏覽並選取相應的角色驅動程式 DN,然後按一下確定。
使用以下指令變更 WAR 檔案的許可權和擁有權。
chmod 755 <Original_Context_Name>.war; chown -R novlua:novlua <Original_Context_Name>.war
例如,如果原來的自訂網路位置名稱為 IDMDev︰
chmod 755 IDMDev.war; chown -R novlua:novlua IDMDev.war
(視情況而定) 如果您已完成所有升級後任務,則請啟動 Identity Applications 的 Tomcat 服務。
如果 OSP 和使用者應用程式部署在不同的伺服器上,請使用組態更新公用程式更新 SSO 用戶端參數。如需詳細資訊,請參閱 節 11.6.5, SSO 用戶端參數 中的 IDM 儀表板。
位於 /etc/logevent.conf 檔案中的 LogHost 項目預設設定為 localhost。
若要修改 LogHost 項目,請手動從升級期間建立的備份還原 OSP 自訂組態。
升級公用程式會在電腦上建立新的 Tomcat 資料夾。如果任何 Kerberos 檔案 (例如 keytab 和 Kerberos_login.config) 存放在舊 Tomcat 資料夾中,請從備份資料夾中將這些檔案複製到新 Tomcat 資料夾。