Hello, I need to create a correlation rule based on two attributes.
The first attribute is employeeNumber, which exists both as an Identity attribute in ISC and in my Web Services connector.
The second attribute is department, which is also an Identity attribute in ISC, but in my case it should match a static value: "Ohio". This department attribute does not exist in the target source; it exists only in ISC.
I was wondering how this should be handled in a Cloud Correlation Rule.
No, you canât correlate an account if the attribute doesnât exist on the source.
And if you are matching on employeeNumber then you donât need a 2nd value, especially if that is going to be static and not unique
For this specific Web Service source, I want to restrict correlation only to identities that belong to the Ohio department. Itâs a very specific use case: unfortunately, the employeeNumber is not unique here (Iâm aware it normally should be, but this situation is quite unusual).
Add An Identity Attribute called for example : webserviceCorrelationKey and concatenating : employeeNumber|departement with transforms for this Identity attribute.
This will take time before (1 to 15 min max) but once applied you should see the identity attribute in the list of correlation configuration page. (you can add max 5 searchable attributes I think)
Then in your correlation rule you can use the following logic :
About the rule the documentation mention : âThis rule associates or correlates an account to an identity, based on complex logic. The rule runs before configured account correlation including the default account correlation.â
Default account correlation cannot be removed and will always be evaluated after the rule
And if you would not like to add additional Identity attribute you can implement all logic in the rule directly : retrieve the account employeeNumber, search an exisiting Identity, and verify if the department is Ohio.
The general idea of the rule : ISC iterate to every account and called rule and wait in result the reference of Identity for whom the account shoud be associated :
Using the Web Services AOR for the aggregation operation, you could modify and add the âdepartmentâ attribute for each account to include the value you need. This would require you to code the logic to determine which accounts should receive the value for department.
Then, the source correlation configuration can be set up to handle the use case for the department and employeeNumber attributes.
The Correlation Rule has access to the idnRuleUtil model, so you need some logic to define your identityAttributeValue as the ID of the matching identity and as something that will not correlate for non-Ohio identities.
ie (pseudo-code):
if (exists (identity where employeeNumber = link.getAttribute(employeeNumber) and department=''Ohio"))
then myID = get Identity ID
else myID = "XXXXXXX"
returnMap.put("identityAttributeName", "id");
returnMap.put("identityAttributeValue", "myID");