6.8 Identity Reportingの設定

Identity Reportingのインストール後でも、さまざまなインストールプロパティを変更できます。変更するには、設定更新ユーティリティ(configupdate.sh)ファイルを実行します。

環境設定ツールでIdentity Reportingの設定を変更した場合、変更を反映するにはTomcatを再起動する必要があります。ただし、Identity ReportingのWebユーザインタフェースで変更を加えた場合は、サーバの再起動は必要ありません。

6.8.1 管理対象システムのゲートウェイドライバの設定

インストーラは、Identity Reporting用のデータ収集サービス用ドライバおよびManaged System Gateway Driverを作成して設定します。

Managed System Gateway Driverが設定されたら、KMOをSSL EC Certificate DNS (SSL EC証明書DNS)に変更することをお勧めします。KMOを変更するには、次の手順を実行します。

  1. OpenText Identity Consoleにログインします。

  2. IDM Administration (IDM管理)から、Managed System Gateway Driverが含まれるドライバセットをクリックします。

  3. Managed System Gateway Driverアイコンをクリックして、ドライバ環境設定に移動します。

  4. 環境設定タブで、ドライバパラメータドロップダウンをクリックして、次の手順を実行します。

    1. Show connection parameters (接続パラメータの表示)フィールドからshow (表示)を選択します。

    2. KMO Name (KMO名)フィールドで、値をSSL CertificateDNS (SSL証明書DNS)からSSL EC Certificate DNS (SSL EC証明書DNS)に変更します。

    3. 適用をクリックし、OKをクリックします。

6.8.2 [Identity Data Collection Services (アイデンティティデータ収集サービス)]ページへのデータソースの手動追加

  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/にあるSQL、create_dcs_roles_and_schemas.sqlおよびcreate_rpt_roles_and_schemas.sqlを使用して、データベースに必要な役割を追加します。

  2. postgresユーザとしてPGAdminにログインします。

  3. クエリツールを実行します。

  4. Create_rpt_roles_and_schemasおよびCreate_dcs_roles_and_schemasプロシージャを作成するには、これらのSQLからクエリツールにコンテンツをコピーして、接続されているデータベースに対して実行します。

  5. IDM_RPT_DATA、IDM_RPT_CFG、およびIDMRPTUSER役割を作成するには、次のコマンドを指定された順序で実行します。

    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_DATA、IDMRPTUSER、およびIDM_RPT_CFGのパスワードが、それぞれpassword、password1、およびpassword2の場合、以下のコマンドを実行する必要があります。

    Select CREATE_DCS_ROLES_AND_SCHEMAS('password', 'password1');
    Select CREATE_RPT_ROLES_AND_SCHEMAS('password2');
  6. get_formatted_user_dn.sqlのコンテンツを/opt/netiq/idm/apps/IDMReporting/sql/からクエリツールにコピーし、接続されたデータベースに対して実行します。

    メモ:データベーススキーマ作成オプションとしてFileを選択した場合、get_formatted_user_dn.sql関数を手動で追加する必要があります。データベーススキーマ作成オプションとしてNowまたはStartupを選択した場合、インストーラはこの関数をデータベースに追加します。

