本节提供在 Tomcat 上安装新 Identity Applications 实例,然后针对群集配置该实例的逐步说明。
安装 Identity Manager 引擎。对于生产级别部署,建议将 Identity Manager 引擎安装在单独的服务器上。
为 Identity Applications 安装数据库。可以使用随 Identity Applications 一起安装的 PostgreSQL 数据库。不过,建议将数据库安装在单独的服务器上。
在节点 1 上,安装并配置 Identity Applications。
在配置期间,请确保:
选择新数据库选项
提供唯一的工作流程引擎 ID。例如,节点 1。
群集中的所有 User Application 节点上均有可用的数据库 jar 文件。对于 PostgreSQL,postgresql-9.4.1212.jar 位于 /opt/netiq/idm/postgres。
Identity Applications 使用主密钥加密敏感数据。在 Identity Applications 配置期间,安装程序将创建新的主密钥。在群集中,User Application 群集要求每个 User Application 实例都使用相同的主密钥。主密钥储存在 /opt/netiq/idm/apps/tomcat/conf/ 目录中 ism-configuration.properties 文件内的属性 com.novell.idm.masterkey 下。
在节点 2 上,安装并配置 Identity Applications。
在配置期间,请确保:
选择现有数据库选项
提供唯一的工作流程引擎 ID。例如,节点 2。
群集中的所有 User Application 节点上均有可用的数据库 jar 文件。对于 PostgreSQL,postgresql-9.4.1212.jar 位于 /opt/netiq/idm/postgres。
完成节点 2 上的 User Application 配置后,复制节点 1 的 ism-configuration.properties 中的主密钥值,并替换节点 2 的 ism-configuration.properties 中储存的相应主密钥值。主密钥储存在 ism-configuration.properties (/opt/netiq/idm/apps/tomcat/conf/) 中的属性 com.novell.idm.masterkey 下。
在负载平衡器服务器中,针对所有群集节点使用 Identity Applications 端口号启动一个负载平衡器实例,使用表单渲染器端口号启动另一个负载平衡器实例。例如,
./balance 8543 apps1-au.edu.in:8543 ! apps2-au.edu.in:8543
./balance 8600 apps1-au.edu.in:8600 ! apps2-au.edu.in:8600
在单独的计算机上安装 SSPR。
完成 SSPR 安装后,起动 SSPR (https://<IP>:<端口>/sspr/private/config/editor) 并登录其中。单击配置编辑器 > 设置 > 安全性 > Web 安全性 > 重定向白名单。
单击添加值并指定以下 URL:
https://<故障转移的 DNS>/osp
保存更改。
在 SSPR 配置页面中,单击设置 > 单点登录 (SSO) 客户端 > OAuth,然后修改 OAuth 登录 URL、OAuth 代码解析服务 URL 和 OAuth 配置文件服务 URL 链接,具体做法是将 IP 地址替换为装有负载平衡器软件的服务器的 DNS 名称。
单击设置 > 应用程序 > 应用程序,然后更新转发 URL 和注销 URL,具体做法是将 IP 地址替换为装有负载平衡器软件的服务器的 DNS 名称。通过提供装有 SSPR 的服务器/系统的 IP 地址或主机名来更新站点 URL。
要在节点 1 上更新 SSPR 信息,请起动位于 /opt/netiq/idm/apps/configupdate/ 中的配置实用程序。
./configupdate.sh
注:您应只从 configupdate 目录运行 configudate.sh 文件。从自定义位置运行 configupdate.sh 将导致失败。
单击 SSO 客户端 > Self Service Password Reset,输入客户端 ID、口令和 OSP Auth 重定向 URL 参数的值。有关详细信息,请参见Self Service Password Reset。
注:校验节点 2 中是否更新了这些参数的值。
在节点 1 中,停止 Tomcat,并使用以下命令指定负载平衡器服务器的 DNS 名称以生成新的 osp.jks 文件:
/opt/netiq/common/jre/bin/keytool -genkey -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore osp.jks -storepass <口令> -keypass <口令> -alias osp -validity 1800 -dname "cn=<负载平衡器 IP/DNS>"
例如:/opt/netiq/common/jre/bin/keytool -genkey -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore osp.jks -storepass changeit -keypass changeit -alias osp -validity 1800 -dname "cn=mydnsname"
注:确保密钥口令与在 OSP 安装期间提供的口令相同。或者,可以使用配置更新实用程序加入密钥存储区口令来更改该口令。
(视情况而定)要校验 osp.jks 文件是否已通过这些更改更新,请运行以下命令:
/opt/netiq/common/jre/bin/keytool -list -v -keystore osp.jks -storepass changeit
备份位于 /opt/netiq/idm/apps/osp/ 中的原始 osp.jks 文件,并将新 osp.jks 文件复制到此位置。
将节点 1 上位于 /opt/netiq/idm/apps/osp/ 中的新 osp.jks 文件复制到群集中的其他 User Application 节点上。
在每个群集节点上:
导航到 /opt/netiq/idm/apps/sites 目录,然后编辑 ServiceRegistry.json 文件以添加负载平衡器细节。
{"serviceRegisteries":[{"serviceID":"IDM","restUrl":"https://<DNS of the load balancer>:8543/IDMProv"}]}
导航到 /opt/netiq/idm/apps/sites 目录,然后编辑 config.ini 文件以添加负载平衡器 DNS 和端口号。
OSPIssuerUrl=https://<DNS of the load balancer>:8543/osp/a/idm/auth/oauth2 OSPRedirectUrl=https://<DNS of the load balancer>:8600/forms/oauth.html ClientID=forms OSPLogoutUrl=https://<DNS of the load balancer>:8543/osp/a/idm/auth/app/logout
在节点 1 中起动配置实用程序,并在“SSO 客户端”选项卡下将所有 URL 设置(例如登录页的 URL 链接和 OAuth 重定向 URL)更改为负载平衡器 DNS 名称。
保存配置实用程序中所做的更改。检查 ism-configuration properties 文件是否体现了相应更改,如果有任何 URL 仍指向节点 1 DNS 和端口,请予以修改。
要在群集的所有其他节点中反映此更改,请将节点 1 上位于 /TOMCAT_INSTALLED_HOME/conf 中的 ism-configuration properties 文件复制到群集中的其他 User Application 节点上。
注:
您之前已将节点 1 上的 ism-configuration.properties 文件复制到群集中的其他节点上。如果您在 User Application 安装期间指定了自定义安装路径,请在群集节点中使用配置更新实用程序确保参照路径正确。
将 ism-configuration.properties 文件从一个节点复制到另一个节点后,请确保对该文件具有 novlua:novlua 许可权限。
在此方案中,OSP 和 User Application 安装在同一台服务器上;因此,为重定向 URL 使用了相同的 DNS 名称。
如果 OSP 和 User Application 安装在不同的服务器上,请将 OSP URL 更改为指向负载平衡器的不同 DNS 名称。请对安装了 OSP 的所有服务器执行此操作。执行此操作可确保所有 OSP 请求均通过负载平衡器发送到 OSP 群集 DNS 名称。这涉及到为 OSP 节点建立一个单独的群集。
指派对 osp.jks 文件的 novlua 许可权限:
chown novlua:novlua osp.jks
在位于 /TOMCAT_INSTALLED_HOME/bin/ 目录下的 setenv.sh 文件中执行以下操作:
为确保 mcast_addr 绑定成功,JGroups 要求将 preferIPv4Stack 属性设置为 true。为此,请在所有节点上的 setenv.sh 文件中添加 JVM 属性“-Djava.net.preferIPv4Stack=true”。
在节点 1 上的 setenv.sh 文件中添加 -Dcom.novell.afw.wf.engine-id="Engine1"。同样,为群集中的每个节点添加唯一的引擎名称。例如,对于节点 2,您可以添加引擎名称 Engine2。
在 User Application 中启用群集。
在节点 1 上启动 Tomcat。
不要启动任何其他服务器。
以 User Application 管理员身份登录 User Application。
单击配置 > 超速缓存和群集选项。
User Application 将显示“超速缓存管理”页面。
单击群集超速缓存配置,然后为群集已启用属性选择 True。
单击保存。
重启动 Tomcat。
注:如果您已选择“启用本地”设置,请针对群集中的每个服务器重复此过程。
User Application 群集使用 JGroups 在采用默认 UDP 的节点间进行超速缓存同步。如果您要更改此协议以使用 TCP,请参见《NetIQ Identity Manager - Administrator’s Guide to the Identity Applications》(NetIQ Identity Manager - Identity Applications 管理员指南)中的“Configuring User Application Caching to use TCP”(将 User Application 超速缓存配置为使用 TCP)。
为群集启用许可权限索引。
在 IDVault 中登录 iManager,然后导航到查看对象。
在系统下,导航到包含 User Application 驱动程序的驱动程序集。
选择 AppConfig > AppDefs > 配置。
选择 XMLData 属性,并将 com.netiq.idm.cis.clustered 属性设置为 true。
例如:
<property>
<key>com.netiq.idm.cis.clustered</key>
<value>true</value>
</property>
单击确定。
单击应用 > 确定。
启用 Tomcat 群集。
在所有群集节点上打开 /TOMCAT_INSTALLED_HOME/conf/ 中的 Tomcat server.xml 文件,并取消注释此文件中的下面一行:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
对于高级 Tomcat 群集配置,请按照 https://tomcat.apache.org/tomcat-8.5-doc/cluster-howto.html 中的步骤操作。
在所有节点上重启动 Tomcat。
为群集配置 User Application 驱动程序。
在群集中,必须将 User Application 驱动程序配置为使用群集负载平衡器的 DNS 名称。可使用 iManager 来配置 User Application 驱动程序。
登录用于管理 Identity Manager 引擎的 iManager。
在 iManager 导航框架中,单击 Identity Manager 节点。
单击 Identity Manager 概述。
使用搜索页面显示“Identity Manager 概述”,以查找包含 User Application 驱动程序和 Roles and Resource Service 驱动程序的驱动程序集。
单击驱动程序图标右上角的圆形状态指示器:
一个菜单即会显示,其中列出了用于启动和停止驱动程序以及编辑驱动程序属性的命令。
选择编辑属性。
在“驱动程序参数”部分,将主机更改为负载平衡器的主机名或 IP 地址。
单击确定。
重启动驱动程序。
要更改 Roles and Resource Service 驱动程序的 URL,请重复步骤 19a 到 19f,然后单击驱动程序配置,用负载平衡器 DNS 名称更新 User Application URL。
确保针对 User Application 节点的负载平衡器软件中创建的群集启用了会话粘性。
在 Identity Manager 仪表板上配置客户端设置。有关详细信息,请参见《NetIQ Identity Manager - Administrator’s Guide to the Identity Applications》(NetIQ Identity Manager - Identity Applications 管理员指南)中的“Configuring Client Settings Mode”(配置客户端设置模式)。