26.5 升級 Identity Applications

本節提供有關升級 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

本節提供關於以下主題的資訊︰

26.5.1 瞭解升級程式

升級程序會從現有元件中讀取組態值。這些資訊包括 ism-configuration.properties、server.xml、SSPRConfiguration 和其他組態檔案。升級程序會使用這些組態檔案在內部叫用各元件的升級程式。此外,此程式還會建立目前安裝的備份。

26.5.2 升級的先決條件和注意事項

執行升級前,請先檢閱以下注意事項︰

  • Identity Manager 已升級至版本 4.5.6︰ 您不能從低於 4.5.6 的版本升級或移轉至版本 4.7。如需如何升級至 Identity Manager 4.7 的詳細資訊,請參閱節 25.3, 支援的升級路徑。

  • 系統要求: 升級程序至少需要 3 GB 可用磁碟空間,用於儲存目前的組態以及升級期間建立的暫存檔案。確認伺服器器具有足夠儲存備份的空間,另外還有可供升級的可用空間。

    如果您已將 Identity Applications 安裝在非根分割區的其他分割區中,請確定該分割區具有足夠的空間用來儲存備份組態。另外,請確定 /tmp 目錄具有足夠的空間用來儲存記錄和暫存檔案。如果此目錄不能提供所需的空間,請將 IATEMPDIR 環境變數設定為分割區上具有足夠可用空間的某個目錄。如此會重新指示升級程式將檔案儲存到該目錄。

    若要將 IATEMPDIR 設定為某個目錄:

    1. 開啟終端機並輸入以下指令:

      export IATEMPDIR=/opt/custom_tmp 

      其中,/opt/custom_tmp 是具有足夠可用磁碟空間的目錄路徑。

      附註:備份 Identity Applications 證書 (cacerts)。

    2. 從指令行啟動升級程式。

  • 使用 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,請執行以下步驟︰

    1. 以管理員身分登入 SSPR 入口網站。

    2. 在頁面右上角的下拉式功能表中按一下組態管理器。

    3. 按一下 LocalDB。

    4. 按一下下載 LocalDB。

26.5.3 系統要求

升級程序會為所安裝元件的目前組態建立備份。確認伺服器器具有足夠儲存備份的空間,另外還有可供升級的可用空間。

26.5.4 升級 PostgreSQL 資料庫