Oracleデータベースに対するCreate_rpt_roles_and_schemas.sqlスキーマの設定

  1. データベース管理者(sysdba)ユーザとしてSQL Developerにログインします。

  2. 以下のSQLの内容をSQL Developerにコピーし、接続されたデータベースに対して実行することで、Create_rpt_roles_and_schemasを作成します。

    alter session set "_ORACLE_SCRIPT"=true;
     
    CREATE OR REPLACE PROCEDURE create_rpt_roles_and_schemas(
       idm_rpt_cfg_password character varying)
    AUTHID CURRENT_USER
    AS
       cnt number;
    BEGIN
       /* Create user IDM_RPT_CFG if it does not exist */
       select count(*) into cnt from ALL_USERS WHERE USERNAME = 'IDM_RPT_CFG'; 
       IF cnt = 0 THEN
           execute immediate 'CREATE USER idm_rpt_cfg IDENTIFIED BY ' || idm_rpt_cfg_password;
           DBMS_OUTPUT.put_line('Created user idm_rpt_cfg');
       END IF;
     
       /* Grant rights to the idm_rpt_cfg user */
       execute immediate 'GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, UNLIMITED TABLESPACE to idm_rpt_cfg';
       DBMS_OUTPUT.put_line('Granted rights to user idm_rpt_cfg');
       execute immediate 'alter session set "_ORACLE_SCRIPT"=true';
       execute immediate 'alter session set "_ORACLE_SCRIPT"=false';
    END;
    /
    exec CREATE_RPT_ROLES_AND_SCHEMAS('Novell123');
    /
    alter session set "_ORACLE_SCRIPT"=false;
    /
  3. SystemユーザとしてSQL Developerにログインし、以下のSQLの内容をSQL Developerにコピーし、接続されたデータベースに対して実行することで、Create_dcs_rolesとschemasを作成します。

    alter session set "_ORACLE_SCRIPT"=true;
     
    CREATE OR REPLACE PROCEDURE create_dcs_roles_and_schemas(
       idm_rpt_data_password character varying,
       idmrptuser_password character varying)
    AUTHID CURRENT_USER
    AS
       cnt number;
    BEGIN
    /* Create user IDM_RPT_DATA if it does not exist already */
       select count(*) into cnt from ALL_USERS WHERE USERNAME = 'IDM_RPT_DATA'; 
       IF cnt = 0 THEN
           execute immediate 'CREATE USER idm_rpt_data IDENTIFIED BY ' || idm_rpt_data_password;
           DBMS_OUTPUT.put_line('Created user idm_rpt_data');
       END IF;
       
       /* Grant rights to the idm_rpt_data user */
       execute immediate 'GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, UNLIMITED TABLESPACE to idm_rpt_data';
       execute immediate 'GRANT CREATE PUBLIC SYNONYM to IDM_RPT_DATA';
       execute immediate 'GRANT SELECT ON DBA_SEGMENTS TO IDM_RPT_DATA';
       DBMS_OUTPUT.put_line('Granted rights to user idm_rpt_data');
       /* Create user IDMRPTUSER if it does not exist */
       select count(*) into cnt from ALL_USERS WHERE USERNAME = 'IDMRPTUSER'; 
       IF cnt = 0 THEN
           execute immediate 'CREATE USER idmrptuser IDENTIFIED BY ' || idmrptuser_password;
           DBMS_OUTPUT.put_line('Created user idmrptuser');
       END IF;
       
       /* Grant rights to the idmrptuser user */
       execute immediate 'GRANT CREATE SESSION to idmrptuser';
       execute immediate 'GRANT SELECT ON sys.all_tables TO idmrptuser';
       DBMS_OUTPUT.put_line('Granted rights to user idmrptuser');
    END;
    /
  4. IDM_RPT_CFG役割を作成するには、次のコマンドを実行します。

    begin
    CREATE_RPT_ROLES_AND_SCHEMAS('<Set pwd for IDM_RPT_CFG>');
    end; 
     

    たとえば、IDM_RPT_CFGのパスワードがpasswordである場合は、次のコマンドを実行する必要があります。

    begin
    CREATE_RPT_ROLES_AND_SCHEMAS('password');
    end; 
     
  5. 次の許可を割り当てます。

    GRANT CREATE PUBLIC SYNONYM to IDM_RPT_CFG;

  6. get_formatted_user_dn-oracle.sqlのコンテンツを/opt/netiq/idm/apps/IDMReporting/sql/からSQL Developerにコピーし、接続されたデータベースに対して実行します。

    メモ:データベーススキーマ作成オプションとしてFileを選択した場合、get_formatted_user_dn-oracle.sql関数を手動でデータベースに追加する必要があります。データベーススキーマ作成オプションとしてNowまたはStartupを選択した場合、インストーラはこの関数をデータベースに追加します。

