安裝 Identity Reporting 後,您仍可以修改許多安裝內容。若要進行變更,請執行組態更新公用程式 (configupdate.sh) 檔案。
如果使用組態工具變更了 Identity Reporting 的任何設定,您必須重新啟動 Tomcat 才能使變更生效。但是,在 Identity Reporting 的 Web 使用者介面中進行變更後,不需要新啟動伺服器。
安裝程式將為 Identity Reporting 建立並設定資料收集服務驅動程式和受管理系統閘道驅動程式。
設定受管理系統閘道驅動程式後,NetIQ 建議您將 KMO 修改為 SSL EC 證書 DNS。若要修改 KMO,請執行以下步驟:
登入 Identity Console。
在 IDM 管理中,按一下包含受管理系統閘道驅動程式的驅動程式集。
按一下受管理系統閘道驅動程式圖示並移至驅動程式組態。
在組態索引標籤中,按一下驅動程式參數下拉式功能表並執行以下步驟:
從顯示連接參數欄位中選取顯示。
在 KMO 名稱欄位中,將值從 SSL CertificateDNS 變更為 SSL EC 證書 DNS。
按一下套用,然後按一下確定。
登入 Identity Reporting 應用程式。
按一下資料來源。
按一下新增。
在新增資料來源對話方塊中,按一下從預定義清單中選取選項圓鈕。
選取 IDMDCSDataSource。
按一下儲存。
Identity Reporting 可讓您針對遠端 Oracle 資料庫執行報告。確定執行 Oracle 資料庫的伺服器上存在 ojbc8.jar 檔案。
若要在安裝後手動產生資料庫綱要,請對您的資料庫執行下列程序之一:
使用位於 /opt/netiq/idm/apps/IDMReporting/sql/ 中的 create_dcs_roles_and_schemas.sql 和 create_rpt_roles_and_schemas.sql SQL,將所需的角色新增至資料庫。
以 postgres 使用者身分登入 PGAdmin。
執行查詢工具。
若要建立 Create_rpt_roles_and_schemas 和 Create_dcs_roles_and_schemas 程序,請將這些 SQL 中的內容複製到查詢工具,然後對連接的資料庫執行指令。
若要建立 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');將 /opt/netiq/idm/apps/IDMReporting/sql/ 中 get_formatted_user_dn.sql 的內容複製到查詢工具,然後對連接的資料庫執行這些指令。
附註:如果針對資料庫綱要建立選項選取檔案,則必須手動新增 get_formatted_user_dn.sql 函數。如果針對資料庫綱要建立選項選取現在或啟動,安裝程式會將此函數新增至資料庫。
以資料庫管理員 (sysdba) 使用者身分登入 SQL Developer。
建立 Create_rpt_roles_and_schemas,為此,請將以下 SQL 的內容複製到 SQL Developer,並針對連接的資料庫執行這些代碼:
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;
/以系統使用者的身分登入 SQL Developer,然後建立 Create_dcs_roles 和綱要,為此,請將以下 SQL 的內容複製到 SQL Developer,並針對連接的資料庫執行這些代碼:
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;
/若要建立 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;
指定以下許可權:
GRANT CREATE PUBLIC SYNONYM to IDM_RPT_CFG;
將 /opt/netiq/idm/apps/IDMReporting/sql/ 中 get_formatted_user_dn-oracle.sql 的內容複製到 SQL Developer,然後對連接的資料庫執行這些指令。
附註:如果針對資料庫綱要建立選項選取檔案,則必須手動將 get_formatted_user_dn-oracle.sql 函數新增至資料庫。如果針對資料庫綱要建立選項選取現在或啟動,安裝程式會將此函數新增至資料庫。
執行 delete_create_dcs_roles_and_schemas-mssql.sql 和 delete_get_formatted_user_dn-mssql.sql。
使用 /opt/netiq/idm/apps/IDMReporting/sql/ 中的 create_dcs_roles_and_schemas.mssql 和 create_rpt_roles_and_schemas.mssql,將所需的角色新增至資料庫。
以資料庫管理員使用者身分登入 SQL Developer。
若要建立 Create_rpt_roles_and_schemas 和 Create_dcs_roles_and_schemas 程序,請將 create_dcs_roles_and_schemas.mssql 和 create_rpt_roles_and_schemas.mssql 中的內容複製到 SQL Developer,然後對連接的資料庫執行這些指令。
若要建立 IDM_RPT_DATA、IDM_RPT_CFG 和 IDMRPTUSER 角色,請依給定順序執行以下指令:
execute CREATE_DCS_ROLES_AND_SCHEMAS '<設定 IDM_RPT_DATA 的密碼>', '<設定 IDMRPTUSER 的密碼>'
execute CREATE_RPT_ROLES_AND_SCHEMAS \'<Set pwd for IDM_RPT_CFG>\'
將 /opt/netiq/idm/apps/IDMReporting/sql/ 中 get_formatted_user_dn.sql 的內容複製到 SQL Developer,然後對連接的資料庫執行這些指令。
在 /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
清除資料庫檢查總數
若要使用每個 .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
以相應的使用者身分執行每個 .sql。
將變更提交到資料庫。
在 Identity Manager 的先前版本中,因為存在字元數限制,長資料欄位無法與 Identity Reporting 伺服器進行資料同步。Identity Manager 4.9 提供了一個選項,可提高 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.9 中已自動為上表所述的所有欄位提高了字元數限制。
對於 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 中唯一編製索引的欄。
Identity Reporting 在報告功能中整合了多個用於啟用不同特性的 REST API。這些 REST API 使用 OAuth2 通訊協定進行驗證。
在 Tomcat 上,系統會在安裝 Identity Reporting 時自動部署 rptdoc war 和 dcsdoc war。
如果您的 PostgreSQL 資料庫安裝在其他伺服器上,則需要在該遠端資料庫的 postgresql.conf 和 pg_hba.conf 檔案中變更預設設定。
在 postgresql.conf 檔案中變更監聽位址。
依預設,PostgreSQL 允許監聽 localhost 連接,不允許遠端 TCP/IP 連接。若要允許遠端 TCP/IP 連接,請將下面的項目新增至 /opt/netiq/idm/postgres/data/postgresql.conf 檔案中:
listen_addresses = '*'
如果伺服器上有多個介面,可以指定要監聽的特定介面。
將用戶端驗證項目新增至 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]
測試遠端連接。
重新啟動遠端 PostgreSQL 伺服器。
使用使用者名稱和密碼從遠端登入伺服器。
導覽至 OSP 的安裝位置,並編輯 configupdate.sh.properties 檔案中的以下項目:
app_versions="ua#<version>,rpt#<version>" sso_apps=ua,rpt
範例:
app_versions="ua#4.9.0,rpt#7.2.0" sso_apps=ua,rpt
啟動 configupdate,在以下欄位中更新 Identity Reporting 的用戶端詳細資料:
報告用戶端
資料收集服務
DCS 驅動程式
重新啟動 OSP 的 tomcat。
如果在安裝期間針對「建立 Identity Reporting 的綱要」選取了啟動或檔案,請務必執行以下操作:
登入 Identity Reporting。
從 Identity Reporting 儲存庫中刪除現有資料來源和報告定義。
新增新的 Identity Manager 資料收集服務資料來源。
另外,請在啟動一次 Tomcat 後再重新啟動一次,以確定可用資料庫正常執行。