Refreshing Changed Identities Only (Delta Identity Refresh)

A "delta" identity refresh lets you update only those Identity Cubes that have changed since your last aggregation(s), rather than updating all identities. This can result in a significant reduction in refresh time, and can remove or reduce the need to partition your identities into subsets for efficient refresh processing.

In most cases, identities which have had no changes to their attributes or accounts ("link" objects) as a result of aggregations are not likely to have new policy violations or need new workflows launched to handle state changes. These identities can therefore be skipped or not processed by the Identity Refresh task. In contrast, identities that have undergone some kind of change, referred to as some kind of "delta," should be processed by the Identity Refresh task.

IdentityIQ lets you set up your tasks to refresh only the changed or delta identities; this is a two-step process:

  1. Configure and run an aggregation task to mark identities as changed when attribute or account data on the identities has been modified.

  2. Configure and run an Identity Refresh task to perform their functions only on the marked identities.

Marking Identities as Changed

During an aggregation, details of some identities are changed, while some others may not be. IdentityIQ's aggregation tasks include a setting that lets the task flag any identities updated by the aggregation as needing a refresh. This lets you single out only updated identities for a refresh when the Refresh Identity Cube task is run. The default behavior of aggregation task is to set this flag; if you don't want an aggregation task to flag identities that need a refresh, you can turn this option off.

During the aggregation task, IdentityIQ marks the identities that have changed by setting the attribute needsRefresh to true on the changed identities as they are updated. This is a default operation performed in all aggregation tasks, although it can be turned off with an option on each of the aggregation tasks if desired.

This needsRefresh flag can then be used by the Identity Refresh tasks to target only those identities with accounts that were modified in a recent aggregation. The refresh tasks can then reset that flag to false when they are done with the identities so that subsequent aggregations can set the flag anew, and subsequent refresh cycles will again only pick up changed identities.

If you want to use this delta identity refresh feature, you should carefully consider which attributes you choose to aggregate from your applications into IdentityIQ. Aggregating attributes such as last login date, for example, would likely cause IdentityIQ to reflect changes to identities more frequently than choosing to aggregate only more static data fields, and would therefore flag more identities for delta refresh.

Note that aggregation is the only process which automatically sets this needsRefresh flag on identities. If other processes (such as Lifecycle Manager requests) make attribute or account changes to an identity which would affect identity refresh functionality, a full refresh that does not rely on this flag would be required to process those other identities' changes. Alternatively, the Lifecycle Manager workflows also include an optional targeted identity refresh step which could refresh the single changed identity immediately, and could be configured either to clear or not clear that identity's current needsRefresh flag value at that time.

To set up an aggregation task that will mark identities that have changed:

  1. Click Setup > Tasks.

  2. Choose the aggregation task to edit.

  3. Uncheck the Disable marking the identity as needing a refresh option.

  4. Save the task.

Refreshing Only Identities Marked As Changed

In the Refresh Identity Cube task (or other refresh tasks), select the option to Refresh only identities marked as needing refresh during aggregation. It is important to note that this operation is disabled by default; that is, default behavior for Identity Refresh tasks is to ignore the needsRefresh flag that was set by the aggregation task. If you want to use the delta identity refresh feature, you have to explicitly set this option in your refresh task(s):

  1. Click Setup > Tasks.

  2. Choose the refresh task to edit.

  3. Check the Refresh only identities marked as needing refresh during aggregation option.

  4. Save the task.

When the refresh task runs, it resets the needsRefresh flag to false for every identity it processes. This way, IdentityIQ knows that the identity has been refreshed already and so will not refresh it again until the next aggregation. However, you can change this behavior if you want. Depending on how you run refresh tasks, you may or may not want to reset this flag.

For example, if you aggregate and refresh infrequently, it can be a good practice to have the refresh task clear the needsRefresh tag, to avoid needlessly repeating refreshes on an identity that has just been refreshed. However, if you segment the refresh task to, for example, split out the refreshing of entitlements, attributes, and policies, you would not want to clear the needsRefresh tag. Leaving the needsRefresh tag in place as you iterate through all the refresh segments lets you avoid a situation where an identity is updated only for one segment of the full refresh process, rather than all segments that might apply.

To configure the refresh task so that it does not clear the needsRefresh flag from an Identity Cube when it runs:

  1. Click Setup > Tasks.

  2. Choose the refresh task to edit.

  3. Check the Do not reset the needing refresh marker after refresh option.

  4. Save the task.

Best Practices for Delta Identity Refresh

Delta identity refresh offers flexibility for managing the important identity refresh functions more efficiently. Here are some recommended best practices for using this functionality.