10.7 升级 Identity Applications

本节提供有关升级 Identity Applications 和支持软件的信息,其中包括更新以下组件的内容:

  • Identity Manager User Application

  • Self-Service Password Reset (SSPR)

  • Tomcat、JDK 和 ActiveMQ

  • PostgreSQL 数据库

  • One SSO Provider (OSP)

    重要说明:Identity Manager 4.8 要求将 Identity Applications 和 OSP 安装在同一台计算机上。升级到此版本时,请使用升级 Identity Applications 时安装的 OSP,然后将现有 OSP 服务器中的 OSP 设置复制到新的 OSP 服务器。有关详细信息,请参见Identity Applications 组件的升级后任务

本节提供有关以下主题的信息:

10.7.1 升级注意事项

Identity Applications 升级过程可能会因您升级 Identity Applications 组件的方式而异。在升级 Identity Applications 之前,请注意以下事项:

  • 在开始执行 Identity Applications 的升级过程之前,如果您使用 Oracle 或 MS SQL 数据库,则必须创建 igaworkflowdb,并向拥有这些数据库的 idmadmin 用户指派所有特权。

  • 如果 Identity Applications 和 SSPR 安装在不同的服务器上,则您可以选择单独升级 SSPR。

  • 在升级过程中,请确保校验数据库名称和其他默认值,并根据需要进行修改。

  • Identity Manager 支持在 Identity Applications 服务器本地安装 OSP。升级程序不支持将 OSP 独立升级到此版本,在升级 Identity Applications 时,它会安装 OSP 的新副本。要将现有 OSP 设置恢复到新安装的 OSP,请参见Identity Applications 组件的升级后任务中的 One SSO Provider

    表 10-1 Identity Applications 的升级过程

    Identity Applications 部署

    升级过程

    Identity Applications、SSPR 和 OSP 安装在同一台服务器上

    要升级所有组件,请按照升级 Identity Applications中的步骤操作。

    Identity Applications 和 OSP 安装在同一台服务器上。SSPR 安装在其他服务器上。

    1. 要升级 Identity Applications 和 OSP,请按照升级 Identity Applications中的步骤操作。

    2. 要升级其他服务器上的 SSPR,请按照升级 SSPR中的步骤操作。

    Identity Applications 未与 SSPR 和 OSP 安装在同一台服务器上。在这种情况下,SSPR 可以安装在 Identity Applications 服务器或单独的服务器上。但是,OSP 必须安装在 Identity Applications 服务器上。

    1. 要升级 Identity Applications 和 OSP,请按照升级 Identity Applications中的步骤操作。

    2. 要升级其他服务器上的 SSPR,请按照升级 SSPR中的步骤操作。

    3. 起动配置更新实用程序,并提供安装了 OSP 的新服务器的细节。在本例中,新服务器是安装了 Identity Applications 的服务器。有关详细信息,请参见SSO 客户端参数

10.7.2 系统要求

升级过程会为所安装组件的当前配置创建备份。确保服务器具有足够储存备份的空间,另外还有可供升级的可用空间。有关详细信息,请访问 NetIQ Identity Manager 技术信息网站

10.7.3 了解升级程序

升级进程会从现有组件中读取配置值。这些信息包括 ism-configuration.propertiesserver.xmlSSPRConfiguration 和其他配置文件。当您使用这些配置文件时,升级过程会在内部调用指定组件的升级程序。此外,升级程序还会创建当前安装的备份。

10.7.4 升级 PostgreSQL