MS SQLデータベースに対するCreate_rpt_roles_and_schemas.sqlスキーマの設定

  1. delete_create_dcs_roles_and_schemas-mssql.sqlおよびdelete_get_formatted_user_dn-mssql.sqlを実行します。

  2. /opt/netiq/idm/apps/IDMReporting/sql/からcreate_dcs_roles_and_schemas.mssqlおよびcreate_rpt_roles_and_schemas.mssqlを使用して、データベースに必要な役割を追加します。

  3. データベース管理者ユーザとしてSQL Developerにログインします。

  4. Create_rpt_roles_and_schemasおよびCreate_dcs_roles_and_schemasプロシージャを作成するには、コンテンツをcreate_dcs_roles_and_schemas.mssqlおよびcreate_rpt_roles_and_schemas.mssqlからSQL Developerにコピーし、接続されたデータベースに対して実行します。

  5. IDM_RPT_DATA、IDM_RPT_CFG、およびIDMRPTUSER役割を作成するには、次のコマンドを指定された順序で実行します。

    execute CREATE_DCS_ROLES_AND_SCHEMAS '<Set pwd for IDM_RPT_DATA>', '<Set pwd for IDMRPTUSER>'

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

  6. get_formatted_user_dn.sqlのコンテンツを/opt/netiq/idm/apps/IDMReporting/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. データベースに変更をコミットします。

(オプション)カラムのデータサイズを増やす

以前のバージョンのOpenText Identity Managerでは、文字制限により、長いデータフィールドでIdentity Reportingサーバとデータを同期できませんでした。OpenText Identity Manager 4.10では、次のテーブルおよびその各カラムに対して、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の場合、OpenText Identity Manager 4.10では、上記のテーブルで示すすべてのフィールドに対して文字制限が自動的に増やされています。

  • 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 warおよびdcsdoc warが自動的に展開されます。

6.8.6 リモートPostgreSQLデータベースへの接続

PostgreSQLデータベースが別のサーバにインストールされている場合は、リモートデータベースのpostgresql.confおよびpg_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ファイルは、次のクライアント認証形式をサポートしています。

    • ローカルデータベースユーザ認証方法[認証オプション]

    • ホストデータベースユーザCIDRアドレス認証方法[認証オプション]

    • hostsslデータベースユーザCIDRアドレス認証方法[認証オプション]

    • hostnosslデータベースユーザCIDRアドレス認証方法[認証オプション]

    CIDRアドレス形式の代わりに、次の形式を使用して別のフィールドにIPアドレスとネットワークマスクを指定できます。

    • ホストデータベースユーザIPアドレスIPマスク認証方法[認証オプション]

    • hostsslデータベースユーザIPアドレスIPマスク認証方法[認証オプション]

    • hostnosslデータベースユーザIPアドレスIPマスク認証方法[認証オプション]

  3. リモート接続をテストします。

    1. リモートPostgreSQLサーバを再起動します。

    2. ユーザ名とパスワードを使用してリモートでサーバにログインします。

6.8.7 分散型セットアップでのIdentity Reporting用OSPへのクライアントの登録

  1. OSPをインストールした場所に移動し、configupdate.sh.propertiesファイルの次のエントリを編集します。

    app_versions="ua#<version>,rpt#<version>"
    sso_apps=ua,rpt
    

    例:

    app_versions="ua#4.10.0,rpt#7.4.0" sso_apps=ua,rpt
  2. configupdateを起動し、次のフィールドでIdentity Reportingのクライアントの詳細を更新します。

    • Reporting client (Reportingクライアント)

    • データ収集サービス

    • DCS Driver (DCSドライバ)

  3. OSPのTomcatを再起動します。

6.8.8 Identity Reportingのインストール後の手順

インストール時に、[Create Schema for Identity Reporting (Identity Reporting用のスキーマの作成)]でStartupまたはFileを選択した場合、次の手順を実行してください。

  1. Identity Reportingにログインします。

  2. Identity Reportingリポジトリから既存のデータソースとレポート定義を削除します。

  3. 新しいOpenText Identity Managerデータ収集サービスデータソースを追加します。

また、利用可能なデータベースが正しく実行されるように、Tomcatを一度起動した後に再起動してください。