3.2 运行 NrfCaseUpdate 实用程序

本节提供有关 NrfCaseUpdate 实用程序的细节。包括以下主题:

3.2.1 NrfCaseUpdate 概述

NrfCaseUpdate 过程是对角色和资源进行大小写字母混合搜索必不可少的环节。此过程通过修改 User Application 驱动程序使用的 nrfLocalizedDescrs 和 nrfLocalizedNames 属性更新纲要。如果 eDirectory 树是使用 3.6.1 或先前版本的 RBPM 创建的,则在安装 RBPM 4.0.1 及迁移 Designer 4.0.1 中的现有驱动程序前,需要该过程。如果是进行 4.0.1 版的全新安装或从 3.7 升级,则不需要该步骤。

3.2.2 安装概述

本节提供升级和迁移您的现有 RBPM 环境的步骤概述。本概述强调在继续进行任何升级之前使用 Designer 4.0.1 来创建 User Application 驱动程序的备份。

  1. 安装 Designer 4.0.1。

  2. 运行身份库状态检查以确保纲要正确扩展。使用 TID 3564075 完成状态检查。

  3. 将现有 User Application 驱动程序导入到 Designer 4.0.1 中。

  4. 对 Designer 项目存档。它代表驱动程序在安装 RBPM 4.0.1 之前的状态。

  5. 运行 NrfCaseUpdate 过程。

  6. 创建新的 Designer 4.0.1 项目并导入 User Application 驱动程序以准备进行迁移。

  7. 安装 RBPM 4.0.1。

  8. 使用 Designer 4.0.1 迁移驱动程序。

  9. 部署迁移后的驱动程序。

3.2.3 NrfCaseUpdate 如何影响纲要

当 NrfCaseUpdate 实用程序在 eDirectory 纲要中更新现有属性时,那些属性的任何现有实例都将有效删除。User Application 驱动程序将使用这些属性,因此会受到此纲要更新(特别是角色以及责任分离名称和说明、自定义证明请求和报告)的影响。

NrfCaseUpdate 过程通过在运行纲要更新之前提供用于导出现有 User Application 驱动程序的实用程序来更新现有 User Application 驱动程序。在纲要更新之后导入 LDIF 文件可有效地重创建在纲要更新期间删除的任何对象。

通常,对现有 User Application 驱动程序进行备份是非常重要的预防措施。请记住,纲要更新将影响所有 Identity Manager 分区,因此使用 NrfCaseUpdate 导出树中的所有 User Application 驱动程序至关重要。

3.2.4 创建 User Application 驱动程序的备份

建议使用 Designer 创建 User Application 驱动程序的备份。在运行 NrfCaseUpdate 过程之前,应按照此过程备份您的现有 User Application 驱动程序:

  1. 安装随 RBPM 4.0.1 提供的 Designer 4.0.1。

  2. 创建身份库并将其映射到包含 User Application 驱动程序的 Identity Manager 服务器。

  3. 使用在线 -> 导入命令导入驱动程序集和 User Application 驱动程序。

  4. 保存并对此 Designer 项目存档。

3.2.5 使用 NrfCaseUpdate

NrfCaseUpdate 将提示您导出每个驱动程序,然后执行纲要更新。如果不确定现有 User Application 驱动程序是否存在或其位置,则不应继续执行操作,因为纲要更新可能会使任何现有 User Application 驱动程序无效。

在 Identity Manager 安装目录下提供的 JRE(通常为 /root/idm/jre)可用于运行 NrfCaseUpdate。如果需要到 eDirectory 的 SSL 连接,则需要按照部分 3.2.7, 启用 SSL 连接的 JRE中的指导启用 SSL 连接的 JRE。

或者,可以从带 JRE(包含 eDirectory 证书)的主机(如 User Application 服务器主机)远程运行 NrfCaseUpdate 实用程序。 在这种情况下,您需要在将所有驱动程序导出到 LDIF 后且在纲要更新前使用 CTRL-C 退出 NrfCaseUpdate 实用程序。然后,您可以使用 ndssch 命令在 eDirectory 主机上手动更新纲要,如下所示:

ndssch -h hostname adminDN update-nrf-case.sch

注:NrfCaseUpdate 可接受若干命令行自变量。传递命令 -help-? 以获取更多信息。