升级 PostgreSQL 需要执行的步骤如下:

  1. 从 NetIQ 下载网站下载并解压缩 Identity_Manager_4.8_Linux.iso

  2. 导航到 /common/scripts 目录。

  3. 运行以下命令:

    ./pg-upgrade.sh

  4. 指定以下细节以完成安装:

    现有 Postgres 的安装位置: 指定 PostgreSQL 的安装位置。默认位置为 /opt/netiq/idm/postgres/

    注:确保 Postgres 用户对 /opt/netiq/idm/postgres 目录具有相应的许可权限。

    现有的 Postgres 数据目录: 指定 PostgreSQL 数据目录所在的位置。默认位置为 /opt/netiq/idm/postgres/data

    现有的 Postgres 数据库口令: 指定 PostgreSQL 口令。

    新的 Postgres 数据目录: 指定新的 PostgreSQL 数据目录。例如 /opt/netiq/idm/postgres_new/data

10.7.5 升级 Identity Applications 组件

升级 Identity Applications 的驱动程序包

您必须停止 Tomcat,并将 User Application 及 Role and Resource Service 驱动程序的包更新到最新版本。有关将包升级到最新版本的信息,请参见《NetIQ Designer for Identity Manager Administration Guide》(NetIQ Designer for Identity Manager 管理指南)中的“Upgrading Installed Packages”(升级安装的包)。

升级 User Application 驱动程序包后,必须手动添加工作流程模板包:

  1. 在 Designer 中,导航到 User Application 驱动程序并选择“属性”。

  2. 依次单击“包”、

  3. 选中仅显示适用的包版本复选框。

  4. 选择创建工作流程模板

  5. 单击确定,然后单击完成以完成安装。

  6. 部署 User Application 驱动程序。

重要说明:如果在升级 User Application 驱动程序的过程中安装或升级了任何电子邮件通知模板,则需要部署默认通知集合对象。

升级 Identity Applications

下面的过程介绍如何升级 Identity Applications。

  1. 从 NetIQ 下载网站下载 Identity_Manager_4.8_Linux.iso

  2. 装入下载的 .iso

  3. 运行以下命令:

    ./install.sh

  4. 通读许可协议。

  5. 输入 y 以接受许可协议。

  6. 指定是否要升级 Identity Applications。可用选项有 yn

  7. 如果您要继续升级,请指定以下细节:

    用于备份的 OSP 安装文件夹

    仅当 OSP 和 Identity Applications 安装在同一台服务器上时才适用。

    指定用于储存 OSP 备份数据的 OSP 备份文件夹。

    SSPR 安装文件夹

    仅当 SSPR 和 Identity Applications 安装在同一台服务器上时才适用。

    指定 SSPR 安装文件夹。

    在系统中未找到 SSPR。是否要安装并配置?

    仅当 Identity Applications 和 SSPR 安装在不同的服务器上时才适用。

    如果您选择 y,则 SSPR 将安装在安装了 Identity Applications 的服务器上。您需要将现有的自定义设置复制到安装 SSPR 的新服务器上。

    • SSPR 配置口令:指定 SSPR 配置口令。

    • One SSO 服务器 DNS/IP 地址:指定安装了 OSP 的服务器的 IP 地址。

    • One SSO 服务器 SSL 端口:指定 OSP SSL 端口。

    如果您选择 n,将不会安装 SSPR,但会升级 Identity Applications。

    User Application 安装文件夹

    指定 User Application 安装文件夹。

    Identity Applications One SSO 服务口令

    指定 One SSO 口令。指定的口令将更新您在配置更新实用程序中为所有客户端配置的客户端机密。如果需要,您可以从配置更新实用程序重设置相应客户端的口令。有关更多信息,请参见SSO 客户端参数

    Identity Applications 数据库 JDBC jar 文件

    指定数据库 JAR 文件。例如,如果您要使用安装在同一台服务器上的 PostgresQL 数据库,则现有数据库 jar 文件的默认位置为 /opt/netiq/idm/postgres/postgresql-9.4.1212.jar

    创建 Identity Applications 的纲要

    指定何时创建数据库纲要。可用选项有现在启动文件。默认选项为现在

    注:如果您要使用 msSQL 或 Oracle 并向 idmadmin 用户指派对此数据库的所有特权,则必须创建 igaworkflowdb

    Identity Applications 数据库用户口令

    指定数据库 用户口令。

    Identity Applications 数据库管理员口令

    指定数据库管理员口令。

  8. 启动 Tomcat。如果您选择立即创建数据库纲要,请选择现在

    systemctl start netiq-tomcat.service

    (可选)在升级过程中,如果您选择启动写入文件选项来创建数据库纲要,则必须执行所需的步骤以将数据迁移到工作流程数据库。以下各节提供了有关使用启动写入文件选项时的数据迁移的细节。

  9. 重启动 NGINX 服务。

    systemctl restart netiq-nginx.service

