55.6 升级 Identity Reporting

Identity Reporting 中包含两个驱动程序。此外,您需要将 NetIQ Event Auditing Service 中的内容迁移到 Sentinel Log Management for IGA。按以下顺序执行升级:

  1. 升级数据收集服务的驱动程序包。

  2. 升级受管系统网关服务的驱动程序包。

  3. 迁移到 Sentinel Log Management for IGA

  4. 升级 Identity Reporting

55.6.1 升级 Identity Reporting 的驱动程序包

本节介绍了如何将受管系统网关驱动程序包和数据收集服务驱动程序包更新到最新版本。升级 Identity Reporting 前必须先执行此任务。

  1. 在 Designer 中打开当前项目。

  2. 右键单击包编目 > 导入包

  3. 选择相应的包。例如,受管系统网关基础包 2.0.0.20120509205929

  4. 单击确定

  5. 在开发人员视图中,右键单击该驱动程序,然后单击属性

  6. 浏览到属性页面中的选项卡。

  7. 单击右上角的添加包 (+) 符号。

  8. 选择该包,然后单击确定

  9. 完成驱动程序的配置过程。有关详细信息,请参见以下各节:

  10. 重复步骤 2步骤 9 以升级数据收集服务驱动程序包。

  11. 确保受管系统网关驱动程序和数据收集服务驱动程序已连接到升级后的 Identity Manager。

55.6.2 从事件审计服务迁移到 Sentinel Log Management for IGA

本节提供有关将 NetIQ Event Auditing Service (EAS) 中的现有数据迁移到 Sentinel Log Management for IGA 的信息。

准备迁移

开始迁移前,您需要准备 Sentinel 和 EAS 数据库。这涉及到导入所需的连接器以接收来自 Sentinel 的事件,以及将 Identity Manager 的所有组件都升级到 4.6。

将 EAS 数据迁移到 Sentinel 之前,需执行以下操作。

  1. NetIQ-Audit_2011.1r4-201701130600-release.cnz 连接器导入 EAS。

  2. 将 Identity Manager 的所有现有组件从 4.5.4 升级到 4.6。

  3. 务必备份 logevent.conf 文件。

    Linux: /etc/logevent.conf

    Windows: C:\Windows\logevent.cfg

    logevent.conf 文件应包含 EAS 细节。

  4. 确保下列 Identity Manager 组件正在运行:

    • eDirectory

    • Identity Manager 引擎

    • iManager

    • Identity Applications(具体指 OSP、SSPR 和 RBPM)

  5. 更新 SSPR 的审计服务器细节:

    1. 以管理员身份登录 SSPR 门户。

    2. 浏览到配置编辑器并指定配置口令。

    3. 选择设置 > 审计 > 审计转发

    4. Syslog 审计服务器下提供 Sentinel 细节。例如,tls,<sentinel IP>,1443

    5. 单击清除,以清除 Syslog 审计服务器证书。

    6. 单击从服务器导入,以从更新的 Syslog 审计服务器导入证书。

    7. 保存所做的更改。

  6. 确保您的 EAS 服务器处于运行状态,直到来自 Identity Manager 所有组件的所有超速缓存审计事件都已发送给 EAS。

  7. 停止以下 Identity Manager 组件:

    • eDirectory

    • Identity Manager 引擎

    • iManager

    • Identity Applications(具体指 OSP、SSPR 和 RBPM)

  8. 停止 Novell Audit lcachejcache 进程。

    kill -15 <lcache 的 PID>

    kill -15 <jcache 的 PID>

  9. 按照在 Sentinel 与 User Application 之间启用 SSL中的步骤 1步骤 6 创建 naudit 证书,以使 User Application 能连接到 Sentinel。

  10. 修改 logevent.conf 文件中的 LogHost 条目,以指向 Sentinel。

  11. 启动 Identity Manager 的以下组件。

    • eDirectory

    • Identity Manager 引擎

    • iManager

    • Identity Applications(具体指 OSP、SSPR 和 RBPM)

将数据迁移到新 PostgreSQL 数据库

本节提供有关将 EAS 数据库中的 SIEM 数据迁移到支持的 PostgreSQL 数据库的信息。有关安装 PostgreSQL 数据库的信息,请参见部分 28.0, 安装 PostgreSQL 和 Tomcat

您必须创建必要的角色和表空间,以确保迁移期间不会出现故障。