按照以下步骤运行 NrfCaseUpdate:

  1. 在运行 NrfCaseUpdate 实用程序前,请校验是否已完成身份库状态检查。使用 TID 3564075 完成状态检查。

  2. 在启动实用程序之前,标识现有 User Application 驱动程序的所有 DN。需要鉴定身份凭证以将这些驱动程序导出到 LDIF。

  3. 运行 NrfCaseUpdate 实用程序。可以传递 -v 选项以获取更详细的输出:

    /root/idm/jre/bin/java -jar NrfCaseUpdate.jar -v
    
  4. 系统将询问您是否具有现有 User Application 驱动程序。如果有现有 User Application 驱动程序,请回答 True。否则,请回答 False 并跳转至步骤 15

    Do you currently have a User Application Driver configured [DEFAULT true] :
    
  5. 接下来,实用程序将询问您是否有多个 User Application 驱动程序。 如果有多个 User Application 驱动程序,请回答 True:

    Do you currently have more than one (1) User Application Driver configured [DEFAULT false] :
    
  6. 指定带适当身份凭证的管理员 DN 以导出 User Application 驱动程序:

    Specify the DN of the Identity Vault administrator user.
    This user must have inherited supervisor rights to the user application driver specified above.
    (e.g. cn=admin,o=acme):
    
  7. 输入此管理员的口令:

    Specify the Identity Vault administrator password:
    
  8. 输入托管 User Application 驱动程序的 Identity Manager 服务器的主机名或 IP 地址:

    Specify the DNS address of the Identity Vault (e.g acme.com):
    
  9. 指定要用于连接的端口:

    Specify the Identity Vault port [DEFAULT 389]:
    
  10. 下一个问题是询问您是否要使用 SSL 进行连接。如果要使用 SSL,则 JRE 需要将放在可信储存区中的 eDirectory 证书。要保留证书,请按部分 3.2.7, 启用 SSL 连接的 JRE中的指导操作。

    Use SSL to connect to Identity Vault: [DEFAULT false] :
    
  11. 指定要导出的 User Application 驱动程序的完全限定判别名:

    Specify the fully qualified LDAP DN of the User Application driver located in the Identity Vault
    (e.g. cn=UserApplication,cn=driverset,o=acme):
    

    如果 DN 包括空格,则它必须包括在单引号中,如下所示:

    'cn=UserApplication driver,cn=driverset,o=acme' 
    
  12. 指定要将 User Application 导出到的 LDIF 文件的名称:

    Specify the LDIF file name where the restore data will be written (enter defaults to nrf-case-restore-data.ldif):
    
  13. 实用程序将张贴有关保存到 LDIF 的对象的信息。

  14. 如果指出具有多个驱动程序,则将看到以下提示:

    You indicated you have more than one (1) User Application Driver to configure.
    Do you have another driver to export? [DEFAULT false] :
    
    If you have another driver to export then specify true. The utility will repeat Steps 5 through 12 for each driver. 
    
    If you do not have another driver to export then specify false. Ensure that you have exported all existing drivers before proceeding as the utility will proceed with the schema update.
    
  15. 系统将提示您 ndssch 实用程序的位置及其常规位置。ndssch 实用程序用于更新纲要。

    Please enter the path to the schema utility:
    For Unix/Linux typically /opt/novell/eDirectory/bin/ndssch
    For Windows C:\Novell\NDS\schemaStart.bat:
    
  16. 实用程序将张贴纲要更新的状态讯息:

    Schema has successfully been updated for mixed case compliance!
    

    注:确保给予 eDirectory 足够的时间以同步纲要更改。如果未给予足够的时间,则 LDIF 文件的导入将失败。

  17. 运行其他身份库状态检查,以在导入 LDIF 文件前校验纲要是否已正确扩展。使用 TID 3564075 完成状态检查。

  18. 导出所有驱动程序并成功应用纲要更新后,需要导入每个 LDIF 文件。应指出允许在 ice 命令中转发参照。 建议的命令行如下所示:

    ice -l [mylogfile.log] -v -SLDIF -f [your_created_ldif] -c -DLDAP -s [hostname] -p [389/636] -d [cn=myadmin,o=mycompany] -w [MYPASSWORD] -F -B
    
  19. 重新导入所有驱动程序后,请校验 NrfCaseUpdate 过程是否成功。有关更多信息,请参见部分 3.2.6, NrfCaseUpdate 过程的校验

  20. 校验完 NrfCaseUpdate 过程已成功后,可以继续 RBPM 4.0.1 的安装。