数据库启动

重要说明:按照本节所述的过程,使用 Identity Manager 4.8 Linux 和 Windows ISO 文件中随附的工作流程迁移实用程序将数据迁移到工作流程数据库。不过,Identity Applications Tools Patch 1 包 (1.0.0.0100) 中现在提供了更新的工作流程迁移工具。此增补程序添加了一个新的工作流程迁移命令实用程序,其中的新选项可帮助您加快迁移速度。它还解决了迁移大型数据库时数据库迁移失败的关键问题。可以从软件许可和下载门户下载此增补程序。我们建议使用最新的工作流程迁移实用程序,以顺利完成数据库迁移。有关详细信息,请参见《NetIQ Identity Manager 4.8 Identity Applications Tools Patch 1 Release Notes》(NetIQ Identity Manager 4.8 Identity Applications Tools Patch 1 发行说明)。

使用启动选项时迁移数据需要执行的步骤如下:

  1. <装入 ISO 的位置>/user_application/IDM_Tools/ 目录中的 WorkflowMigration.zip 文件复制到 /home 目录,然后解压缩该文件。

  2. jdbc.jar(例如 sqljdbc42.jar)文件复制到 /home/WorkflowMigration/WEB-INF/lib/ 目录中,并将该文件重命名为 jdbcDriver.jar

  3. 停止 Roles and Resource Service 驱动程序。

  4. 启动 Tomcat。

  5. 运行以下命令导出数据:

    注:确保数据库用户拥有修改数据库所需的所有特权。

    [postgres]  /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -e test.zip -surl jdbc:postgresql://ip:port/idmuserappdb -suser idmadmin -spwd ***** -sdb postgres
    [oracle] /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -e test.zip -surl jdbc:oracle:thin:@IP:1521:idmdb -suser idmadmin -spwd ***** -sdb oracle
    [mssql] /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -e test.zip -surl "jdbc:sqlserver://IP:1433;DatabaseName=idmuserappdb" -suser idmadmin -spwd ***** -sdb mssql
  6. 运行以下命令导入数据:

    [postgres]  /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -i test.zip -durl jdbc:postgresql://ip:port/igaworkflowdb -duser idmadmin -dpwd ***** -ddb postgres
    [oracle]   /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -i test.zip -durl jdbc:oracle:thin:@IP:1521:igaworkflowdb -duser idmadmin -dpwd ***** -ddb oracle
    [mssql] /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -i test.zip -durl "jdbc:sqlserver://IP:1433;DatabaseName=igaworkflowdb" -duser idmadmin -dpwd ***** -ddb mssql
  7. 启动 Roles and Resource Services 驱动程序。

写入到文件

