6.8 配置 Identity Reporting

安装 Identity Reporting 后,您仍可以修改许多安装属性。要进行更改,请运行配置更新实用程序 (configupdate.sh) 文件。

如果使用配置工具更改了 Identity Reporting 的任何设置,您必须重启动 Tomcat 才能使更改生效。但是,在 Identity Reporting 的 Web 用户界面中进行更改后,则不需要重启动服务器。

6.8.1 配置受管系统网关驱动程序

安装程序将为 Identity Reporting 创建并配置数据收集服务驱动程序和受管系统网关驱动程序。

配置受管系统网关驱动程序后,NetIQ 建议您将 KMO 修改为 SSL EC 证书 DNS。要修改 KMO,请执行以下步骤:

  1. 登录到 iManager。

  2. 单击 Identity Manager 管理 > Identity Manager 概述

  3. 浏览并选择驱动程序集对象,然后单击搜索

  4. 在受管系统网关驱动程序图标的右上角,单击编辑属性

  5. 驱动程序配置选项卡中执行以下步骤:

    1. 显示连接参数字段中选择显示

    2. KMO 名称字段中,将值从 SSL CertificateDNS 更改为 SSL EC 证书 DNS

    3. 依次单击应用确定

6.8.2 在“身份数据收集服务”页面中手动添加数据源

  1. 登录 Identity Reporting 应用程序。

  2. 单击数据源

  3. 单击添加

  4. 添加数据源对话框中,单击从预定义列表中选择单选按钮。

  5. 选择 IDMDCSDataSource

  6. 单击保存

6.8.3 对 Oracle 数据库运行报告

Identity Reporting 可让您针对远程 Oracle 数据库运行报告。确保运行 Oracle 数据库的服务器上存在 ojbc8.jar 文件。

6.8.4 手动生成数据库纲要

要在安装后手动生成数据库纲要,请对您的数据库执行下列过程之一:

针对 PostgreSQL 数据库配置 Create_rpt_roles_and_schemas.sql 纲要

  1. 使用位于 /opt/netiq/idm/apps/IDMReporting/sql/ 中的 create_dcs_roles_and_schemas.sqlcreate_rpt_roles_and_schemas.sql SQL,将所需的角色添加到数据库。

  2. 以 postgres 用户身份登录 PGAdmin。

  3. 运行查询工具。

  4. 要创建 Create_rpt_roles_and_schemasCreate_dcs_roles_and_schemas 过程,请将这些 SQL 中的内容复制到查询工具,然后对连接的数据库执行命令。

  5. 要创建 IDM_RPT_DATAIDM_RPT_CFGIDMRPTUSER 角色,请按给定的顺序执行以下命令:

    Select CREATE_DCS_ROLES_AND_SCHEMAS('<Set pwd for IDM_RPT_DATA>', '<Set pwd for IDMRPTUSER>');
    Select CREATE_RPT_ROLES_AND_SCHEMAS('<Set pwd for IDM_RPT_CFG>');

    例如,如果 IDM_RPT_DATAIDMRPTUSERIDM_RPT_CFG 的口令分别是 passwordpassword1password2,则您必须执行以下命令:

    Select CREATE_DCS_ROLES_AND_SCHEMAS('password', 'password1');
    Select CREATE_RPT_ROLES_AND_SCHEMAS('password2');
  6. /opt/netiq/idm/apps/IDMReporting/sql/get_formatted_user_dn.sql 的内容复制到查询工具,然后对连接的数据库执行这些命令。

    注:如果针对数据库纲要创建选项选择文件,必须手动添加 get_formatted_user_dn.sql 函数。如果针对数据库纲要创建选项选择立即启动,安装程序会将此函数添加到数据库。

