11.3 升级 Identity Applications

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

  • Identity Manager User Application

  • One SSO Provider (OSP)

  • Self-Service Password Reset (SSPR)

  • Tomcat、JDK 和 ActiveMQ

升级后,组件将升级到以下版本:

  • Tomcat - 8.5.40

  • ActiveMQ - 5.15.9

  • Java 8 Update 222

  • One SSO Provider - 6.3.4

  • Self-Service Password Reset - 4.4.0.3

  • Identity Applications - 4.8

  • Identity Reporting - 6.5

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

11.3.1 了解升级程序

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

11.3.2 升级先决条件

如果您的数据库是通过 SSL 配置的,请在位于 C:\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

11.3.3 系统要求

升级进程会为所安装组件的当前配置创建备份。确保服务器具有足够储存备份的空间,另外还有可供升级的可用空间。

11.3.4 升级 PostgreSQL 数据库

重要说明:升级过程可能需要一段时间,时间长短取决于数据库大小。因此,请相应规划您的升级。

  1. 停止服务器上正在运行的 PostgreSQL 服务。

  2. 重命名 C:\Netiq\idm\apps 中的 postgres 目录。

    例如,将 postgres 重命名为 postgresql_old

  3. 执行以下命令去除旧服务:

    sc delete <postgres 服务名称>

  4. 安装您的操作系统支持的 PostgreSQL 版本。

    选择的位置必须与 PostgreSQL 的当前安装位置不同。

    1. 装入 Identity_Manager_4.8_Windows.iso 映像文件,然后导航到 \common\postgres_tomcat 目录。

    2. 运行 TomcatPostgreSQL.exe 文件。

      安装期间,请只选择 PostgreSQL 选项。

    注:

    • 不要在 PostgreSQL 细节页面中提供任何数据库细节。确保取消选择创建数据库登录帐户创建空数据库

    • 确保您拥有新旧 PostgreSQL 安装目录的管理员特权。

  5. 停止新安装的 PostgreSQL 服务。转到服务,搜索 <PostgreSQL 版本号> 服务,然后停止该服务。

    注:相应的用户在提供有效的鉴定信息后,可以执行停止操作。

  6. 通过执行以下操作更改新安装的 PostgreSQL 目录的许可权限:

    创建一个 postgres 用户:

    1. 转到控制面板 > 用户帐户 > 用户帐户 > 管理帐户

    2. 单击添加用户帐户

    3. 在“添加用户”页面中,指定 postgres 作为用户名,并提供该用户的口令。

    postgres 用户提供对现有和新安装的 PostgreSQL 目录的许可权限:

    1. 右键单击 PostgreSQL 目录,然后转到属性 > 安全性 > 编辑

    2. 为该用户选择完全控制,以提供完全许可权限。

    3. 单击应用

  7. postgres 用户的身份访问 PostgreSQL 目录。

    1. postgres 用户身份登录服务器。

      在登录之前,请校验是否允许 postgres 用户建立远程连接,以确保此用户可连接到 Windows 服务器。

    2. 删除新 postgres 安装位置中的数据目录。例如,C:\NetIQ\idm\apps\postgres\data

    3. 打开命令提示符,并使用以下命令设置 PGPASSWORD

      set PGPASSWORD=<your pg password>
    4. 切换到新安装的 PostgreSQL 目录。

    5. postgres 数据库用户身份执行 initdb

      initdb.exe -D <新数据目录> -E UTF8 -U postgres

      例如,

      initdb.exe -D C:\NetIQ\idm\apps\postgres\data -E UTF8 -U postgres

  8. 从新 PostgreSQL 的 bin 目录升级 PostgreSQL。运行以下命令,然后单击 Enter

    注:确保已在 C:\NetIQ\idm\apps\postgres\data\ 目录下的 pg_hba.conf 中,将方法类型由 md5 设置为 trust

    pg_upgrade.exe --old-datadir "C:\NetIQ\idm\apps1\postgres\data" --new-datadir "C:\NetIQ\idm\apps1\postgresql962\data" --old-bindir "C:\NetIQ\idm\apps1\postgres\bin" --new-bindir "C:\NetIQ\idm\apps1\postgresql962\bin"
  9. 成功升级后,用旧 postgres 数据目录中的文件替换新 postgres 目录 (C:\NetIQ\idm\apps\postgres\data) 中的 pg_hba.confpostgresql.conf 文件。

  10. 启动升级后的 PostgreSQL 数据库服务。

    转到服务,搜索 <PostgreSQL 版本号> 服务,然后启动该服务。

    注:相应的用户在提供有效的鉴定信息后,可以执行启动操作。

  11. 禁用旧的 PostgreSQL 服务,以确保该服务不会自动启动。

  12. (可选)从新安装的 PostgreSQL 服务的 bin 目录中删除旧数据文件。

    1. postgres 用户的身份登录。

    2. 导航到 bin 目录,并运行 analyze_new_cluster.batdelete_old_cluster.bat 文件。

      例如:C:\NetIQ\idm\apps\postgresql\bin

    注:仅当您想要删除旧数据文件时,才需要运行此步骤。

11.3.5 升级 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. 部署 User Application 驱动程序。

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