需要執行以下升級前步驟以升級 PostgreSQL 資料庫。

  1. 停止 PostgreSQL 服務。

    su -s /bin/sh - postgres -c "/opt/netiq/idm/apps/postgres/bin/pg_ctl stop -w -D /opt/netiq/idm/apps/postgres/data"

  2. 停用 PostgreSQL 服務的現有單位檔案。

    systemctl disable postgresql-9.6.service

  3. 清理 PostgreSQL 服務的現有單位檔案。

    rm /usr/lib/systemd/system/postgresql-9.6.service

    systemctl daemon-reload

    systemctl reset-failed

  4. 建立備份目錄並備份現有 PostgreSQL 目錄。

    例如︰

    mkdir -p /home/backup

    cp -rvf /opt/netiq/idm/apps/postgres/ /home/backup/

  5. 導覽至掛接 Identity_Manager_4.7_Linux.iso 的位置。

  6. 導覽至 /common/packages/postgres/ 目錄。

  7. 安裝新版 PostgreSQL。

    rpm -ivh netiq-postgresql-9.6.6-0.noarch.rpm

    附註:PostgreSQL 主目錄會從先前安裝的自訂位置變更為 /opt/netiq/idm/postgres/。

  8. 在 PostgreSQL 安裝位置中建立 data 目錄。

    mkdir -p <POSTGRES_HOME>/data, where <POSTGRES_HOME> is /opt/netiq/idm/postgres

    例如︰

    mkdir -p /opt/netiq/idm/postgres/data

  9. 變更新安裝 PostgreSQL 目錄的許可權。

    chown -R postgres:postgres <postgres directory path>

    例如︰

    chown -R postgres:postgres /opt/netiq/idm/postgres

  10. 建立 postgres 使用者主目錄。

    例如,mkdir -p /home/users/postgres

  11. 變更新建立 PostgreSQL 使用者主目錄的許可權。

    chown -R postgres:postgres <postgres home directory path>

    例如︰

    chown -R postgres:postgres /home/users/postgres

  12. 輸出 PostgreSQL home 目錄

    export PGHOME=<postgres home directory path>

    例如︰

    export PG_HOME=/opt/netiq/idm/postgres

  13. 輸出 PostgreSQL 密碼:

    export PGPASSWORD=<輸入資料庫密碼>

  14. 啟始化資料庫。

    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"

  15. 在 /etc/passwd 檔案中,將 postgres 使用者的主目錄路徑變更為 /opt/netiq/idm/postgres/。

    1. 導覽至 /etc/ 目錄。

    2. 編輯 passwd 檔案。

      vi /etc/passwd

    3. 將 postgres 使用者的主目錄變更為 /opt/netiq/idm/postgres/。

  16. 導覽至 /opt/netiq/idm/postgres/ 目錄。

  17. 以 postgres 使用者身分登入。

    例如︰

    su postgres

  18. 移轉現有資料。

    例如︰

    /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/

  19. 以 postgres 使用者身分登出。

  20. 更新 pg_hba.conf 檔案以信任伺服器網路:

    1. 導覽至 /opt/netiq/idm/postgres/data/ 目錄。

    2. 編輯 pg_hba.conf 檔案:

      vi pg_hba.conf

    3. 在 pg_hba.conf 檔案中新增下行:

      host all all 0.0.0.0/0 trust

  21. 為了確保 PostgreSQL 例項會監聽 localhost 以外的其他網路例項,請更新組態檔案:

    1. 導覽至 /opt/netiq/idm/postgres/data/ 目錄。

    2. 編輯 postgresql.conf 檔案:

      vi postgresql.conf

    3. 在 postgresql.conf 檔案中新增下行:

      listen_addresses = '*'

      附註:若要監聽受限的網路介面,請指定以逗號分隔的 IP 位址清單。

  22. 在 <postgres home directory path>/data 下建立 pg_log 目錄。

    例如︰

    mkdir -p /opt/netiq/idm/postgres/data/pg_log

  23. 變更 pg_log 目錄的許可權。

    chown -R postgres:postgres <postgres directory path>/data/pg_log

    例如︰

    chown -R postgres:postgres /opt/netiq/idm/postgres/data/pg_log

  24. 啟動 PostgreSQL 服務。

    systemctl start netiq-postgresql

    此指令將啟動新的 PostgreSQL 服務。

  25. (選擇性) 從圖形使用者介面啟動新 pgAdmin:

    1. 將 scripts 目錄從舊的 postgres 主目錄複製到新的 postgres 主目錄。

      例如︰

      cp -rvf /opt/netiq/idm/apps/postgres/scripts /opt/netiq/idm/postgres

    2. 導覽至 /opt/netiq/idm/postgres/scripts 目錄。

    3. 編輯 launchpgadmin.sh,以新的 PostgreSQL 路徑取代舊路徑。

      以 /opt/netiq/idm/postgres 取代 /opt/netiq/idm/apps/postgres/。

    4. 導覽至 /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
    5. 從系統中移除舊的 postgres 主目錄。

      rm -rf /opt/netiq/idm/apps/postgres/

    6. 為使變更生效,請重新啟動您的系統。

26.5.5 升級 Identity Applications 的驅動程式套件

本節介紹如何將使用者應用程式驅動程式以及角色與資源服務驅動程式的套件更新到最新版本。升級 Identity Applications 前必須先執行此任務。

  1. 在 Designer 中開啟目前的專案。

  2. 在套件目錄 > 輸入套件上按一下滑鼠右鍵。

  3. 選取相應的套件。例如,使用者應用程式驅動程式基礎套件。

  4. 按一下「確定」。

  5. 在開發人員檢視窗中,在該驅動程式上按一下滑鼠右鍵,然後按一下內容。

  6. 導覽至內容頁面中的套件索引標籤。

  7. 按一下右上角的新增套件 (+) 符號。

  8. 選取該套件,然後按一下確定。

  9. 重複相同程序,以升級角色與資源服務驅動程式的套件。

    附註:確定使用者應用程式驅動程式以及角色與資源服務驅動程式連接至升級後的 Identity Manager。

26.5.6 升級 Identity Applications

附註:如果 Identity Applications 和 SSPR 安裝在不同的伺服器上,您需要手動升級 SSPR。如需詳細資訊,請參閱升級 SSPR。

升級 Identity Applications

下面的程序介紹如何升級 Identity Applications。

  1. 從 NetIQ 下載網站下載 Identity_Manager_4.7_Linux.iso。

  2. 掛接下載的 .iso。

  3. 執行以下指令:

    ./install.sh

  4. 通讀授權合約。

  5. 輸入 y 以接受授權合約。

  6. 指定是否要升級 Identity Manager 元件。可用選項有 y 和 n。

  7. 選取 Identity Applications 以繼續升級。

  8. 指定以下詳細資料:

    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

