4.6 配置数据收集的运行时环境

本节提供为确保运行时环境正常运行而应执行的额外配置步骤的相关信息。此外,本节还提供了查错方法,以及具有特定用途的数据库表的一些信息。

此过程包括以下活动:

如果一个或多个驱动程序出现了难以解释的问题,请参见《NetIQ Identity Reporting Module Guide》(NetIQ Identity Reporting Module 指南)中的“Troubleshooting the Drivers”(驱动程序查错)。

4.6.1 将数据收集服务驱动程序配置为从 Identity Applications 收集数据

要使 Identity Applications 与 Identity Reporting 正常配合运行,必须将 DCS 驱动程序配置为支持 OAuth 协议。

注:

  • 仅当在环境中使用了 Identity Reporting 时,才需要安装并配置 DCS 驱动程序。

  • 如果在环境中配置了多个 DCS 驱动程序,则必须针对每个驱动程序完成以下步骤。

  1. 登录 Designer。

  2. 在 Designer 中打开您的项目。

  3. (视情况而定)如果您尚未将 DCS 驱动程序升级到支持的增补程序版本,请完成以下步骤:

    1. 下载最新的 DCS 驱动程序增补程序文件。

    2. 将该增补程序文件提取到服务器上的某个位置。

    3. 在终端中,浏览到适用于您环境的增补程序 RPM 的提取位置,然后运行以下命令:

      rpm -Uvh novell-DXMLdcs.rpm
    4. 重启动身份库。

    5. 在 Designer 中,确保已安装支持版本的数据收集服务基础包。如果需要,请安装最新版本,然后再继续。

    6. 在 Designer 中重部署并重启动 DCS 驱动程序。

  4. 大纲视图中,右键单击 DCS 驱动程序,然后选择属性

  5. 单击“驱动程序配置”

  6. 单击驱动程序参数选项卡。

  7. 单击显示连接参数,然后选择显示

  8. 单击 SSO 服务支持,然后选择

  9. 指定 Identity Reporting 的 IP 地址和端口。

  10. 指定 SSO 服务客户端的口令。默认口令为 driver

  11. 单击应用,然后单击确定

  12. 建模器视图中,右键单击 DCS 驱动程序,然后选择驱动程序 > 部署

  13. 单击部署

  14. 出现是否重启动 DCS 驱动程序的提示时,单击

  15. 单击确定

4.6.2 迁移数据收集服务驱动程序

要将对象同步到身份信息仓库中,您必须迁移数据收集服务驱动程序。

  1. 登录到 iManager。

  2. 在数据收集服务驱动程序的概述面板中,选择从身份库迁移

  3. 选择包含相关数据的组织,然后单击启动

    注:迁移过程可能需要几分钟时间,具体取决于您的数据量。请务必等到迁移过程完成后再继续下一步。

  4. 等待迁移过程完成。

  5. 确保 idmrpt_identityidmrpt_acct 表(提供身份库中身份和帐户的相关信息)中包含以下类型的信息:

  6. 在 LDAP 浏览器中,校验迁移过程是否添加了对 DirXML-Associations 的以下参照:

    • 对于每个用户,校验是否包含以下类型的信息:

    • 对于每个组,校验是否包含以下类型的信息:

  7. 确保 idmrpt_group 表中的数据看上去类似于以下信息:

    此表将显示每个组的名称,以及用于指出组是动态组还是嵌套组的标志。此外,它还会显示组是否已迁移。如果某个对象在 User Application 中已被修改但尚未迁移,则同步状态 (idmrpt_syn_state) 可能会设置为 0。例如,如果在组中添加了用户,并且尚未迁移驱动程序,那么,此值可能会设置为 0。

  8. (可选)校验下列表中的数据:

    • idmrpt_approver

    • idmrpt_association

    • idmrpt_category

    • idmrpt_container

    • idmrpt_idv_drivers

    • idmrpt_idv_prd

    • idmrpt_role

    • idmrpt_resource

    • idmrpt_sod

  9. (可选)校验 idmrpt_ms_collect_state 表现在是否包含行。该表显示有关受管系统网关驱动程序的数据收集状态信息。

    此表包含有关为受管系统执行了哪些 REST 端点的数据。此时,该表不包含任何行,因为您尚未启动此驱动程序的收集过程。

4.6.3 添加对自定义属性和对象的支持

您可以对数据收集服务驱动程序进行配置,使其收集和保留不属于默认数据收集模式的自定义属性与对象的数据。为此,您需要修改数据收集服务驱动程序过滤器。修改过滤器不会立即触发对象同步,而是会在身份库中发生添加、修改或删除事件时,向数据收集服务发送新添加的属性和对象。

在添加对自定义属性和对象的支持时,您需要修改报告,以包括扩展的属性和对象信息。以下视图提供有关扩展对象和属性的当前数据与历史数据:

  • idm_rpt_cfg.idmrpt_ext_idv_item_v

  • idm_rpt_cfg.idmrpt_ext_item_attr_v

此过程包括以下活动:

