Aggregating an IdentityNow Source can be achieved in a number of ways, but when you are in a development environment there will be times where you need to add additional attributes for a Source to load. If the additional attribute(s) is/are used for Correlation, it’s at this time you will need to perform a full aggregation from a Source to re-evaluate each object with the new Correlation rules and to bring in the additional attributes for each identity on the Source.
The LoadAccounts API briefly mentions this in this SailPoint IdentityNow Compass document. It also details the option that needs to be disabled disableOptimization so that each identity is imported and re-evaluated.
This post details how to call the LoadAccounts API using PowerShell and disable optimization.
The LoadAccounts API is a Private API that has a different authentication process that the v2 and v3. In this post I detail accessing the v1 Private API’s using PowerShell. That post gives some more detail around the v1 Private API’s.
The following script will aggregate a SailPoint IdentityNow Source disabling optimisation.
- Line 2 with your API ClientID
- Line 4 with your API Client Secret
- Line 8 with your IdentityNow Org Name
- Line 10 with your IdentityNow Admin Account Name
- Line 11 with your IdentityNow Admin Account Password
- Line 25 with the SourceID (5 digit number) for the Source to Aggregate
Line 29 contains the Web Request Post Body “disableOptimization=true” that disables optimisation for the aggregation. If you just require an aggregation of a source omit the body.
Executing the script with valid credentials and a Source will result in the aggregate variable returning a summary for the trigger of the aggregation. You will notice in the attributes that optimizedAggregation is disabled.
This is also reflected in the Aggregation Summary from the Portal when completed.
Using the above script it is possible to quickly perform a full aggregation and re-evaluation of correlation rules for an IdentityNow Source.