如果打算跳级升级,请确保查阅以下各节中的升级说明。Identity Manager 后续版本的升级说明也适用于您的升级。
如果使用的是 Oracle 系统信息库,Identity Manager 8.0 和 8.1 系统信息库 DDL 会使用未由旧 Oracle JDBC 驱动程序正确处理的数据类型。ojdbc14.jar 中的 JDBC 驱动程序无法正确读取日志表中的所有列。
您必须升级到用于 JDK 5 驱动程序的 ojdbc 5.jar,Identity Manager 才能正常工作。
升级会自动将用户扩展属性对象以及 UserUIConfig 对象的 QueryableAttrNames 和 SummaryAttrNames 元素转换为 IDM 模式配置对象。(ID-17784)
样例 update.xml 脚本包含一个 import 命令,用于调用 IDMSchemaConfigurationUpdater 以转换旧用户模式配置对象。成功的旧用户模式配置对象转换将执行以下操作:
在 IDM 模式配置中,为用户扩展属性中的每个扩展属性名称创建一个 IDMObjectClassAttribute 元素。
将与 UserUIConfig 中的 SummaryAttrNames 元素的每个值对应的任何 IDMObjectClassAttribute 都标记为 "summary"。
将与 UserUIConfig 中的 QueryableAttrNames 元素的每个值对应的任何 IDMObjectClassAttribute 都标记为 "queryable"。
将 UserUIConfig 中的 SummaryAttrNames 元素设置为空。
将 UserUIConfig 中的 QueryableAttrNames 元素设置为空。
将名为 objectClass 的任何扩展属性重命名为 spml2ObjectClass。从 8.0 版开始,名为 objectClass 的旧属性与 Identity Manager 模式中的核心属性发生冲突。
Identity Manager 8.0 将某些新表专用于角色对象。您必须使用 db_scripts 目录中提供的样例脚本进行模式更改、创建新的表结构以及移动现有数据。
在更新系统信息库数据库表定义之前,请对系统信息库表进行完整备份。
有关详细信息,请参阅 db_scripts/upgradeto8.0from71.DBMSName 脚本。
在编辑角色表单中的超级角色字段时,一定要格外小心,因为超级角色本身可能是嵌套角色。超级角色和子角色字段将指示角色的嵌套及其关联的资源或资源组。在应用于用户时,超级角色包含与任何指定子角色关联的资源。超级角色字段会显示出来,以指明包含所显示角色的角色。
在升级过程中,Identity Manager 将分析系统上的所有角色,然后使用 RoleUpdater 类更新所有丢失的子角色和超级角色链接。
要在升级过程以外检查和升级角色,您可以导入 sample/forms/RoleUpdater.xml 中提供的新 RoleUpdater 配置对象。
例如:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE Waveset PUBLIC 'waveset.dtd' 'waveset.dtd'> <Waveset> <ImportCommand class='com.waveset.session.RoleUpdater' > <Map> <MapEntry key='verbose' value='true' /> <MapEntry key='noupdate' value='false' /> <MapEntry key='nofixsubrolelinks' value='false' /> </Map> </ImportCommand> </Waveset> |
其中:
verbose:在更新角色时提供详细输出。指定 false 可启用无提示角色更新。
noupdate:确定是否更新角色。指定 false 可获取仅列出将要更新的角色的报告。
nofixsubrolelinks:确定是否使用丢失的子角色链接更新超级角色。默认情况下,此值设置为 false,将会对链接进行修复。
需要查看或编辑用户或角色的 Identity Manager 模式的管理员必须位于 IDM 模式配置管理组中,并且必须具有 IDM 模式配置权能。
在 Sun Identity Manager 8.0 中,更改了 Identity Manager 中的 SPML 2.0 实现。在以前的发行版本中,SPML 消息中使用的 SPML objectclass 属性直接映射到 Identity Manager 用户对象的 objectclass 属性。现在,objectclass 属性在内部映射到 spml2ObjectClass 属性,并且在内部用于其他用途。
在升级过程中,将为现有用户自动重命名 objectclass 属性值。如果 SPML 2.0 配置包含引用 objectclass 属性的表单,则必须手动将这些引用更改为 spml2ObjectClass。
在升级期间,Identity Manager 不会替换样例 spml2.xml 配置文件。如果将 spml2.xml 配置文件作为起始点,请注意该文件包含一个表单,您必须将该表单中包含的 objectclass 引用更改为 spml2ObjectClass。请在表单中更改 objectclass 属性(该属性是在内部使用的),而不要在目标模式中更改 objectclass 属性(该属性是在外部显示的)。
在升级 Identity Manager 时,必须删除调用 UserUIConfig#getRepoIndexAttributes() 的任何自定义代码,或将其更改为调用 Type.USER#getInlineAttributeNames()。(ID-18051)
导入 update.xml 可将 UserUIConfig RepoIndexAttrs 中的值转换为 RepositoryConfiguration 对象中 Type.USER 的 TypeDataStore 元素上的 XML 属性值。update.xml 文件包含 UserUIConfigUpdater.xml 文件,该文件又包含 import 命令,该命令用于调用 UserUIConfigUpdater 以转换 RepoIndexAttrs。转换过程还会在 SystemConfiguration 中设置一个标志,以禁止进行重新转换。
如果以后要对 Type.USER 的内联属性进行任何更改,应通过编辑 RepositoryConfiguration 对象来进行。如果更改了 Type.USER 的内联属性,通常必须刷新所有 Type.USER 对象。
在重新启动 Identity Manager 服务器之前,对 RepositoryConfiguration 所做的更改不会影响该服务器。