JDBC as Authoritative Source with Delta Aggregation Mode Enabled in Sailpoint
This document explains how to onboard JDBC as an Authoritative with Delta Aggregation
In this example I am using Oracle MySQL as database server
- Create HR Source database, source table, delta table, triggers
- Create new database
create database hrdatabase;
use hrdatabase;
- Create hrsource table
create table hrsource (
employeeNumber varchar(255),
firstName varchar(255),
lastName varchar(255),
userType varchar(255),
personalEmail varchar(255),
department varchar(255),
city varchar(255),
manager varchar(255),
status varchar(255),
PRIMARY KEY (employeeNumber)
);
Insert few records( for testing full aggregation )
insert into hrsource values('1001','Ravi','Kumar','E','ravikumar@gmail.com','Development','Bangalore','','A');
insert into hrsource values('1002','Jayanth','G','E','jayanth.g@gmail.com','Quality','Mysore','1001','A');
- Create delta table
CREATE TABLE HRSOURCE_DELTA (employeeNumber VARCHAR(255), ACTION VARCHAR(20));
- Create triggers for insert and update
For Insert Operation
DELIMITER #
create trigger hrsource_delta_insert_trigger after insert on hrdatabase.hrsource for each row BEGIN INSERT INTO hrdatabase.HRSOURCE_DELTA SET action = 'Insert',employeeNumber = NEW.employeeNumber;
END #
For Update Operation
DELIMITER #
create trigger hrsource_delta_update_trigger after update on hrdatabase.hrsource for each row BEGIN INSERT INTO hrdatabase.HRSOURCE_DELTA SET action = 'Update',employeeNumber = NEW.employeeNumber;
END #
- Onboard JDBC Connector App
- Onboard new Application with name ‘HR Source’ type as ‘JDBC’ and check ‘Authoritative Application’
- Update Connection configuration settings
Configuration -> Settings -> Object Type: Account
Update username, password and database URL, SQL Statement
- Configure Delta Aggregation
- Update Schema
Use discover schema to populate schema and update identity and display attributes
- Set Account and Manager Correlation
I already created Identity attributes in Identity Mappings
Save the Application Configuration and reopen the application to update correlation
Account correlation
Manager correlation
- Update Identity Attribute mapping
Global Settings -> Identity Mappings
- Create Aggregation Task
Create new Aggregation Task
Setup -> Tasks -> Account Aggregation
With default options
Save and Execute the task
2 Users created
Run Refresh Identity Cube for Manager and other attributes to update in Identity Cube
- Update/Insert new records into hrsource table and Run reaggregation with delta aggregation mode
Insert 2 new records
insert into hrsource values('1003','Raman','Rao','C','raman.rao@gmail.com','Management','Bijapur','1001','T');
insert into hrsource values('1004','Shiva Kumar','Bellubbi','C','shivakumar.bellubbi@gmail.com','Development','Bijapur','1001','A');
Update existing record
update hrsource set city = 'Doddaballapur' where employeeNumber = '1001';
- Enable Delta aggregation in the Aggregation task(Account Aggregation - HR Source)
Save and Execute the Aggregation task
Data in hrsource_delta will be truncated after running aggregation task
Hi Ravi Kumar,
ReplyDeleteThis is helpful. After running the aggregation task there is no update in the task result. "Applications scanned : HR Source" is the only result showing. In the logs I found the warning saying "sailpoint.api.Aggregator:5882 - Delta aggregation was enabled for HR Source; skipping deleted account pruning". hrsource_delta is still holding the data. Kindly suggest.
This was very informative. Can you please provide your email address. I want to learn some more.
ReplyDeleteHi, Thanks for the information. Can you tell me how the delta aggregation works here? Both the HR_Source and HR_Delta will have the same no. of employee records right?
ReplyDeleteVery good and clear explanation. Thanks for creating this.
ReplyDelete