18.6 为群集配置 OSP 和 SSPR

Identity Manager 在 Tomcat 群集环境中支持 SSPR 配置。

18.6.1 配置 SSPR 以支持群集

要在群集的第一个节点中更新 SSPR 信息,请起动 /opt/netiq/idm/apps/configupdate/configupdate.sh 中的配置实用程序。

在随即打开的窗口中,单击 SSO 客户端 > Self Service Password Reset,并为客户端 ID口令OSP OAuth 重定向 URL 参数输入值。

18.6.2 在群集节点上配置任务

在群集节点上执行以下配置任务:

  1. 要用 SSPR IP 地址更新“忘记口令”链接,请在第一个节点上登录 User Application,然后单击管理 > 忘记口令

    有关 SSPR 配置的详细信息,请参见配置忘记口令管理

  2. 要更改“更改我的口令”链接,请参见针对分布式环境或群集环境更新仪表板中的 SSPR 链接

  3. 在群集中的其他节点上,校验“忘记口令”链接和“更改我的口令”链接是否已用 SSPR IP 地址更新。

    注:如果已用 SSPR IP 地址更新“更改口令”链接和“忘记口令”链接,则不需要执行其他更改。

  4. 在第一个节点中,停止 Tomcat,并使用以下命令指定负载平衡器服务器的 DNS 名称来生成新的 osp.jks 文件:

    /opt/netiq/common/jre/bin/keytool -genkey -keyalg RSA -keysize 2048 -keystore osp.jks -storepass <password> -keypass <password> -alias osp -validity 1800 -dname "cn=<loadbalancer IP/DNS>"

    例如:/opt/netiq/common/jre/bin/keytool -genkey -keyalg RSA -keysize 2048 -keystore osp.jks -storepass changeit -keypass changeit -alias osp -validity 1800 -dname "cn=mydnsname"

    注:确保密钥口令与在 OSP 安装期间提供的口令相同。或者,可以使用配置更新实用程序加入密钥存储区口令来更改该口令。

  5. (视情况而定)要校验 osp.jks 文件是否已通过这些更改更新,请运行以下命令:

    /opt/netiq/common/jre/bin/keytool -list -v -keystore osp.jks -storepass changeit

  6. 备份位于 /opt/netiq/idm/apps/osp 中的原始 osp.jks 文件,并将新 osp.jks 文件复制到此位置。新 osp.jks 文件是在步骤 4 中创建的。

  7. 将第一个节点上位于 /opt/netiq/idm/apps/osp 中的新 osp.jks 文件复制到群集中的所有其他 User Application 节点上。

  8. 在第一个节点中起动配置实用程序,并在“SSO 客户端”选项卡下将所有 URL 设置(例如登录页的 URL 链接和 OAuth 重定向 URL)更改为负载平衡器 DNS 名称。

    1. 保存配置实用程序中所做的更改。

    2. 要在群集的所有其他节点中反映此更改,请将第一个节点上位于 /TOMCAT_INSTALLED_HOME/conf 中的 ism-configuration properties 文件复制到所有其他 User Application 节点。

      注:您之前已将第一个节点上的 ism.properties 文件复制到群集中的其他节点上。如果您在 User Application 安装期间指定了自定义安装路径,请在群集节点中使用配置更新实用程序确保参照路径正确。

      在此方案中,OSP 和 User Application 安装在同一台服务器上;因此,为重定向 URL 使用了相同的 DNS 名称。

      如果 OSP 和 User Application 安装在不同的服务器上,请将 OSP URL 更改为指向负载平衡器的其他 DNS 名称。请对安装了 OSP 的所有服务器执行此操作。这可确保所有 OSP 请求均通过负载平衡器发送到 OSP 群集 DNS 名称。这涉及到为 OSP 节点建立一个单独的群集。

  9. /TOMCAT_INSTALLED_HOME/bin/ 目录下的 setenv.sh 文件中执行以下操作:

    1. 为确保 mcast_addr 绑定成功,JGroups 要求 preferIPv4Stack 属性设置为 true。为此,请在所有节点上的 setenv.sh 文件中添加 JVM 属性“-Djava.net.preferIPv4Stack=true”。

    2. 在第一个节点上的 setenv.sh 文件中添加 “-Dcom.novell.afw.wf.engine-id=Engine”。

      引擎名称应该唯一。提供在安装第一个节点的过程中指定的名称。如果未指定名称,则默认名称为“Engine”。

      同样,为群集中的其他节点添加唯一的引擎名称。例如,对于第二个节点,引擎名称可以是 Engine2。