3.2.6 NrfCaseUpdate 过程的校验

重新导入所有驱动程序后,请通过在 User Application 中审阅以下各项来校验恢复是否成功:

  • 角色名称和说明

  • 责任分离名称和说明

  • 证明请求,包括自定义请求

  • 报告

完成校验后,可以继续安装并升级至 RBPM 4.0.1。

3.2.7 启用 SSL 连接的 JRE

本节说明如何配置 JRE 以使用 SSL 连接。

首先,在身份库中从证书颁发机构导出自我签名证书:

  1. 在 iManager 的角色和任务视图中,单击目录管理 > 修改对象

  2. 选择身份库的证书颁发机构对象,然后单击确定。 通常可在安全性容器中找到它,其名称为 TREENAME CA.Security。

  3. 单击证书 > 自我签名证书

  4. 单击导出

  5. 当系统询问您是否要导出带证书的私用密钥时,请单击,然后单击下一步

  6. 选择二进制 DER 格式。

  7. 单击链接保存导出的证书

  8. 在计算机上浏览到要保存此文件的位置,然后单击保存

  9. 单击关闭

接下来,将自我签名证书导入到 JRE 的可信储存区中。

  1. 使用 JRE 中包含的密钥工具实用程序。

  2. 通过在命令提示符处输入以下命令,将证书导入 Role Mapping Administrator 的可信储存区:

    keytool -import -file name_of_cert_file -trustcacerts -noprompt -keystore filename -storepass password
    

    例如:

    keytool -import -file tree_ca_root.b64 -trustcacerts -noprompt -keystore cacerts -storepass changeit
    

3.2.8 恢复无效的 User Application 驱动程序

如果在使用 NrfCaseUpdate 处理现有 User Application 驱动程序之前就将纲要更新应用到此驱动程序,则此驱动程序将无效,并且您需要使用备份恢复此驱动程序。

重要说明:请勿删除或重命名无效的 User Application 驱动程序,这一点至关重要,因为这样做会使此驱动程序的所有关联项也变得无效。此外,如果Role and Resource Service驱动程序正在运行,而您删除 User Application 驱动程序,则Role and Resource Service驱动程序将检测到角色删除并去除所指派用户的角色。

此外,将备份后的驱动程序重部署到 Identity Manager 是不够的,因为在这种情况下无法调解纲要更改。以下过程执行恢复,方法是部署此驱动程序的重命名副本以生成要恢复的数据。

以下过程概述了使用 Designer 4.0.1 恢复 User Application 驱动程序备份的过程:

  1. 重启动 eDirectory 服务器以确保纲要修改已生效。

  2. 打开包含 User Application 驱动程序备份(即 UserAppDriver)的 Designer 4.0.1 项目的副本。由于此过程会修改驱动程序名称,因此最好使用项目副本。

  3. 选择 User Application 驱动程序和身份库之间的连接器,右键单击并选择属性

  4. 指定一个新名称,如 UserAppDriver_restore。 选择应用确定

  5. 单击保存以保存项目。

  6. 通过选择 ID 库并依次选择在线->纲要->比较同步 ID 库,然后选择更新 Designer 以执行调整操作

  7. 保存此项目。

  8. 通过选择驱动程序并依次选择驱动程序->部署来部署重命名的驱动程序。

  9. 运行 NrfCaseUpdate 并将新命名的驱动程序导出到 LDIF 文件。

  10. 制作 LDIF 文件的副本以进行编辑。

  11. 编辑 LDIF 文件并重命名所有驱动程序参照以反映正在恢复的 User Application 驱动程序。例如,如果原始 User Application 驱动程序为 cn=UserAppDriver,然后您将 cn=UserAppDriver_restore 重命名为 cn=UserAppDriver。此步骤有效构建了能够反映真实 User Application 驱动程序的 LDIF 文件。

  12. 使用 ice 导入修改后的 LDIF 文件:

    ice -l[mylogfile.log] -v -SLDIF -f[your_created_ldif] -c -DLDAP -s[hostname] -p[389/636] -d[cn=myadmin,o=mycompany] -w[MYPASSWORD] -F -B
    
  13. 注意使用 ice 导入的状态,以确保导入成功。

  14. 按照部分 3.2.6, NrfCaseUpdate 过程的校验中的指导校验驱动程序的恢复。

  15. 从驱动程序集中删除重命名的驱动程序。