使用写入到文件选项时迁移数据需要执行的步骤如下:

  1. <装入 ISO 的位置>/user_application/IDM_Tools/ 目录中的 WorkflowMigration.zip 文件复制到 /home 目录,然后解压缩该文件。

  2. jdbc.jar(例如 sqljdbc42.jar)文件复制到 /home/WorkflowMigration/WEB-INF/lib/ 目录中,并将该文件重命名为 jdbcDriver.jar

  3. 使用 pgAdmin 等管理工具执行 ua_databaseschema.sqlwfe_databaseschema.sql 脚本,并校验是否已正确创建纲要。

    注:使用 pgAdmin 工具执行 ua_databaseschema.sqlwfe_databaseschema.sql 时,请确保将这两个 SQL 文件的第一行注释掉。例如,应在执行 SQL 文件之前将 Starting Liquibase at Fri, 11 Oct 2019 15:59:26 IST (version 3.7.0 built at 2019-07-16 02:32:57) 行注释掉。

  4. 运行以下命令导出数据:

    注:确保数据库用户拥有修改数据库所需的所有特权。

    [postgres]  /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -e test.zip -surl jdbc:postgresql://ip:port/idmuserappdb -suser idmadmin -spwd ***** -sdb postgres
    [oracle] /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -e test.zip -surl jdbc:oracle:thin:@IP:1521:idmdb -suser idmadmin -spwd ***** -sdb oracle
    
    [mssql] /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -e test.zip -surl "jdbc:sqlserver://IP:1433;DatabaseName=idmuserappdb" -suser idmadmin -spwd ***** -sdb mssql
  5. 运行以下命令导入数据:

    [postgres]  /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -i test.zip -durl jdbc:postgresql://ip:port/igaworkflowdb -duser idmadmin -dpwd ***** -ddb postgres
    [oracle]   /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -i test.zip -durl jdbc:oracle:thin:@IP:1521:igaworkflowdb -duser idmadmin -dpwd ***** -ddb oracle
    [mssql] /opt/netiq/common/jre/bin/java -jar Workflow-Migration.jar -i test.zip -durl "jdbc:sqlserver://IP:1433;DatabaseName=igaworkflowdb" -duser idmadmin -dpwd ***** -ddb mssql
  6. 启动 Tomcat。

升级 SSPR

在高级版中,如果 SSPR 未与 Identity Applications 安装在同一台服务器上,请使用此方法。

在标准版中,只能通过此方法升级 SSPR。

要升级 SSPR,请执行以下操作:

  1. 从 NetIQ 下载网站下载 Identity_Manager_4.8_Linux.iso

  2. 装入下载的 .iso

  3. .iso 文件的根目录导航到 sspr 目录。

  4. 运行以下命令:

    ./install.sh

  5. 通读许可协议。

  6. 输入 y 以接受许可协议。

  7. 指定 y 以升级 SSPR。

  8. 指定身份库管理员口令并完成升级。

10.7.6 Identity Applications 组件的升级后任务

在开始使用 Identity Applications 之前,请执行以下任务:

  • 手动删除先前版本的 Tomcat 和 ActiveMQ 服务。例如,运行以下命令:

    /etc/init.d/idmapps_tomcat_init

    /etc/init.d/idmapps_activemq_init

  • 必须手动恢复 Tomcat、SSPR、OSP 和 Kerberos 的自定义设置。

  • Identity Applications 服务器的密钥存储区 (idm.jks) 中应存在 CN 为 Identity Applications 的证书。作为增强的 Java 安全措施的一部分,Identity Applications 现在需要可信证书才能与 OSP 通讯。

  • 使用现有的 Identity Applications 密钥存储区文件将已签名证书导入到 idm.jks 中。例如:

    。/keytool -import -alias mycerts -keystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -file /opt/certs/chap8.der

    注:将 4.6.x 升级到 4.8 时需要执行此步骤。

  • 如果您是在群集环境中升级 Identity Applications,则必须在升级 Identity Applications 之后执行以下步骤:

    • 导航到 /opt/netiq/idm/apps/tomcat/conf 目录,然后在 context.xml 文件的 Context 标记中添加下面一行:

      <Manager notifyListenersOnReplication="true" expireSessionsOnShutdown="false" className="org.apache.catalina.ha.session.DeltaManager"/>
    • 导航到 /opt/netiq/idm/apps/tomcat/conf 目录,然后在 server.xml 文件的 Cluster 标记中添加下面一行:

      <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                  <Membership className="org.apache.catalina.tribes.membership.McastService"
                              address="228.0.0.4"
                              port="45564"
                              frequency="500"
                              dropTime="3000"/>
                  <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                            address="auto"
                            port="5000"
                            selectorTimeout="100"
                            maxThreads="6"/>
      
                  <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                    <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                  </Sender>
                  <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
                  <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>
                  <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
                </Channel>
      
                <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                       filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/>
      
                <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                          tempDir="/tmp/war-temp/"
                          deployDir="/tmp/war-deploy/"
                          watchDir="/tmp/war-listen/"
                          watchEnabled="false"/>
      
                <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
  • 如果您的数据库是通过 SSL 配置的,请在位于 /opt/netiq/idm/apps/tomcat/conf/ 路径下的 server.xml 文件中,将 ssl=true 替换为 sslmode=require

    例如,将

    jdbc:postgresql://<postgres db>:5432/idmuserappdb?ssl=true

    更改为

    jdbc:postgresql://<postgres db>:5432/idmuserappdb?sslmode=require