准备新 PostgreSQL 数据库

  1. 停止 EAS 以确保不会有任何事件发送到 EAS 服务器。

  2. 使用 iManager 停止 DCS 驱动程序:

    1. 登录到 iManager。

    2. 停止 DCS 驱动程序。

    3. 编辑驱动程序属性,将启动选项设置为手动

      此步骤可确保驱动程序不会自动启动。

  3. 使用 PGAdmin 运行以下 SQL 命令,创建必要的角色、表空间和数据库。

    此步骤可确保迁移期间不会出现故障。

    1. 运行以下命令创建必要角色:

      CREATE ROLE esec_app
        NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
       
      CREATE ROLE esec_user
        NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
       
      CREATE ROLE admin LOGIN
        ENCRYPTED PASSWORD '<specify the password for admin>'
        NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
      GRANT esec_user TO admin;
       
      CREATE ROLE appuser LOGIN
        ENCRYPTED PASSWORD '<specify the password for appuser>'
        NOSUPERUSER INHERIT NOCREATEDB CREATEROLE;
      GRANT esec_app TO appuser;
       
      CREATE ROLE dbauser LOGIN
        ENCRYPTED PASSWORD '<specify the password for dbauser>'
        SUPERUSER INHERIT CREATEDB CREATEROLE; 
      
      CREATE ROLE idmrptsrv LOGIN
        ENCRYPTED PASSWORD '<specify the password for idmrptsrv>'
        NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
      GRANT esec_user TO idmrptsrv;
       
      CREATE ROLE idmrptuser LOGIN
        ENCRYPTED PASSWORD '<specify the password for idmrptuser>'
        NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
      
      CREATE ROLE rptuser LOGIN
        ENCRYPTED PASSWORD '<specify the password for rptuser>'
        NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
      GRANT esec_user TO rptuser; 
    2. 运行以下命令创建表空间:

       CREATE TABLESPACE sendata1
        OWNER dbauser
        LOCATION '<provide the location where table space has to be created>'; 

      例如:

      CREATE TABLESPACE sendata1
        OWNER dbauser
        LOCATION '</opt/netiq/idm/apps/postgres/data>';
    3. 运行以下命令创建 SIEM 数据库:

      CREATE DATABASE "SIEM"
        WITH OWNER = dbauser
             ENCODING = 'UTF8'
             TABLESPACE = sendata1
             CONNECTION LIMIT = -1;

导出 EAS 中的数据

  1. 停止 EAS 以确保不会有任何事件发送到 EAS 服务器。

  2. 使用 iManager 停止 DCS 驱动程序:

    1. 登录到 iManager。

    2. 停止 DCS 驱动程序。

    3. 编辑驱动程序属性,将启动选项设置为手动

      此步骤可确保驱动程序不会自动启动。

  3. 将 EAS 数据库中的数据导出到文件:

    1. 登录 EAS 用户帐户:

      # su - novleas

    2. 指定 EAS 用户具有完全访问权限的位置,例如 /home/novleas

    3. 浏览到 PostgreSQL 安装目录并执行以下命令:

      例如:

      export PATH=/opt/novell/sentinel_eas/3rdparty/postgresql/bin/:$PATH

      export LD_LIBRARY_PATH=/opt/novell/sentinel_eas/3rdparty/postgresql/lib/:$LD_LIBRARY_PATH

    4. 使用以下命令将数据导出到 .sql 文件:

      ./pg_dump -p <端口号> -U <用户名> -d <数据库名称> -f <导出位置>

      例如,

      ./pg_dump -p 15432 -U dbauser SIEM -f /home/novleas/SIEM.sql

将数据导入到新 PostgreSQL 数据库

  1. 停止 EAS 以确保不会有任何事件发送到 EAS 服务器。

  2. 使用 iManager 停止 DCS 驱动程序:

    1. 登录到 iManager。

    2. 停止 DCS 驱动程序。

    3. 编辑驱动程序属性,将启动选项设置为手动

      此步骤可确保驱动程序不会自动启动。

  3. 将数据导入到新的 PostgreSQL 数据库:

    1. (视情况而定)创建一个 postgres 用户。

      此步骤仅针对 Windows。Linux 上会自动创建用户。

    2. 步骤 3.d 中导出的文件复制到该 postgres 用户具有完全访问权限的位置。例如:

      • Linux: /opt/netiq/idm/apps/postgres

      • Windows: C:\NetIQ\IdentityManager\apps\postgres

    3. 执行以下命令将数据导入到 PostgreSQL 数据库。

      psql -d <数据库名称> -U <用户名> -f <导出文件所在位置的完整路径>

      例如:

      • Linux: psql -d SIEM -U postgres -f /opt/netiq/idm/apps/postgres/SIEM.sql

      • Windows: psql -d SIEM -U postgres –f C:\NetIQ\IdentityManager\apps\postgres\SIEM.sql

  4. 检查是否存在任何迁移日志错误,如有则予以解决。