将驱动程序配置为使用扩展对象

您可将任何对象或属性添加到数据收集服务过滤器策略中。在添加新对象或属性时,请务必按以下示例所示映射 GUID(subscriber 为 sync)和对象类(subscriber 为 notify):

<filter-class class-name="Device" publisher="ignore" publisher-create-homedir="true" publisher-track-template-member="false" subscriber="sync"> 
<filter-attr attr-name="CN" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
<filter-attr attr-name="Description" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
<filter-attr attr-name="GUID" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
<filter-attr attr-name="Object Class" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="notify"/> 
<filter-attr attr-name="Owner" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
<filter-attr attr-name="Serial Number" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
<filter-attr attr-name="sampleDeviceModel" from-all-classes="true" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
<filter-attr attr-name="sampleDeviceType" from-all-classes="true" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> 
</filter-class> 

包含数据库中的名称和说明

如果您希望对象包含数据库中的名称和说明,则需要为 _dcsName 和 _dcsDescription 添加一个纲要映射策略。该纲要映射策略会将对象实例的相关属性值分别映射到 idmrpt_ext_idv_item.item_name 和 idmrpt_ext_idv_item.item_desc 列。如果您未添加纲要映射策略,属性将填充到子表 idmrpt_ext_item_attr 中。

例如:

<attr-name class-name="Device"> 
<nds-name>CN</nds-name> 
<app-name>_dcsName</app-name> 
</attr-name> 
<attr-name class-name="Device"> 
<nds-name>Description</nds-name> 
<app-name>_dcsDescription</app-name> 
</attr-name>

下面是一个可显示数据库中这些对象和属性值的 SQL 示例:

SELECT        
    item.item_dn, 
    item.item_name, 
    item.item_desc, 
    attr.attribute_name, 
    itemAttr.attribute_value, 
    item.idmrpt_deleted as item_deleted, 
    itemAttr.idmrpt_deleted as attr_deleted, 
    item.item_desc, 
    obj.object_class 
FROM 
    idm_rpt_data.idmrpt_ext_idv_item as item, idm_rpt_data.idmrpt_ext_item_attr itemAttr, idm_rpt_data.idmrpt_ext_attr as attr, idm_rpt_data.idmrpt_ext_obj as obj 
WHERE 
    item.object_id = obj.object_id and itemAttr.attribute_id = attr.attribute_id and itemAttr.cat_item_id = item.item_id 
ORDER BY 
    item.item_dn, item.item_name 

向已知的对象类型添加扩展属性

如果某个属性已添加到数据收集服务驱动程序的过滤器策略中,但未显式映射到 XML 参照文件 (IdmrptIdentity.xml) 中的报告数据库,则系统会在 idmrpt_ext_item_attr 表中填充并维护值,并在 idmrpt_ext_attr 表中添加一个属性参照。

下面的 SQL 示例显示了这些扩展属性:

SELECT 
    acct.idv_acct_dn, 
    attrDef.attribute_name,   
    attribute_value, 
    attrVal.idmrpt_valid_from, 
    cat_item_attr_id, 
    attrVal.idmrpt_deleted, 
    attrVal.idmrpt_syn_state 
FROM 
    idm_rpt_data.idmrpt_ext_item_attr as attrVal, idm_rpt_data.idmrpt_ext_attr as attrDef, idm_rpt_data.idmrpt_identity as idd, idm_rpt_data.idmrpt_idv_acct as acct 
WHERE attrVal.attribute_id = attrDef.attribute_id and idd.identity_id = acct.identity_id and attrVal.cat_item_id = acct.identity_id and cat_item_type_id = 'IDENTITY' 

除了用户对象以外,您还可在以下对象的过滤器策略中添加扩展属性,并在数据库中填充这些属性:

  • nrfRole

  • nrfResource

  • 容器

    注:安装的产品将提供对 organizationUnit、Organization 和 Domain 的支持。容器类型在 idmrpt_container_types 表中维护。

  • nrfSod

您可以查看 idmrpt_cat_item_types.idmrpt_table_name 列,来了解扩展属性与父表或父对象之间的关联。此列描述如何将 idm_rpt_data.idmrpt_ext_item_attr.cat_item_id 列连接到父表的主键。

4.6.4 添加多个驱动程序集支持

数据收集服务范围包 (NOVLDCSSCPNG) 为包含多个驱动程序集和多组数据收集服务驱动程序及受管系统网关驱动程序的企业环境提供静态和动态范围功能。

在安装期间或安装之后,您需要确定要在其上安装该包的数据收集服务驱动程序的角色。您需要选择以下角色之一:

  • 主要 驱动程序将会同步所有信息,但其他驱动程序集的子树除外。主要数据收集服务驱动程序能够正常为整个身份库提供服务,或者可与一个或多个次要驱动程序配合工作。

  • 次要 驱动程序只同步自身的驱动程序集,而不同步其他任何信息。通常,次要数据收集服务驱动程序要求主要驱动程序在不同的驱动程序集中运行,否则,任何本地驱动程序集外部的数据都不会发送到数据收集服务。

  • 自定义 允许管理员自定义范围规则。唯一的隐式范围是本地驱动程序集,其他任何驱动程序如果未显式添加到自定义范围列表,都会被视为不在范围内。自定义范围是身份库中应该同步其从属或子树的容器的判别名(采用斜杠格式)。