Tomcat

  • 在群集环境中,手动取消注释 server.xml 中的 Cluster 标记,然后将第一个节点上 /opt/netiq/idm/apps/osp_backup_<日期> 中的 osp.jks 复制到所有节点上。

  • 如果您自定义了密钥存储区文件,请在新 server.xml 文件中包括正确的路径。

SSPR

如果 Identity Applications 和 SSPR 部署在不同的服务器上,而您选择将现有的 SSPR 自定义设置恢复到安装了 SSPR 的新服务器,请务必使用 ConfigUpdate 实用程序修改新 SSPR 服务器上的 SSPR 设置。有关详细信息,请参见SSO 客户端参数

One SSO Provider

如果在升级前的设置中,Identity Applications 和 OSP 部署在不同的服务器上,请将现有的 OSP 设置复制到安装了 OSP 的新服务器(Identity Applications 服务器),然后在此服务器上运行安装套件中的 merge_jars 方法来恢复设置。

  1. 在升级了 Identity Applications 的服务器上停止 Tomcat(升级 Identity Applications 时会安装 OSP)。

  2. 恢复自定义设置。

    1. 导航到现有 OSP 服务器中的 OSP 安装目录,找到 osp-custom-resource.jar 文件。

      例如 /opt/netiq/backup_idm/osp/osp-extras/l10n-resources/osp-custom-resource.jar

    2. osp-custom-resource.jar 文件复制到升级了 Identity Applications 的服务器上的某个位置。

    3. 导航到 <Identity_Manager_4.8_Linux.iso 装入位置>/osp/scripts/merge_cust_loc.sh

      此脚本包含用于将现有自定义设置合并到新安装的 OSP 的 merge_jars 方法。

    4. 打开命令提示符并运行以下命令:

      merge_jars ${IDM_BACKUP_FOLDER in the remote OSP server}/tomcat/lib/osp-custom-resource.jar ${IDM 4.8_OSP_INSTALLED_HOME}/osp-extras/l10n-resources/osp-custom-resource.jar)

      例如:

      merge_jars /opt/netiq/backup_idm/osp/osp-extras/l10n-resources/osp-custom-resource.jar /opt/netiq/idm/apps/osp/osp-extras/l10n-resources/osp-custom-resource.jar

      其中,backup_idm 目录包含现有 OSP 服务器中的 OSP 设置。

  3. 在安装了 OSP 的新服务器上启动 Tomcat。

要更新其他设置,请参见SSO 客户端参数

Kerberos

升级实用程序会在计算机上创建新的 Tomcat 文件夹。如果任何 Kerberos 文件(例如 keytabKerberos_login.config)驻留在旧 Tomcat 文件夹中,请从备份文件夹中将这些文件复制到新 Tomcat 文件夹。

10.7.7 升级后校验版本号

升级到 Identity Manager 4.8 后,请校验组件是否已升级到以下版本:

  • Tomcat – 9.0.22

  • ActiveMQ – 5.15.9

  • Java – 1.8.0_222

  • One SSO Provider – 6.3.6

  • Self-Service Password Reset – 4.4.0.3