注:Identity Manager 4.6 报告将不使用从 EAS 迁移到 Sentinel 的审计数据,而是使用直接从 Sentinel 同步的审计数据。

设置 Reporting 服务器

将 EAS 数据导入到新 PostgreSQL 数据库后,将您的 Reporting 数据库配置为使用新 PostgreSQL 数据库。

本节假设您已将 Identity Reporting 安装在数据库服务器(Sentinel 数据库)迁移到的同一个服务器上。有关安装 Identity Reporting 的详细信息,请参见部分 42.1, 使用引导式过程安装 Identity Reporting

  1. configupdate 实用程序中,执行以下步骤配置新 Reporting 服务器细节:

    1. 在命令提示符处,使用以下方法之一运行 configupdate 实用程序。

      Linux: ./configupdate.sh

      Windows: configupdate.bat

    2. OAuth 重定向 URL 更改为指向新 Identity Reporting 服务器和端口细节。有关详细信息,请参见部分 40.4.5, 报告

  2. 使用 Designer 或 iManager 编辑 DCS 驱动程序配置,以包含新 Reporting 服务器的细节。

  3. 启动 DCS 驱动程序。

运行数据同步实用程序

配置 Reporting 服务器后,让 Sentinel 将事件转发到外部数据库。Identity Manager 提供了一个用于在 Sentinel 中创建数据同步策略以将来自 Sentinel 的事件转发到外部数据库的实用程序。该实用程序位于 IdentityReporting/Sentinel/sentineldatasync.jar 文件夹中。

请执行以下步骤在 Sentinel 中创建数据同步策略:

  1. 浏览到数据同步实用程序目录,然后运行以下命令:

    Java –jar sentineldatasync.jar

    此操作会打开数据同步实用程序。

  2. 在实用程序的 Sentinel 设置选项卡中指定以下细节:

    • IP 地址: 指定安装了 Sentinel 的计算机的 IP 地址。

    • 端口: 指定 Sentinel 服务器的端口。默认端口为 8443。

    • 口令: 指定 Sentinel 用户的口令。

    • 事件保留期: 指定事件被删除前在数据库中的保存期限。默认值是 90 天。

    • 删除 RDD 定义: 在 Sentinel 中创建数据同步策略时,默认设置是删除默认的 Sentinel 策略。如果要执行 Sentinel 报告,您无需删除默认的 Sentinel 策略。

      重要说明:如果您要使用 Sentinel 或身份跟踪,请取消选择此选项。

    • 高级: 如果使用的是高级模式,则可编辑以下参数:

      • 事件表有效负载: 包含通过 REST API 创建数据同步表的 JSON 文档。发送创建数据同步表的请求时会替换鉴定信息。

      • 数据同步策略有效负载: 包含通过 REST API 创建数据同步表的 JSON 文档。发送创建数据同步表的请求时会替换鉴定信息。

        注:要在数据同步策略中添加更多字段,请修改数据同步策略有效负载中的 JSON 文档。确保事件表和数据同步策略中都进行了该更改。否则,策略创建会失败。

  3. 数据库设置选项卡中指定以下细节:

    • IP 地址: 指定数据库的 IP 地址。

    • 端口: 指定 数据库的端口。

    • 口令: 指定用于连接 数据库的口令。

    • 数据库名称: 指定 数据库的名称。例如,idmrptdbSIEM

    • 数据库类型: 从下拉列表中选择数据库类型。

    • 仅更新视图: 仅当您在更新视图时发生了错误,才应选择此选项。如果选择此选项,数据同步实用程序会更新视图,但不会在 Sentinel 中创建数据同步策略。

    • 分区表: 分割表可提高总体查询性能和表管理功能。数据库会将从 Sentinel 接收到的事件按日储存在单独的分区中。建议您将此设置保留不变。

    • PostgreSQL 安装位置: 指定 PostgreSQL 的安装位置。例如,/opt/netiq/idm/apps/postgres/

    • 高级: 如果使用的是高级模式,则可编辑以下参数:

      分区 SQL:此参数包含用于分割表的 SQL 脚本。该脚本针对选定数据库。

  4. 日志选项卡中指定日志文件的名称。

    日志文件与您的数据同步实用程序位于同一位置。