11.3.6 升级 Identity Applications

下面的过程说明了如何升级以下组件:

  • Identity Applications

  • OSP

  • Tomcat

  • PostgreSQL

  • SSPR(如果与 Identity Applications 安装在同一台计算机上)

  • ActiveMQ

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

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

  2. 装入下载的 .iso

  3. 导航到 <ISO 安装位置>\IdentityApplications 文件夹,然后运行 install.exe

  4. 选择安装时要使用的语言,然后单击确定

  5. 在“简介”页面中单击下一步

  6. 阅读并接受许可协议,然后单击下一步

    安装的组件及其版本即会显示。

  7. 选择 Identity Applications,然后单击下一步

  8. 指定 Identity Applications 的配置设置。有关详细信息,请参见Identity Applications 的配置工作表

    注:

    • 如果您将 PostgreSQL 数据库安装到了 Identity Applications 所在的同一台服务器上,NetIQ 建议使用 Identity Manager 安装程序来创建工作流程数据库。

    • 升级时,您必须手动指定数据库 JDBC JAR 文件。例如,如果您使用的是 PostgresQL 数据库,则需要指定位于 tomcat\lib 文件夹外部的数据库 JAR 文件的位置。

  9. 在“升级前摘要”页面中查看设置,然后单击升级

根据组件的安装位置,安装进程会在该位置创建备份目录,并在备份目录中追加时戳(指示备份时间)。

例如,

  • Tomcat – C:\NetIQ\idm\apps\tomcat_backup_02262018_033634

  • OSP 和 SSPR - C:\NetIQ\idm\apps\osp_sspr_backup_02262018_033634

  • ActiveMQ - C:\NetIQ\idm\apps\activemq_backup_02262018_033634

  • User Application - C:\NetIQ\idm\apps\UserApplication_backup_02262018_033634

  • Identity Reporting - C:\NetIQ\idm\apps\IdentityReporting_backup_02262018_033634

11.3.7 升级后任务

如果您将 Identity Applications 和 SSPR 安装在不同的服务器上,则必须将 CN 为 Identity Applications 的 SSPR 可信证书导入到 Identity Applications 服务器的 cacerts 中。

您还必须手动恢复 Tomcat、SSPR、OSP 或 Identity Applications 的自定义设置。

针对所需组件执行升级后步骤:

Java

对照旧版 JRE 位置,校验新升级的 JRE 位置中的证书:jre\lib\security\cacerts。手动将缺少的证书导入到 cacerts 中。

  1. 使用 keytool 命令导入 java cacerts

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

    注:升级后,JRE 储存在 Identity Applications 安装位置。例如:C:\NetIQ\idm\apps\jre

  2. 重启动身份库。

  3. 校验 JRE 主目录位置是否为 tomcat\bin\setenv.bat

  4. 起动配置更新实用程序,并校验您的 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(位于 C:\netiq\idm\apps\osp_backup_<date> 中)复制到所有节点上。

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

    • 将 Identity Applications 证书导入到身份库中(位于 C:\NetIQ\eDirectory\jre\lib\security\cacerts)。

      例如,您可以使用以下 keytool 命令将证书导入到身份库中:

      keytool -importkeystore -alias <User Application certificate alias> -srckeystore <backup cacert> -srcstorepass changeit -destkeystore C:\NetIQ\eDirectory\jre\lib\security\cacerts
  2. (视情况而定)导航到 User Application,然后通过读取备份的配置手动恢复自定义设置。

Identity Applications

将 Identity Applications 从 4.6 SP4 升级到 4.8 时,必须确保 tomcat/bin 文件夹内的 setenv 文件中存在 Dcom.novell.afw.wf.engine-id=IDMProv 参数。如果升级 Identity Applications 后此参数缺失,则必须在 setenv 文件中手动添加该参数,并重启动 Tomcat 服务器。

One SSO Provider

logevent.conf 文件中的 LogHost 项默认设置为 localhost

要修改 LogHost 条目,请手动从升级过程中创建的备份恢复 OSP 自定义配置。

Self-Service Password Reset

升级 SSPR 后,使用配置更新实用程序更新 SSO 客户端参数。有关详细信息,请参见SSO 客户端参数

要更新 SSPR 配置细节,请执行以下步骤:

  1. 以管理员身份登录 SSPR 门户。

  2. 更新审计服务器细节:

    1. 导航到您的 ID > 配置编辑器,指定配置口令。

    2. 选择设置 > 审计 > 审计转发 > Syslog 审计服务器证书

    3. 从服务器导入这些证书,然后单击保存

  3. LocalDB 导入 SSPR:

    1. 从下拉菜单导航到您的 ID > 配置管理器

    2. 单击 LocalDB

    3. 单击导入(上载)LocalDB 存档文件

  4. (视情况而定)要限制 SSPR 的配置,请执行以下操作:

    1. 从列表中导航到您的 ID > 配置管理器

    2. 单击限制配置

  5. 配置 SSPR 的管理员许可权限,请参见安装后步骤

要校验升级是否成功,请起动升级的组件。

例如,起动 Identity Manager 仪表板,单击关于。检查应用程序显示的是否为新版本,例如 4.8.0

Kerberos

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