针对 Oracle 数据库配置 Create_rpt_roles_and_schemas.sql 纲要

  1. 使用 /opt/netiq/idm/apps/IDMReporting/sql/ 中的 create_dcs_roles_and_schemas-orcale.sqlcreate_rpt_roles_and_schemas-orcale.sql,将所需的角色添加到数据库。

  2. 以数据库管理员 (sysdba) 用户身份登录到 SQL Developer。

  3. 要创建 Create_rpt_roles_and_schemasCreate_dcs_roles_and_schemas 过程,请将这些 SQL 中的内容复制到 SQL Developer,然后对连接的数据库执行命令。

  4. 要创建 IDM_RPT_DATAIDM_RPT_CFGIDMRPTUSER 角色,请按给定的顺序执行以下命令:

    begin
    CREATE_DCS_ROLES_AND_SCHEMAS('<Set pwd for IDM_RPT_DATA>', '<Set pwd for IDMRPTUSER>');
    end;
    
    begin
    CREATE_RPT_ROLES_AND_SCHEMAS('<Set pwd for IDM_RPT_CFG>');
    end; 

    例如,如果 IDM_RPT_DATAIDMRPTUSERIDM_RPT_CFG 的口令分别是 passwordpassword1password2,则您必须执行以下命令:

    begin
    CREATE_DCS_ROLES_AND_SCHEMAS('password', 'password1');
    end;
    
    begin
    CREATE_RPT_ROLES_AND_SCHEMAS('password2');
    end; 
  5. 指派以下许可权限:

    GRANT CREATE PUBLIC SYNONYM to IDM_RPT_CFG;

  6. /opt/netiq/idm/apps/IDMReporting/sql/get_formatted_user_dn-oracle.sql 的内容复制到 SQL Developer,然后对连接的数据库执行这些命令。

    注:如果针对数据库纲要创建选项选择文件,必须手动将 get_formatted_user_dn-oracle.sql 函数添加到数据库。如果针对数据库纲要创建选项选择立即启动,安装程序会将此函数添加到数据库。

针对 MS SQL 数据库配置 Create_rpt_roles_and_schemas.sql 纲要

  1. 执行 delete_create_dcs_roles_and_schemas-mssql.sqldelete_get_formatted_user_dn-mssql.sql

  2. 使用 /opt/netiq/idm/apps/IDMReporting/sql/ 中的 create_dcs_roles_and_schemas.mssqlcreate_rpt_roles_and_schemas.mssql,将所需的角色添加到数据库。

  3. 以数据库管理员用户身份登录 SQL Developer。

  4. 要创建 Create_rpt_roles_and_schemasCreate_dcs_roles_and_schemas 过程,请将 create_dcs_roles_and_schemas.mssqlcreate_rpt_roles_and_schemas.mssql 中的内容复制到 SQL Developer,然后对连接的数据库执行这些命令。

  5. 要创建 IDM_RPT_DATA、IDM_RPT_CFGIDMRPTUSER 角色,请按给定的顺序执行以下命令:

    execute CREATE_DCS_ROLES_AND_SCHEMAS '<设置 IDM_RPT_DATA 的口令>', '<设置 IDMRPTUSER 的口令>'

    execute CREATE_RPT_ROLES_AND_SCHEMAS \'<Set pwd for IDM_RPT_CFG>\'

  6. /opt/netiq/idm/apps/IDMReporting/sql/get_formatted_user_dn.sql 的内容复制到 SQL Developer,然后对连接的数据库执行这些命令。

清除数据库校验和

  1. /opt/netiq/idm/apps/IDMReporting/sql 中找到以下 .sql 文件。

    • DbUpdate-001-run-as-idm_rpt_data.sql

    • DbUpdate-01-run-as-idm_rpt_cfg.sql

    • DbUpdate-02-run-as-idm_rpt_cfg.sql

    • DbUpdate-03-run-as-idm_rpt_data.sql

    • DbUpdate-04-run-as-idm_rpt_data.sql

    • DbUpdate-05-run-as-idm_rpt_data.sql

    • DbUpdate-06-run-as-idm_rpt_cfg.sql

  2. 清除数据库校验和

    1. 要使用每个 .sql 运行 clearchsum 命令,请将下面一行附加到每个文件的开头:

      update DATABASECHANGELOG set MD5SUM = NULL
      go

      修改后的内容应该类似如下:

      -- *********************************************************************
      -- Update Database Script
      -- *********************************************************************
      -- Change Log: IdmDcsDataDropViews.xml
      -- Ran at: 2/23/18 5:17 PM
      -- Against: IDM_RPT_CFG@jdbc:oracle:thin:@192.168.0.1:1521/orcl
      -- Liquibase version: 3.5.1
      -- *********************************************************************
      update databasechangelog set md5sum = null
      go
    2. 以相应的用户身份运行每个 .sql

  3. 将更改提交到数据库。