附註:如果 SSPR 安裝在與 Identity Applications 和 OSP 伺服器不同的伺服器上,則必須單獨升級 SSPR。

  1. 如節 5.11, 下載安裝檔案 中所述下載 Identity_Manager_4.7_Linux.iso。

  2. 掛接下載的 .iso。

  3. 從 .iso 檔案的根目錄中,導覽至 SSPR 目錄。

  4. 執行以下指令:

    ./install.sh

  5. 通讀授權合約。

  6. 輸入 y 以接受授權合約。

26.5.7 升級後任務

  • 驗證 configupdate 公用程式中的 RBPM 至 eDirectory SAML 組態參數是否設定為自動。

    1. 啟動 configupdate 公用程式。

    2. 導覽至 SSO 用戶端 > RBPM,並將 RBPM 至 eDirectory SAML 組態設定為自動。

    3. 儲存變更。

    4. 啟動 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 的自訂設定。

Java

驗證升級後的 JRE 位置 (jre/lib/security/cacerts) 是否包含較舊 JRE 位置中的所有證書。如果某個證書遺失,請手動將該證書輸入到升級後的 JRE 的 cacerts 中。

  1. 使用 keytool 指令輸入 java cacerts︰

    keytool -import -trustcacerts -file Cerificate_Path -alias ALIAS_NAME -keystore cacerts

    附註:升級後,JRE 儲存在 Identity Applications 安裝位置。例如︰/opt/netiq/idm/apps/jre。

  2. 驗證 JRE 主目錄位置。

    tomcat/bin/setenv.sh

  3. 啟動組態更新公用程式,並驗證您的 cacerts 路徑。

Tomcat

  1. (視情況而定) 若要從升級程序先前建立的備份還原自訂檔案,請執行以下任務︰

    • 還原自訂的 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 
  2. (視情況而定) 導覽至使用者應用程式,然後透過讀取備份的組態手動還原自訂設定。

Identity Applications

從升級期間建立的備份還原 Identity Applications 自訂組態。

如果您在執行升級程式前已將自訂網路位置資料夾重新命名為 IDMProv,則應使用 configupdate 公用程式將該網路位置資料夾名稱變更為原來的網路位置名稱。例如,原來的自訂網路位置名稱為 IDMDev,現在它被重新命名為 IDMProv。

請完成以下步驟將網路位置名稱改回為原來的網路位置名稱︰

  1. 導覽至使用者應用程式目錄 (位於 /opt/netiq/idm/apps/UserApplication 中)。

  2. (選擇性) 若要以圖形使用者介面模式啟動 configupdate 公用程式,請確定 configupdate.sh.properties 檔案中的 use_console 選項設定為 false。

    需要執行此步驟的原因是,升級公用程式會將此選項的值變更為 true。

    或者,在 Linux 上啟動 configupdate 公用程式,並傳遞額外的指令行引數。

    ./configupdate.sh use_console=false
  3. 啟動 configupdate 公用程式。

    configupdate.sh

  4. 在使用者應用程式索引標籤中按一下進階選項,然後執行以下步驟︰

    1. 核取變更 RBPM 網路位置名稱核取方塊。

    2. 將 RBPM 網路位置名稱變更為原來的網路位置名稱。

    3. 瀏覽並選取相應的角色驅動程式 DN,然後按一下確定。

    4. 使用以下指令變更 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
  5. (視情況而定) 如果您已完成所有升級後任務,則請啟動 Identity Applications 的 Tomcat 服務。

One SSO Provider

如果 OSP 和使用者應用程式部署在不同的伺服器上,請使用組態更新公用程式更新 SSO 用戶端參數。如需詳細資訊,請參閱 節 11.6.5, SSO 用戶端參數 中的 IDM 儀表板。

位於 /etc/logevent.conf 檔案中的 LogHost 項目預設設定為 localhost。

若要修改 LogHost 項目,請手動從升級期間建立的備份還原 OSP 自訂組態。

Kerberos

升級公用程式會在電腦上建立新的 Tomcat 資料夾。如果任何 Kerberos 檔案 (例如 keytab 和 Kerberos_login.config) 存放在舊 Tomcat 資料夾中,請從備份資料夾中將這些檔案複製到新 Tomcat 資料夾。