重要说明:创建数据同步策略后,修改过滤器,以确保 Sentinel 接收来自指定 Identity Manager 收集器的事件。有关详细信息,请参见过滤数据同步策略

过滤数据同步策略

为确保 Sentinel 接收来自指定 Identity Manager 收集器的事件,您可以修改数据同步策略的过滤器。

  1. 以管理员身份登录 Sentinel 主界面。

  2. 单击储存 > 数据同步

  3. 单击编辑以配置数据同步策略。

  4. 编辑所需的信息:

    准则: 指定有效的 Lucene 查询。

    下面的查询是仅接收来自 Identity Manager 组件的事件的准则示例:

    (port:"NetIQ Identity Manager" OR port:"NetIQ Self Service Password Reset" OR port:"NetIQ eDirectory" OR port:"NetIQ NMAS" OR port:"NetIQ iManager" OR port:"NetIQ OneSSO") AND (sev:[0 TO 5]) AND NOT (evt:"Collector Internal Message" OR evt:"Starting" OR evt:"Started" OR evt:"Stopping" OR evt:"Stopped" OR evt:"CombinedRealTimeSummariesStatus" OR evt:"EnginePerformanceSummary" OR evt:"EventThroughputUtilization" OR evt:"LostConnection")

    策略名称: 指定数据同步策略的名称。

    保留期: 指定事件在 Reporting 数据库的 sentinel_events 表中的保存期限。

    Batch Size: 指定在一批中可发送到外部数据库的事件数。

    休眠期: 指定一段时间,经过此时间之后,数据同步进程会检查有无更多要处理的事件。

    日程安排: 选择用于将数据同步到外部数据库的相应选项。

    • 所有时间: 如果选择此选项,则任何事件一经修改便会立即同步到外部数据库。

    • 自定义: 此选项可让您配置同步数据的特定时间间隔。

      如果选择自定义,请提供以下信息以设置自定义同步时间:

      • 周中此日: 选择所需的星期日期,或者选择每天

      • 开始时间: 指定应该开始数据同步过程的时间。

      • 持续时间: 指定同步时间段(以分钟为单位)。

    如果您在数据库表中没有立即看到数据,则需要等待下一个同步周期。

55.6.3 升级 Identity Reporting

升级 Identity Reporting 前必须先升级 Identity Applications 和 Sentinel。要升级 Identity Reporting 4.0.2 或更高版本,请安装新版本并覆盖旧版本。有关详细信息,请参见安装 Identity Reporting

55.6.4 更改对数据库中的 reportRunner 的参照

升级 Identity Reporting 后,请务必在第一次启动 Tomcat 之前更新对数据库中 reportRunner 的参照。

  1. 停止 Tomcat。

  2. 导航到 Identity Reporting 安装目录,并将 reportContent 文件夹重命名为 ORG-reportContent

    例如:/opt/netiq/idm/apps/IdentityReporting

  3. 清理 Tomcat 文件夹下的临时目录和工作目录。

  4. 登录 PostgreSQL 数据库。

    1. 在下面的表中找到 reportRunner 参照:

      • idm_rpt_cfg.idmrpt_rpt_params

      • idm_rpt_cfg.idmrpt_definition

    2. 发出以下 delete 语句:

      DELETE FROM idm_rpt_cfg.idmrpt_rpt_params WHERE rpt_def_id='com.novell.content.reportRunner';
      DELETE FROM idm_rpt_cfg.idmrpt_definition WHERE def_id='com.novell.content.reportRunner';
  5. 启动 Tomcat。

    检查日志以确定使用正确的 reportRunner 是否可重新生成报告。

  6. 登录 Identity Reporting 并运行报告。

55.6.5 校验 Identity Reporting 的升级

  1. 起动 Identity Reporting。

  2. 校验工具中是否显示了旧报告和新报告。

  3. 查看日历以确定是否显示了安排的报告。

  4. 确保设置页面显示了受管和非受管应用程序的先前设置。

  5. 校验所有其他设置是否正确。

  6. 校验应用程序是否列出已完成的报告。