(可选)增加列数据大小

在 Identity Manager 的先前版本中,因为字符数限制,长数据字段无法与 Identity Reporting 服务器进行数据同步。Identity Manager 4.8 提供了一个选项,可提高 PostgreSQL、Oracle 和 MS SQL 数据库中下列表及其相应列的字符数限制:

表名称

列名称

idm_rpt_data.idmrpt_idv_ent_bindings

ent_param_str

idm_rpt_data.idmrpt_idv_ent_bindings

ent_param_val

idm_rpt_data.idmrpt_idv_identity_trust

idv_ent_ref

idm_rpt_data.idmrpt_idv_identity_trust

trust_params

idm_rpt_data.idmrpt_idv_ent_bindings_hist

ent_param_str

idm_rpt_data.idmrpt_idv_ent_bindings_hist

ent_param_val

idm_rpt_data.idmrpt_idv_identity_trust_hist

idv_ent_ref

idm_rpt_data.idmrpt_idv_identity_trust_hist

trust_params

  • 对于 PostgreSQL,Identity Manager 4.8 中已自动为上表中所述的所有字段提高了字符数限制。

  • 对于 Oracle,您必须从 /opt/netiq/idm/apps/IDMReporting/sql/ 目录运行 alter_column_length-oracle.sql 脚本,以提高上表中所述的所有列的字符数限制。

  • 对于 MS SQL,您必须从 /opt/netiq/idm/apps/IDMReporting/sql/ 目录运行 alter_column_length-mssql.sql 脚本,以仅提高已编入索引的列的字符数限制。在此例中,ENT_PARAM_STR 是表 idmrpt_idv_ent_bindings 中唯一编入索引的列。

6.8.5 部署 Identity Reporting 的 REST API

Identity Reporting 在报告功能中整合了多个用于实现不同功能的 REST API。这些 REST API 使用 OAuth2 协议进行鉴定。

在 Tomcat 上,系统会在安装 Identity Reporting 时自动部署 rptdoc wardcsdoc war

6.8.6 连接远程 Remote PostgreSQL 数据库

如果您的 PostgreSQL 数据库安装在单独的服务器上,则需要在该远程数据库的 postgresql.confpg_hba.conf 文件中更改默认设置。

  1. postgresql.conf 文件中更改侦听地址。

    默认情况下,PostgreSQL 允许侦听 localhost 连接,不允许远程 TCP/IP 连接。要允许远程 TCP/IP 连接,请将下面的条目添加到 /opt/netiq/idm/postgres/data/postgresql.conf 文件中:

    listen_addresses = '*'

    如果服务器上有多个接口,可以指定要侦听的特定接口。

  2. 将客户端鉴定条目添加到 pg_hba.conf 文件中。

    默认情况下,PostgreSQL 只接受来自 localhost 的连接。它会拒绝远程连接。这通过应用访问控制规则来控制,该规则允许用户在提供有效口令(md5 关键字)后从某个 IP 地址登录。要接受远程连接,请将下面的条目添加到 /opt/netiq/idm/postgres/data/pg_hba.conf 文件中。

    host all all 0.0.0.0/0 md5

    例如,192.168.104.24/26 trust

    这仅适用于 IPv4 地址。对于 IPv6 地址,请添加以下条目:

    host all all ::0/0 md5

    如果您要允许来自特定网络上多台客户端计算机的连接,请采用 CIDR 地址格式在此条目中指定网络地址。

    pg_hba.conf 文件支持以下客户端鉴定格式。

    • local database user authentication-method [authentication-option]

    • host database user CIDR-address authentication-method [authentication-option]

    • hostssl database user CIDR-address authentication-method [authentication-option]

    • hostnossl database user CIDR-address authentication-method [authentication-option]

    您可以使用以下格式在单独的字段中指定 IP 地址和网络掩码,而不使用 CIDR 地址格式:

    • host database user IP-address IP-mask authentication-method [authentication-option]

    • hostssl database user IP-address IP-mask authentication-method [authentication-option]

    • hostnossl database user IP-address IP-mask authentication-method [authentication-option]

  3. 测试远程连接。

    1. 重启动远程 PostgreSQL 服务器。

    2. 使用用户名和口令远程登录服务器。