只有如下所述的某些配置情况才需要范围包:

  • 单个服务器与具有单个驱动程序集的身份库: 对于此情况,您不需要定义范围,因此也就无需安装范围包。

  • 多个服务器与具有单个驱动程序集的身份库: 对于此情况,您需要遵循以下指导原则:

    • 确保 Identity Manager 服务器存有要从中收集数据的所有分区的复本。

    • 对于此情况,您不需要定义范围,因此,请不要安装范围包

  • 多个服务器与具有多个驱动程序集的身份库: 此情况有两种基本配置:

    • 所有服务器都存有要从中收集数据的所有分区的复本。

      对于此配置,您需要遵循以下指导原则:

      • 需要定义范围,以免有多个 DCS 驱动程序处理同一项更改。

      • 您需要在所有 DCS 驱动程序上安装范围包。

      • 您需要将一个 DCS 驱动程序选作主要驱动程序。

      • 您需要将其他所有 DCS 驱动程序配置为次要驱动程序。

    • 所有服务器都存有要从中收集数据的所有分区的复本。

      此配置存在两种可能的情况:

      • 应从中收集数据的所有分区仅由一个 Identity Manager 服务器存放

        在此情况下,您需要遵循以下指导原则:

        • 需要定义范围,以免有多个 DCS 驱动程序处理同一项更改。

        • 您需要在所有 DCS 驱动程序上安装范围包。

        • 您需要将所有 DCS 驱动程序都配置为主要驱动程序。

      • 应从中收集数据的所有分区不是仅由一个 Identity Manager 服务器存放(某些分区由多个 Identity Manager 服务器存放)。

        在此情况下,您需要遵循以下指导原则:

        • 需要定义范围,以免有多个 DCS 驱动程序处理同一项更改。

        • 您需要在所有 DCS 驱动程序上安装范围包。

        • 您需要将所有 DCS 驱动程序都配置为自定义驱动程序。

          您需要为每个驱动程序定义自定义范围规则,并务必不要创建任何重叠的范围。

4.6.5 将驱动程序配置为使用 SSL 在远程模式下运行

在以远程模式运行时,您可以将数据收集服务驱动程序和受管系统网关驱动程序配置为使用 SSL。本节提供有关将驱动程序配置为使用 SSL 在远程模式下运行的步骤。

要使用密钥存储区为受管系统网关驱动程序配置 SSL,请执行以下操作:

  1. 在 iManager 中创建服务器证书。

    1. 角色和任务视图中,单击 NetIQ 证书服务器 > 创建服务器证书

    2. 浏览到安装了受管系统网关驱动程序的服务器对象,并将其选中。

    3. 指定证书昵称。

    4. 选择标准创建方法,然后单击下一步

    5. 单击完成,然后单击关闭

  2. 使用 iManager 导出服务器证书。

    1. 角色和任务视图中,单击 NetIQ 证书访问 > 服务器证书

    2. 选择步骤 1中创建的证书,然后单击导出

    3. 证书菜单中,选择该证书的名称。

    4. 确保导出私用密钥已选中。

    5. 输入口令,然后单击下一步

    6. 单击保存导出的证书,并保存导出的 pfx 证书。

  3. 步骤 2中导出的 pfx 证书导入 Java 密钥存储区。

    1. 使用 Java 随附的 keytool。您必须使用 JDK 6 或更高版本。

    2. 在命令提示符处输入以下命令:

      keytool -importkeystore -srckeystore pfx certificate -srcstoretype
      PKCS12 -destkeystore Keystore Name

      例如:

      keytool -importkeystore -srckeystore cert.pfx -srcstoretype PKCS12
      -destkeystore msgw.jks
    3. 在系统提示时输入口令。

  4. 使用 iManager 将受管系统网关驱动程序配置修改为使用密钥存储区。

    1. Identity Manager 概述中,单击包含受管系统网关驱动程序的驱动程序集。

    2. 单击驱动程序状态图标,然后选择编辑属性 > 驱动程序配置

    3. 显示连接参数设置为 true,并将驱动程序配置模式设置为“远程”。

    4. 输入密钥存储区文件的完整路径和口令。

    5. 保存并重启动驱动程序。

  5. 使用 iManager 将数据收集服务驱动程序配置修改为使用密钥存储区。

    1. Identity Manager 概述中,单击包含受管系统网关驱动程序的驱动程序集。

    2. 单击驱动程序状态图标,然后选择编辑属性 > 驱动程序配置

    3. 受管系统网关注册标题下,将受管系统网关驱动程序配置模式设置为“远程”。

    4. 输入密钥存储区的完整路径、口令以及在步骤 1.c中指定的别名。

    5. 保存并重启动驱动程序。